国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
TCP_Wrappers
userphoto

2011.12.01

關注

TCP_Wrappers
 TCP_Wrappers
事實上,除了使用 xinetd 的設定檔來設定安全機制之外, 我們還可以利用額外的機制來抵擋某些不受歡迎的資料來源喔! 那就是 /etc/hosts.allow 以及 /etc/hosts.deny 這兩個檔案的功能啦! 這兩個檔案可以藉由分析:

    * 啟動的服務名稱 (daemon 執(zhí)行檔檔名);
    * 用戶端的 IP 來源或網段來源。

來進行用戶端使用者是否能夠登入的判斷呢!不過,雖然這兩個檔案已經被整合到 xinetd 里面去了, 不過,要獲得更多的功能,還是得要安裝 tcp_wrappers 這個套件才行! 因為,這兩個檔案本身就是 tcp_wrappers ( 其實是 /usr/sbin/tcpd 那個檔案而已啦! ) 的設定檔啊! 而他也可以整合到整個系統(tǒng)的服務里頭去,可以算是最最基礎的一個防火墻架構啦! ^_^

其實, /etc/hosts.allow 與 /etc/hosts.deny 是 /usr/sbin/tcpd 的設定檔, 而這個 /usr/bin/tcpd 則是用來分析進入系統(tǒng)的 TCP 封包的一個軟體,他是由 TCP Wrappers 所提供的。 那為什么叫做 TCP_Wrappers 呢?那么 wrappers 有包裹的意思,所以說,這個套件本身的功能就是在分析 TCP 網路資料封包啦!那么剛剛我們稍微提到我們網路的封包資料主要是以 TCP 封包為主,這個 TCP 封包的檔頭至少記錄了來源與目主機的 IP 與 port ,因此,若藉由分析 TCP 封包,就可以比對看我要不要讓這個資料進入到主機里面來啰!所以啦,我們要使用 TCP_Wrappers 來控管的,就是:

   1. 來源 IP
   2. port (就是服務啦)

TCP_Wrappers 設定 TCP 封包是否可以進入的設定檔在 /etc/hosts.allow 與 /etc/hosts.deny 當中。因此,基本上,如果一個服務是受到 xinetd 或 TCP_Wrappers 的控制時,那么該服務就會受限于 hosts.allow 與 hosts.deny 的管理了!而如果你自己安裝的套件當中( 亦即使用 Tarball 安裝的方式之套件 ),除非有自行定義支援 TCP_Wrappers 的功能 ,否則就無法使用這個玩意啰!嘿嘿!

那么這兩個檔案是干嘛用的?剛剛不是提過哪!他主要是用來規(guī)范 TCP 封包的規(guī)則的,所以呢, 里面記錄的當然就是:‘某些 IP 在特定服務中是否能夠進入主機’!那么要怎么寫? 這兩個檔案的內容基本的語法是:

<service(program_name)> : <IP, domain, hostname> : <action>

所以我們要先找出來那個 service_name 才行,例如以我們剛剛的 telnet 為例,那個 service_name 是什么呢?其實指的就是在 xinetd.conf 設定檔中的 server 這個設定后面接的程式名稱啦!所以, telnet 在 FC4 底下的名稱為 in.telnetd 因此,如果你不想讓 140.116.44.202 這個位址及 140.116.32.0/255.255.255.0 這個 C class 的網域進入你的主機的話,那么可以這樣在 /etc/hosts.deny 里面設定: ( 關于 IP, 網域, 網段, 還有相關的網路知識,在這個基礎篇當中我們不會談到, 詳細的資料請先自行參考伺服器架設篇的內容! )

[root@linux ~]# vi /etc/hosts.deny
in.telnetd : 140.116.44.202 140.116.32.0/255.255.255.0 : deny

當然也可以寫成兩行,亦即是:

[root@linux ~]# vi /etc/hosts.deny
in.telnetd : 140.116.44.202             : deny
in.telnetd : 140.116.32.0/255.255.255.0 : deny

這樣一來,對方就無法以 telnet 進入你的主機啦!方便吧!不過,既然如此,為什么要設定成 /etc/hosts.allow 及 /etc/hosts.deny 兩個檔案呢?其實只要有一個檔案存在就夠了, 不過,為了設定方便起見,我們存在兩個檔案,其中需要注意的是:

    * 寫在 hosts.allow 當中的 IP 與網段,為預設‘可通行’的意思,亦即最后一個欄位 allow 可以不用寫;
    * 而寫在 hosts.deny 當中的 IP 與網段則預設為 deny ,第三欄的 deny 亦可省略;
    * 這兩個檔案的判斷依據是: (1) 以 /etc/hosts.allow 為優(yōu)先,而 (2) 若分析到的 IP 或網段并沒有紀錄在 /etc/hosts.allow ,則以 /etc/hosts.deny 來判斷。

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

   1. 允許進入的寫在 /etc/hosts.allow 當中;
   2. 不許進入的則寫在 /etc/hosts.deny 當中。

此外,我們還可以使用一些特殊參數在第一及第二個欄位喔!內容有:

    * ALL:代表全部的 program_name 或者是 IP 都接受的意思,例如 ALL: ALL: deny
    * LOCAL:代表來自本機的意思,例如: ALL: LOCAL: allow
    * UNKNOWN:代表不知道的 IP 或者是 domain 或者是服務時;
    * KNOWN:代表為可解析的 IP, domain 等等資訊時;

再強調一次,那個 service_name 其實是啟動該服務的程式,舉例來說, /etc/init.d/ssh 這個 script 里面, 實際上啟動 ssh 服務的是 sshd 這個程式,所以,你的 service_name 自然就是 sshd 啰! 而 /etc/xinetd.d/telnet 內有個 server 的設定項目, 那個項目指到 in.telnetd 這個程式來啟動的喔!要注意的很!(請分別使用 vi 進這兩支 scripts 查閱) 好了,我們還是以 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 全部都擋掉!

這樣的話,我可以這樣設定:

[root@linux ~]# vi /etc/hosts.allow
in.telnetd:  140.116.44.0/255.255.255.0
in.telnetd:  140.116.79.0/255.255.255.0
in.telnetd:  140.116.141.99
in.telnetd:  LOCAL

[root@linux ~]# vi /etc/hosts.deny
in.telnetd: ALL

那么有沒有更安全的設定,例如,當當有其他人掃瞄我的 telnet port 時,我就將他的 IP 記?。∫宰鰹槲磥淼牟樵兣c認證之用! 是有的!只是,那就得要有額外的動作參數加在第三欄了。主要的動作有:

    * spawn (action)
      可以利用后續(xù)接的 shell 來進行額外的工作,且具有變數功能,主要的變數內容為: %h (hostname), %a (address), %d (daemon)等等;

    * twist (action)
      立刻以后續(xù)的指令進行,且執(zhí)行完后終止該次連線的要求 (DENY)

我們知道 finger 可以反向追蹤網路封包的來源,所以,我希望這樣:

   1. 利用 safe_finger 去追蹤出對方主機的資訊;
   2. 將該追蹤到的結果以 email 的方式寄給 root ;
   3. 在對方螢幕上面顯示不可登入的訊息

此時可以利用 spwan (action1) | (action2) : twist (action3) 來進行, 也就是說,其實在 /etc/hosts.deny 的第三個欄位可以繼續(xù)延伸下去的!整個資訊有如這樣:

[root@linux ~]# vi /etc/hosts.deny
in.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.\n\n" )

在上面的例子中,第三行的 root 那個賬號,可以寫成你的個人賬號或者其他 e-mail ,以免很少以 root 身份登入 Linux 主機時,容易造成不知道的情況,另外,最后幾行,亦即 :twist 之后的那幾行為同一行。如此一來,當未經允許的電腦嘗試登入你的主機時, 對方的螢幕上就會顯示上面的最后一行,并且將他的 IP 寄到 root ( 或者是你自己的信箱 )那里去! 另外請注意,那個 /usr/sbin/safe_finger 是由 tcp_wrappers 套件所提供的, 所以您必須要安裝該套件才行喔! ^_^ 

文章出處:飛諾網(www.diybl.com):http://www.diybl.com/course/6_system/linux/Linuxjs/20090307/159060.html

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
防火牆iptables
/etc/hosts.allow和/etc/hosts.deny的作用
10個在隨機出現在面試中的Linux問題及答案
【精選】Linux的FTP安裝、使用和配置(FTP客戶端管理工具)
Vsftpd+tcp_wrappers控制主機和用戶訪問
ssh訪問控制,多次失敗登錄即封掉IP,防止暴力破解
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服