tcp_wrapper訪問控制

前言



由於前一篇登陸安全的配置中涉及的Tcp_Wrapper,僅演示了其中一個用法。下面就列舉一下tcp_wrapper的另外幾種配置方法。



tcp_wrapper的介紹



tcp wrapper是Wietse Venema開發的一個開源軟件。

它是一種類似於iptables防火牆的,基於tcp協議的訪問控制工具,只能對基於tcp協議的部分服務作訪問控制。
iptables在網絡層上通過IP過濾,阻擋網絡中部分IP的惡意攻擊,與網絡有關。
tcp_wrapper依賴於libwrap庫,會控制支持libwrap庫的那部分基於tcp協議的服務,通過讀取兩個配置文件中配置的規則,判斷該服務是否可以訪問,因此它只能對本機內部的服務進行控制,跟網絡無關。


工作流程:

系統檢查用戶訪問的程序是否支持libwrap庫。
如果支持,就可以對該服務進行控制,系統會檢查hosts.allow文件中是否有匹配的規則
如果hosts.allow有匹配的規則,則允許訪問
如果hosts.allow沒有匹配的規則,則檢查hosts.deny文件中是否有匹配的規則
如果hosts.deny有匹配的規則,則拒絕訪問
如果hosts.deny沒有匹配的規則,則視爲默認,允許訪問
如果hosts.allow與hosts.deny中的規則有衝突,以hosts.allow爲準

在這裏插入圖片描述


上面僅是個人理解的tcp_wrapper邏輯上的流程圖。



tcp_wrapper的操作



【1】判斷服務是否支持tcp_wrapper


判斷某一個基於tcp協議的服務是否支持tcp_wrapper,要先判斷它是否支持libwrap庫

雖然ssh,ftp,nfs,telnet等服務大多支持tcp_wrapper,但也不一定支持。當查詢到服務支持libwrap庫,可被tcp_wrapper控制,纔可配置tcp_wrapper進行控制,否則配置了也不生效。



<1>ldd查看服務是否支持libwrap

ldd `which sshd` |grep libwrap

在這裏插入圖片描述

  ldd `which vsftpd` |grep libwrap

在這裏插入圖片描述



<2>strings命令列出服務是否支持libwrap

strings `which sshd` |grep libwrap

在這裏插入圖片描述

strings `which vsftpd` |grep libwrap

在這裏插入圖片描述



【2】tcp_wrapper配置格式


此處僅列舉了較常用的幾種配置格式


<1>/etc/hosts.allow    配置允許訪問


格式:  daemo_list:client_list:[:options]

每個參數間用 :隔開

daemon_list:要配置的服務列表

配置單個服務,填寫應用程序名(例如:sshd)
配置多個服務,使用逗號隔開(例如:sshd,vsftpd)
配置所有可受控制的服務,使用ALL(大小寫均可,通常小寫)
。。。

client_list:要配置的網段或IP列表

配置單個IP,(例如:192.168.10.1)
配置多個IP:使用逗號隔開(例如:192.168.10.1,192.168.10.2)
配置網段方式一,例如192.168.代表192.168.0.0網段的所有IP
配置網段方式二,使用完整格式的掩碼,不可使用前綴格式掩碼(例如:192.168.0.0/255.255.255.0)
配置網段方式三,例如192.168.10.*代表192.168.10網段的所有IP
配置主機名,例如,www.utest.com

配置所有主機,使用ALL(大小寫均可,通常小寫)
配置所有可以解析到的主機,使用KNOWN
配置所有無法解析到的主機,使用UNKNOWN
配置主機名正反解析不匹配的地址,使用PARANOID
配置中排除某個主機或某個網絡,使用EXCEPT(例如:sshd:192.168.  EXCEPT 192.168.10.)
。。。

[:options]:聲明處理方式

在hosts.allow,默認使用allow
allow代表接受,在/etc/hosts.allow中可以不寫,例如:sshd:192.168.10.1  等同於  sshd:192.168.10.1:allow
deny代表拒絕,在/etc/hosts.allow如配置拒絕規則,必須填寫
當接受和拒絕規則配置到同一個配置文件中,可以單使用一個配置文件進行管理
。。。


<2>/etc/hosts.deny    配置拒絕訪問

與hosts.allow的常用參數使用方式相同,但配置的是拒絕

格式:  daemo_list:client_list:[:options]

每個參數間用 :隔開

daemon_list:要配置的服務列表(同hosts.allow)

client_list:要配置的網段或IP列表(同hosts.allow)

[:options]:聲明處理方式(與hosts.allow相反)

在hosts.deny,默認使用deny
deny代表拒絕,在/etc/hosts.deny中可以不寫,例如:sshd:192.168.10.1  等同於  sshd:192.168.10.1:deny
allow代表允許,在/etc/hosts.deny如配置允許規則,必須填寫
當接受和拒絕規則配置到同一個配置文件中,可以單使用一個配置文件進行管理
。。。


【3】tcp_wrapper具體示例


更新。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章