CentOS 中 TCP Wrappers訪問控制

大雄45發表於2020-01-08
一、TCP Wrappers概述

TCP Wrappers將TCP服務程式“包裹”起來,代為監聽TCP服務程式的埠,增加了一個安全檢測過程,外來的連線請求必須先透過這層安全檢測,獲得許可後才能訪問真正的服務程式,如下圖所示,TCP Wrappers還可以記錄所有企圖訪問被保護服務的行為,為管理員提供豐富的安全分析資料。

CentOS 中 TCP Wrappers訪問控制CentOS 中 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

本文原創地址:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2672483/,如需轉載,請註明出處,否則將追究法律責任。

相關文章