Linux下的TCP Wrapper机制
生活随笔
收集整理的這篇文章主要介紹了
Linux下的TCP Wrapper机制
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
inetd程序在系統(tǒng)中是作為一個(gè)服務(wù)進(jìn)程出現(xiàn),它監(jiān)聽(tīng)許多端口并且在得到客戶(hù)請(qǐng)求時(shí)啟動(dòng)這個(gè)端口的服務(wù)程序。 早期系統(tǒng)中使用的inetd被稱(chēng)作超級(jí)服務(wù)器,其實(shí)現(xiàn)控制對(duì)主機(jī)網(wǎng)絡(luò)連接。當(dāng)一個(gè)請(qǐng)求到達(dá)由inetd管理的服務(wù)端口,inetd將該請(qǐng)求轉(zhuǎn)發(fā)給名為 tcpd的程序。tcpd根據(jù)配置文件host.{allow,deny}來(lái)判斷是否允許服務(wù)該請(qǐng)求,如果請(qǐng)求被允許剛相應(yīng)的服務(wù)器程序(如:ftpd、 telnet)將被啟動(dòng)。這個(gè)機(jī)制也被稱(chēng)為TCP_Wrapper。 xinetd(eXended Internet services Daemon)提供類(lèi)似于inetd+tcp_wrapper的功能,但是更加強(qiáng)大和安全。已經(jīng)逐漸取代了inetd,并且提供了訪問(wèn)控制、加強(qiáng)的日志和資源管理功能,成了Linux系統(tǒng)的Internet標(biāo)準(zhǔn)超級(jí)守護(hù)進(jìn)程。很多系統(tǒng)服務(wù)都用到了xinetd如:FTP、IMAP、POP和telnet等。/etc/services中所有的服務(wù)通過(guò)他們的端口來(lái)訪問(wèn)服務(wù)器的時(shí)候,先由xinetd來(lái)處理,在喚起服務(wù)請(qǐng)求之前,xinetd先檢驗(yàn)請(qǐng)求者是否滿(mǎn)足配置文件中指定的訪問(wèn)控制規(guī)則,當(dāng)前的訪問(wèn)是否超過(guò)了指定的同時(shí)訪問(wèn)數(shù)目,還有配置文件中指定的其他規(guī)則等,檢查通過(guò),xinetd將這個(gè)請(qǐng)求交付到相應(yīng)的服務(wù)去處理,自己就進(jìn)入sleep狀態(tài),等待下一個(gè)請(qǐng)求的處理。 以telnet為例,每當(dāng)有telnet的連接請(qǐng)求時(shí),tcpd即會(huì)截獲請(qǐng)求,先讀取系統(tǒng)管理員所設(shè)置的訪問(wèn)控制文件,合乎要求,則會(huì)把這次連接原封不動(dòng)的轉(zhuǎn)給真正的telnet進(jìn)程,由telnet完成后續(xù)工作;如果這次連接發(fā)起的ip不符合訪問(wèn)控制文件中的設(shè)置,則會(huì)中斷連接請(qǐng)求,拒絕提供telnet服務(wù)。 #ldd $(which Command) | grep wrap "查看是否支持TCP Wrapper的服務(wù)" [root@rhel6 ~]# ldd `which vsftpd` | grep wrap libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f58c2cdd000) ? ?"有返回值則表示支持TCP_Wrapper" [root@rhel6 ~]# ldd `which sshd` | grep wrap ? libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fdbbc848000) ·????配置文件 TCP_Wrappers的主要配置文件為:/etc/hosts.allow和/etc/hosts.deny。 /usr/sbin/tcpd進(jìn)程首先檢查/etc/hosts.allow,如果請(qǐng)求訪問(wèn)的主機(jī)名或IP包含在此文件中,則允許訪問(wèn)。 如果請(qǐng)求訪問(wèn)的主機(jī)名或IP不包含在/etc/hosts.allow中,那么tcpd進(jìn)程就檢查/etc/hosts.deny。如果請(qǐng)求訪問(wèn)的主機(jī)名或IP包含在hosts.deny文件中,則訪問(wèn)就被拒絕; 如果都沒(méi)有,默認(rèn)許可 ·????訪問(wèn)控制規(guī)則的格式 訪問(wèn)控制需要加在/etc/hosts.allow和/etc/hosts.deny里,規(guī)則格式如下: ? ? ? ?<daemon list>:<client list>[:<option>:<option>:...] ? ? ?daemon list ? ? ? ?服務(wù)進(jìn)程名列表,如telnet的服務(wù)進(jìn)程名為in.telnetd ? ? ?client list ? ? ? ? ? ?訪問(wèn)控制的客戶(hù)端列表,可以寫(xiě)域名、主機(jī)名或網(wǎng)段,如.example.com或者192.168.1. ??? ?option ? ? ? ? ? ? ??可選選項(xiàng),這里可以是某些命令,也可以是指定的日志文件 [root@rhel6?~]#?cat?/etc/hosts.allow?? #? #?hosts.allow???This?file?contains?access?rules?which?are?used?to? #???????????????allow?or?deny?connections?to?network?services?that? #???????????????either?use?the?tcp_wrappers?library?or?that?have?been? #???????????????started?through?a?tcp_wrappers-enabled?xinetd.? #? #???????????????See?'man?5?hosts_options'?and?'man?5?hosts_access'? #???????????????for?information?on?rule?syntax.? #???????????????See?'man?tcpd'?for?information?on?tcp_wrappers? in.telnetd:.xfcy.org? vsftpd:192.168.0.? sshd:192.168.0.0/255.255.255.0? ? [root@rhel6?~]#?cat?/etc/hosts.deny?? #? #?hosts.deny????This?file?contains?access?rules?which?are?used?to? #???????????????deny?connections?to?network?services?that?either?use? #???????????????the?tcp_wrappers?library?or?that?have?been? #???????????????started?through?a?tcp_wrappers-enabled?xinetd.? #? #???????????????The?rules?in?this?file?can?also?be?set?up?in? #???????????????/etc/hosts.allow?with?a?'deny'?option?instead.? #? #???????????????See?'man?5?hosts_options'?and?'man?5?hosts_access'? #???????????????for?information?on?rule?syntax.? #???????????????See?'man?tcpd'?for?information?on?tcp_wrappers? #? ALL:ALL? ? /etc/hosts.deny里的ALL:ALL表示,除非在/etc/hosts.allow里明確允許訪問(wèn),否則一律拒絕? /etc/hosts.allow里第一行in.telnetd:.xfcy.org表示,只有xfcy.org這個(gè)域里的主機(jī)允許訪問(wèn)telnet服務(wù),注意xfcy.org前面的那個(gè)點(diǎn)(.)? /etc/hosts.allow里第二行表示,只有192.168.0這個(gè)網(wǎng)段的用戶(hù)允許訪問(wèn)FTP服務(wù),注意0后面的點(diǎn)(.)? /etc/hosts.allow里第三行表示,只有192.168.0這個(gè)網(wǎng)段的用戶(hù)允許訪問(wèn)SSH服務(wù),注意這里不能寫(xiě)為192.168.0.0/24?
? ? ? 本文轉(zhuǎn)自Vnimos51CTO博客,原文鏈接:http://blog.51cto.com/vnimos/1177594,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的Linux下的TCP Wrapper机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringMVC的优点
- 下一篇: 【原】画流程图工具visio使用技巧汇总