2021-05-12 14:32:11
CentOS 中 TCP Wrappers存取控制
一、TCP Wrappers概述
TCP Wrappers將TCP服務程式“包裹”起來,代為監聽TCP服務程式的埠,增加了一個安全檢測過程,外來的連線請求必須先通過這層安全檢測,獲得許可後才能存取真正的服務程式,如下圖所示,TCP Wrappers還可以記錄所有企圖存取被保護服務的行為,為管理員提供豐富的安全分析資料。
二、TCP Wrappers的存取策略
TCP Wrappers機制的保護物件為各種網路服務程式,針對存取服務的用戶端地址進行存取控制。對應的兩個策略檔案為/etc/hosts.allow和/etc/hosts.deny,分別用來設定允許和拒絕的策略。
1、策略的設定格式
兩個策略檔案的作用相反,但設定記錄的格式相同,如下所示:
<服務程式列表>: <用戶端地址列表>服務程式列表、用戶端地址列表之間以冒號分隔,在每個列表內的多個項之間以逗號分隔。
1)服務程式列表
- ALL:代表所有的服務;
- 單個服務程式:如“vsftpd”;
- 多個服務程式組成的列表:如“vsftpd.sshd”;
2)用戶端地址列表
- ALL:代表任何用戶端地址;
- LOCAL:代表本機地址;
- 單個IP地址:如“192.1668.10.1”;
- 網段地址:如“192.168.10.0/255.255.255.0”;
- 以“.”開始的域名:如“benet.com”匹配benet.com域中的所有主機;
- 以“.”結束的網路地址:如“192.168.10.”匹配整個192.168.10.0/24網段;
- 嵌入萬用字元“”“?”:前者代表任意長度字元,後者僅代表一個字元,如“192.168.10.1”匹配以192.168.10.1開頭的所有IP地址。不可與以“.”開始或結束的模式混用;
- 多個用戶端地址組成的列表:如“192.168.1. ,172.16.16. ,.benet.com”;
2、存取控制的基本原則
關於TCP Wrappers機制的存取策略,應用時遵循以下順序和原則:首先檢查/etc/hosts.allow檔案,如果找到相匹配的策略,則允許存取;否則繼續檢查/etc/hosts.deny檔案,如果找到相匹配的策略,則拒絕存取;如果檢查上述兩個檔案都找不到相匹配的策略,則允許存取。
3、TCP Wrappers設定範例
實際使用TCP Wrappers機制時,較寬鬆的策略可以是“允許所有,拒絕個別”,較嚴格的策略是“允許個別,拒絕所有”。前者只需要在hosts.deny檔案中新增相應的拒絕策略就可以了;後者則除了在host.allow中新增允許策略之外,還需要在hosts.deny檔案中設定“ALL:ALL”的拒絕策略。
範例如下:
現在只希望從IP地址為192.168.10.1的主機或者位於172.16.16網段的主機存取sshd服務,其他地址被拒絕,可以執行以下操作:
[root@CentOS01 ~]# vim /etc/hosts.allow
sshd:192.168.10.1 172.16.16.*
[root@centos01 ~]# vim /etc/hosts.deny
sshd:ALL
相關文章