/etc/hosts.allow和/etc/hosts.deny的作用

可以通過配置hosts.allow和hosts.deny來控制訪問權限。

他們兩個的關系為:/etc/hosts.allow?的設定優先于?/etc/hosts.deny

1.?當檔案?/etc/hosts.allow?存在時,則先以此檔案內之設定為準;

2.?而在?/etc/hosts.allow?沒有規定到的事項,將在?/etc/hosts.deny?當中繼續設定!

也就是說,?/etc/hosts.allow?的設定優先于?/etc/hosts.deny?啰!了解了嗎?基本上,只要?hosts.allow?也就夠了,因為我們可以將allow?與?deny?都寫在同一個檔案內,只是這樣一來似乎顯得有點雜亂無章,因此,通常我們都是:

1.?允許進入的寫在?/etc/hosts.allow?當中;

2.?不許進入的則寫在?/etc/hosts.deny?當中。

再強調一次,那個?service_name?『必需』跟你的?xinetd?或者是?/etc/rc.d/init.d/*?里面的程序名稱要相同。好了,我們以telnet?為例子來說明好了,現在假設一個比較安全的流程來設定,就是:

1.?只允許?140.116.44.0/255.255.255.0?與?140.116.79.0/255.255.255.0?這兩個網域,及?140.116.141.99?這個主機可以進入我們的?telnet?服務器;

2.?此外,其它的?IP?全部都擋掉!

這樣則首先可以設定?/etc/hosts.allow?這個檔案成為:

[root?@test?root]#?vi?/etc/hosts.allow

telnetd:?140.116.44.0/255.255.255.0?:?allow

telnetd:?140.116.79.0/255.255.255.0?:?allow

telnetd:?140.116.141.99?:?allow

再來,設定?/etc/hosts.deny?成為『全部都擋掉』的狀態:

[root?@test?root]#?vi?/etc/hosts.deny

telnetd:?ALL?:?deny

那個?ALL?代表『全部』的意思!呵呵!很棒吧!那么有沒有更安全的設定,例如,當當有其它人掃瞄我的?telnet?port?時,我就

將他的?IP?記住!以做為未來的查詢與認證之用!那么你可以將?/etc/hosts.deny?這個檔案改成這個樣子:

[root?@test?root]#?vi?/etc/hosts.deny

telnetd:?ALL?:?spawn?(echo?Security?notice?from?host?`/bin/hostname`;?\

echo;?/usr/sbin/safe_finger?@%h?)?|?\

/bin/mail?-s?"%d-%h?security"?root?&?\

:?twist?(?/bin/echo?-e?"\n\nWARNING?connection?not?allowed.?Your?attempt?has?been?logged.

\n\n\n警告您尚未允許登入,您的聯機將會被紀錄,并且作為以后的參考\n\n?".?)

在上面的例子中『?root?』,可以寫成你的個人賬號或者其它?e-mail?,以免很少以?root?身份登入?Linux?主機時,

容易造成不知道的情況,另外,最后幾行,亦即?:twist?之后的那幾行為同一行。如此一來,當未經允許的計算機嘗試登入你的主機時,對方的屏幕上就會顯示上面的最后一行,并且將他的?IP?寄到?root?(或者是你自己的信箱)那里去?。ㄗⅲ耗承]有安裝?tcp_wrappers?的套件之?distribution?中,由于沒有?safe_finger?等程序,所以無法執行相關的功能,這點還請多加注意呢!)

etc/hosts.allow和/etc/hosts.deny

這兩個文件是tcpd服務器的配置文件,tcpd服務器可以控制外部IP對本機服務的訪問。這兩個配置文件的格式如下:

#服務進程名:主機列表:當規則匹配時可選的命令操作?server_name:hosts-list[:command]

/etc/hosts.allow控制可以訪問本機的IP地址,/etc/hosts.deny控制禁止訪問本機的IP。如果兩個文件的配置有沖突,以/etc/hosts.deny為準。下面是一個/etc/hosts.allow的示例:

ALL:127.0.0.1?#允許本機訪問本機所有服務進程?smbd:192.168.0.0/255.255.255.0?#允許192.168.0.網段的IP訪問smbd服務

192.168.6.100代表一個主機,192.168.6.代表整個網段。同理,ringkee.com代表一臺主機,.ringkee.com代表ringkee.com域內的所有主機。

ALL關鍵字匹配所有情況,EXCEPT匹配除了某些項之外的情況,PARANOID匹配你想控制的IP地址和它的域名不匹配時(域名偽裝)的情況。KNOWN關健字匹配一臺名字和地址(通過各種名字解析服務)已知的主機。LOCAL匹配任何一個不包含"."字符的主機名。我們應該盡量使用IP地址,因為主機名或域名會出現名稱解析出錯的問題,從而造成匹配失效。

tcpdchk程序可用于檢查這兩個配置文檔是否有錯,因為tcpd依賴許多配置文檔(/etc/services,/etc/inetd.conf,/etc/hosts.allow和/etc/hosts.deny),并且要求這些文檔中的相關信息必須一致。有了tcpdchk,就可幫我們自動檢查。還有一個有用的工具叫tcpdmatch,它可以模擬一個進入的連接,測試tcpd的行為。

通過spawn選項,我們還可以根據匹配情況執行各種命令。如發郵件或記錄日志等。下面是一個示例:

ALL:ALL?:?spawn?(/bin/echo?Security?Alter?from?%a?on?%d?on?`date`|?\?tee?-a?/var/log/Security_alter?|?mail)

使用:

修改/etc/hosts.allow文件

#

#?hosts.allow?This?file?describes?the?names?of?the?hosts?which?are

#?allowed?to?use?the?local?INET?services,?as?decided

#?by?the?'/usr/sbin/tcpd'?server.

#

sshd:210.13.218.*:allow

sshd:222.77.15.*:allow

以上寫法表示允許210和222兩個ip段連接sshd服務(這必然需要hosts.deny這個文件配合使用),當然:allow完全可以省略的。

當然如果管理員集中在一個IP那么這樣寫是比較省事的

all:218.24.129.110//他表示接受110這個ip的所有請求!

/etc/hosts.deny文件,此文件是拒絕服務列表,文件內容如下:

#

#?hosts.deny?This?file?describes?the?names?of?the?hosts?which?are

#?*not*?allowed?to?use?the?local?INET?services,?as?decided

#?by?the?'/usr/sbin/tcpd'?server.

#

#?The?portmap?line?is?redundant,?but?it?is?left?to?remind?you?that

#?the?new?secure?portmap?uses?hosts.deny?and?hosts.allow.?In?particular

#?you?should?know?that?NFS?uses?portmap!

sshd:all:deny

注意看:sshd:all:deny表示拒絕了所有sshd遠程連接。:deny可以省略。

所以:當hosts.allow和?host.deny相沖突時,以hosts.allow設置為準。

注意修改完后:

service?xinetd?restart

才能讓剛才的更改生效。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,441評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,475評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,834評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,009評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,559評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,306評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,516評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,728評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,249評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,484評論 2 379

推薦閱讀更多精彩內容