TCP_Wrappers存取控制

來源:互聯網
上載者:User

標籤:att   配置   發送   www   hover   telnet   拒絕   網路   讀取   

一、TCP_Wrappers簡介

對有狀態串連的特定服務進行安全檢測並實現存取控制,它以庫檔案形式實現,某進程是否接受libwrap的控製取決於發起此進程的程式在編譯時間是否針對libwrap進行編譯的,判斷服務程式是否能夠由tcp_wrapper進行存取控制的方法:

ldd /PATH/TO/PROGRAM|grep libwrap.so
strings PATH/TO/PROGRAM|grep libwrap.so
例sshd:

  1. [[email protected] 1372]# which sshd
  2. /usr/sbin/sshd
  3. [[email protected] 1372]# ldd /usr/sbin/sshd | grep libwrap
  4. libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f5659d39000)
  5. [[email protected] 1372]# strings /usr/sbin/sshd | grep libwrap
  6. libwrap.so.0
  7. libwrap refuse returns

它通過/etc/hosts.allow, /etc/hosts.deny這兩個設定檔來對來訪支援tcp_warppers模組的服務的ip進行訪問限制。

這兩個設定檔的讀取順序優先allow,如果allow檔案載入,將不再讀取deny。

二、設定檔內的基本文法:

1、文法:服務組:host

2、用戶端Client_list格式

以逗號或空格分隔的用戶端列表
基於IP地址:192.168.10.1 192.168.1.
基於主機名稱:www.magedu.com .magedu.com 較少用
基於網路/掩碼:192.168.0.0/255.255.255.0
基於net/prefixlen: 192.168.1.0/24(CentOS7)
基於網路組(NIS 域):@mynetwork
內建ACL:ALL,LOCAL,KNOWN,UNKNOWN,PARANOID

例:

  1. 編輯/etc/host.allow下編輯
  2. in.telnetd,sshd:172.18.10.10 表示in.telnet和sshd兩個服務允許172.18.10.10
  3. 編輯/etc/host.deny下編輯
  4. in.telentd:ALL 表示拒絕所有主機對in.telnetd的串連
  5. 如果上述檔案同時存在,則表達的是只允許172.18.10.10訪問intelnetd,其它主機不可訪問,所有網段都可以訪問sshd(如果沒有在白名單的,預設為允許;白名單和黑名單同時有的,許可權取白名單的)

3、特殊用法 spawn、EXCEPT、twist

expect 除非的意思:
例:

  1. vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1
  2. 如果這個配置在allow內,則表示允許所有主機訪問,但拋出172.16.100.1在內的172.16.100.0網段的主機除外
  3. 如果這個配置在deny內, 則表示拒允許172.16.100.0網段內除了172.16.100.1 這個地址以外的地址訪問,其他地址都拒絕訪問

spawn 啟動一個外部程式完成執行的操作:
例:

  1. sshd: ALL :spawn echo "$(date +%%F) login attempt from %c to %s,%d" >>/var/log/sshd.log
  2. 每當有主機來訪就會有一條記錄輸出到/var/log/sshd.log檔案內,注意spawn前面的:經常丟了
  3. %c 用戶端資訊
  4. %s 伺服器端資訊
  5. %d 服務名
  6. %p 守護進程的PID
  7. %% 表示%

twist實際動作是拒絕訪問,使用指定的操作替換當前服務,標準I/O和ERROR發送到用戶端,預設至/dev/null
例:

  1. 在host.allow內添加如下:
  2. vsftpd: 172.16. :twist /bin/echo "connectionprohibited" 該項目會將成功訪問的動作替換成 /bin/echo "connectionprohibited" ,twist 就是替換的意思。

測試載入器:
tcpdmatch [-d] daemon[@host] client
-d 測試目前的目錄下的hosts.allow和hosts.deny
例:

  1. tcpdmatch -d (測試目前的目錄下的設定檔,不一定是etc) sshd 192.168.27.5

 

0000000000000000000

TCP_Wrappers存取控制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.