欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TCP Wrappers防火墻介紹與封鎖IP地址的方法

 更新時間:2012年07月10日 21:12:45   作者:  
Tcp_Wrappers是一個用來分析TCP/IP封包的軟件,類似的IP封包軟件還有iptables,linux默認都安裝了此軟件,作為一個安全的系統(tǒng)
Tcp_Wrappers是一個用來分析TCP/IP封包的軟件,類似的IP封包軟件還有iptables,linux默認都安裝了此軟件,作為一個安全的系統(tǒng),Linux本身有兩層安全防火墻,通過IP過濾機制的iptables實現(xiàn)第一層防護,iptables防火墻通過直觀地監(jiān)視系統(tǒng)的運行狀況,阻擋網(wǎng)絡(luò)中的一些惡意攻擊,保護整個系統(tǒng)正常運行,免遭攻擊和破壞。如果通過了第一層防護,那么下一層防護就是tcp_wrappers了,通過Tcp_Wrappers可以實現(xiàn)對系統(tǒng)中提供的某些服務(wù)的開放與關(guān)閉、允許和禁止,從而更有效地保證系統(tǒng)安全運行。
  Tcp_Wrappers的使用很簡單,僅僅兩個配置文件:/etc/hosts.allow和/etc/hosts.deny
1. 查看系統(tǒng)是否安裝了Tcp_Wrappers
[root@localhost ~]#rpm -q tcp_wrappers
tcp_wrappers-7.6-40.7.el5
或者
  [root@localhost ~]#rpm -qa | grep tcp
  tcpdump-3.9.4-15.el5
tcp_wrappers-7.6-40.7.el5

如果有上面的類似輸出,表示系統(tǒng)已經(jīng)安裝了tcp_wrappers模塊。如果沒有顯示,可能是沒有安裝,可以從linux系統(tǒng)安裝盤找到對應(yīng)RPM包進行安裝。
  
2. tcp_wrappers設(shè)定的規(guī)則
tcp_wrappers防火墻的實現(xiàn)是通過/etc/hosts.allow和/etc/hosts.deny兩個文件來完成的

文件格式是:
服務(wù)列表 : 主機列表 : 選項

1.服務(wù)列表是要支持的服務(wù)的名,例如:telnet、vsftpd等等。
2.主機列表設(shè)定受控制的機器。這可以是機器名、主機IP,也可以使用通配符(*或?)或ALL及EXCEPT。
3.選項是我們所要控制的動作。在服務(wù)與client都符合之后,那么真正所要進行的動作,就是選項在作。

1)ALLOW 接受連接請求。2)DENY 拒絕連接請求。


舉例:只允許118.126.3.222中vsftp登錄

(這里要注意的是關(guān)于vsftp的配置文件vsftpd.conf中的
tcp_wrappers=YES
這樣vsftp才允許通過tcp_wrappers的機制對vsftp服務(wù)器進行訪問控制。)

輸入vim /etc/hosts.allow
編輯 vsftpd:118.126.3.222:allow
表示允許118.126.3.222vsftp連接

輸入vim /etc/hosts.deny
編輯 vsftpd:all
表示拒絕所有vsftp連接
一般情況下,linux會首先判斷/etc/hosts.allow這個文件,如果遠程登錄的計算機滿足文件/etc/hosts.allow設(shè)定的話,就不會去使用/etc/hosts.deny文件了,相反,如果不滿足hosts.allow文件設(shè)定的規(guī)則的話,就會去使用hosts.deny文件了,如果滿足hosts.deny的規(guī)則,此主機就被限制為不可訪問linux服務(wù)器,如果也不滿足hosts.deny的設(shè)定,此主機默認是可以訪問 linux服務(wù)器的.

TCP Wrappers 封鎖IP地址的方法

1. Tcp Wapper基礎(chǔ)知識介紹
Tcp_Wapper是在 Solaris, HP_UX以及 Linux中廣泛流行的免費軟件。它被設(shè)計為一個介于外來服務(wù)請求和系統(tǒng)服務(wù)回應(yīng)的中間處理軟件。最常見的用法是與inetd一起使用。當(dāng)Inetd接收到一個外來服務(wù)請求的時候,并不是直接調(diào)用,而是調(diào)用TCP Wrapper(可執(zhí)行文件tcpd),TCP Wrapper根據(jù)這個所請求的服務(wù)和針對這個服務(wù)所定制的存取控制規(guī)則來判斷對方是否有使用這個服務(wù)的權(quán)限,如果有,TCP Wrapper將該請求按照配置文件定義的規(guī)則轉(zhuǎn)交給相應(yīng)的守護進程去處理同時記錄這個請求動作,然后自己就等待下一個請求的處理。
TCP Wrapper機制的主要目的在于,來自客戶端的請求只被允許同一個獨立的守護進程(xinetd)直接通信,而它請求的目標(biāo)服務(wù)被TCP Wrapper包裹起來,這樣就提高了系統(tǒng)的安全性和系統(tǒng)管理的方便性。Tcp wrapper隨著應(yīng)用逐漸成為一種標(biāo)準(zhǔn)的Unix安全工具,成為unix守護程序inetd的一個插件。通過Tcp wrapper,管理員可以設(shè)置對inetd提供的各種服務(wù)進行監(jiān)控和過濾,以保證系統(tǒng)的安全性。
2. Tcp Wapper源碼獲取、編譯與安裝
由于它已經(jīng)在Solaris, HP_UX以及 Linux中泛使用,而在Tru 64上使用的很少,所以在這里給大家做一個詳細介紹,我機器的操作系統(tǒng)版本為:tru 64 4.0F
(1)下載源碼地址:(附件1)
(2)解壓縮
#gunzip tcp_wrappers_7.6.tar.gz
#tar xvf tcp_wrappers_7.6.tar
(3)編譯源碼程序
# make REAL_DAEMON_DIR=/usr/sbin hpux
最后一個參數(shù)是hpux,你可以根據(jù)你的操作系統(tǒng)來做調(diào)整,這里由于沒有DEC的我就使用這個替代了。接著將生成的幾個主要文件拷貝到相應(yīng)的系統(tǒng)目錄下。
#cp tcpd /usr/sbin
#cp safe_finger /usr/sbin
#cp tcpdchk /usr/sbin
#cp tcpdmatch /usr/sbin
#cp try-from /usr/sbin
#cp hosts_access.3 /usr/man/man3
#cp hosts_access.5 /usr/man/man5
#cp hosts_options.5 /usr/man/man5
#cp tcpd.8 /usr/man/man8
#cp tcpdchk.8 /usr/man/man8
#cp tcpdmatch.8 /usr/man/man8
#cp libwrap.a /usr/lib
#cp tcpd.h /usr/include
其中:
(1)tcpd是所有internet服務(wù)的主要訪問控制守護進程,運行 inetd 或 xinetd 而不是運行單獨的服務(wù)守護進程時要用到它。
(2)tcpdchk 一個檢查 tcpd wrapper 設(shè)置和提供錯誤信息。
(3)tcpdmatch 用來預(yù)知 tcp wrapper 如何控制一個服務(wù)的特殊請求。
(4)try-from可以通過遠程shell命令找出主機名字和地址是不是正確的。
(5)safe_finger 是finger工具的 wrapper ,提供自動的主機名反向查找。

3、如何將服務(wù)納入管控狀態(tài)
大家知道inetd,也叫作“超級服務(wù)器”,就是監(jiān)視一些網(wǎng)絡(luò)請求的守護進程,其根據(jù)網(wǎng)絡(luò)請求來調(diào)用相應(yīng)的服務(wù)進程來處理連接請求。inetd.conf則是inetd的配置文件。inetd.conf文件告訴inetd監(jiān)聽哪些網(wǎng)絡(luò)端口,為每個端口啟動哪個服務(wù)。如果我們要想將telnet、ftp 交由tcpd管控,需要修改/etc/inetd.conf。
修改前為:
ftp stream tcp nowait root /usr/sbin/ftpd ftpd
telnet stream tcp nowait root /usr/sbin/telnetd telnetd
修改后為:
ftp stream tcp nowait root /usr/sbin/tcpd ftpd
telnet stream tcp nowait root /usr/sbin/tcpd telnetd

請記著修改完后要重新啟動process
# vi /etc/inetd.conf
# ps -ef|grep inetd
root 53872 1 0.0 10:37:52 ?? 0:00.00 /usr/sbin/inetd
root 53873 53872 0.0 10:37:52 ?? 0:00.01 -child (inetd)
root 54243 53896 0.3 11:04:58 pts/0 0:00.02 grep inetd
# kill 53872 53873
# /usr/sbin/inetd4、使用TCP Wrappers限制訪問的配置
為了配置TCP wrappers,用戶需要在兩個文件里接受或拒絕連接的標(biāo)準(zhǔn):/etc/hosts.allow和/etc/hosts.deny。前一個文件定義計算機允許的訪問,后一個文件指定應(yīng)該拒絕的連接。如果某個系統(tǒng)同時出現(xiàn)在兩個文件里,hosts.allow是優(yōu)先的。如果某個系統(tǒng)沒有出現(xiàn)在任何一個文件里,TCP Wrappers會允許它進行連接。另外,如果運行最嚴(yán)格的TCP Wrappers安全,用戶可以在/etc/hosts.deny文件力包含一行“ALL:ALL”,它會禁止所有由TCP Wrappers處理的輸入訪問。然后用戶就可以在/etc/hosts.allow里為特定客戶程序打開服務(wù)程序的端口。
/etc/hosts.allow和/etc/hosts.deny的格式是完全一樣的,當(dāng)然同樣的項目在兩個文件中具有相反的作用。這些項目的基本格式是:
Service-names :client-list [:shell-command]
請看如下兩個文件
# vi /etc/hosts.deny
all:all
(注:禁止所有TCP Wrappers處理的輸入訪問)
# vi /etc/hosts.allow
telnetd:10.65.69.157 10.65.70.
ftpd: 10.65.69. EXCEPT 10.65.69.1
(注: Telnet telnetd行告訴TCP wrappers接受來自于10.65.69.157機器及10.65.70 網(wǎng)段的telnet連接.
Ftp ftpd告訴TCP wrappers接受來自于10.65.69 網(wǎng)段中除10.65.69.1之外的所有計算機的FTP連接。也許10.65.69.1是路游器或其他不應(yīng)該做FTP客戶端的主機),修改這兩個文件不用重新啟動xinetd進程的,會直接生效的。)
5、檢測的方法
檢測tcp_wrapper 是否正常work
----我自己的設(shè)置----# tcpdchk -v
Using network configuration file: /etc/inetd.conf>>> Rule /etc/hosts.allow line 1:
daemons: ftpd
clients: 10.1.20.76
access: granted>>> Rule /etc/hosts.allow line 2:
daemons: telnetd
clients: 10.1.20.76 10.1.20.
access: granted>>> Rule /etc/hosts.deny line 1:
daemons: telnetd
clients: 10.1.20.100
warning: /etc/hosts.deny, line 1: host address 135.129.24.100->name lookup failed
access: denied>>> Rule /etc/hosts.deny line 2:
daemons: ftpd
clients: 10.1.20.100
warning: /etc/hosts.deny, line 2: host address 135.129.24.100->name lookup failed
access: denied>>> Rule /etc/hosts.deny line 3:
daemons: all
clients: all
access: denied
# 6、結(jié)束語
上面介紹只是TCP Wrapper一些簡單功能,它還提供了有許多其它特性,有些特性能夠?qū)崿F(xiàn)十分精細的效果,因此,有這方面需求的網(wǎng)友,應(yīng)該仔細查看關(guān)于TCP Wappers控制文件格式的官方文檔來實現(xiàn)自己的功能,以保證系統(tǒng)的安全。

相關(guān)文章

最新評論