TCP Wrappers访问控制

在Linux系统中,许多网络服务针对客户机提供了某种访问控制机制,如Samba、BIND、HTTPD、OpenSSH等,而TCP Wrappers(TCP封套),以作为应用服务与网络之间的一道特殊防线,提供额外的安全保障。

王高利:TCP Wrappers访问控制(hosts.allow,hosts.deny)_TCP Wrappers访问控制

在RHEL6.5中使用软件包为tcp_wrappers-7.6-57.el6.x86_64,该软件包提供了执行程序tcpd和共享链接库文件libwrap.so.*,对应为TCP Wrappers保护机制的两种实现方式——直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd。由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。

查看方式:王高利:TCP Wrappers访问控制(hosts.allow,hosts.deny)_TCP Wrappers访问控制_02

TCP Wrappers的访问策略:两个文件/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

王高利:TCP Wrappers访问控制(hosts.allow,hosts.deny)_TCP Wrappers访问控制_03

访问控制的基本原则:

关于TCP Wrappers机制的访问策略,应用时应遵守以下顺序和原则:首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问,否则继续查找/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果以上俩文件中都没有找到,则允许访问。

TCP Wrappers配置实例

较宽松的策略可以是“允许所有,拒绝个别”,较严格的策略是“允许个别,拒绝所有”。前者只需在hosts.allow文件中添加相应的拒绝策略就可以了;后者则除了在hosts.allow中添加允许策略之外,还需要在hosts.deny文件中设置“ALL:ALL”的拒绝策略。

例如:只希望从192.168.1.2的主机或者位于192.168.1.0/24网段的主机访问sshd服务,其他地址被拒绝,可以执行以下操作

王高利:TCP Wrappers访问控制(hosts.allow,hosts.deny)_TCP Wrappers访问控制_04