tcp_wrapper
介绍
对基于tcp协议开发并提供服务的应用程序,所提供的一层访问控制工具
基于库调用实现其功能
* 库名:libwrap
判断服务是否能够由tcp_wrapper进行访问控制
1. 动态编译 ldd命令 ldd `which sshd` 2. 静态编译 strings命令查看应用程序文件,其结果中出现 hosts.allow host.deny
在配置文件中为各服务分别定义访问控制规则实现访问控制
配置文件:/etc/host.allow /etc/host.deny
检查顺序
先检查host.allow文件,有匹配项则放行
后检查host.deny文件,有匹配项则拒绝
如果两者都没有匹配项则默认放行
配置文件语法
1 daemon_list: client_list [options]
daemon_list:应用程序的文件名,而非服务名
应用服务程序文件名列表,彼此间使用逗号分隔
sshd,vsftpd
client_list:
网络地址:必须使用完整格式的掩码,不使用前缀格式掩码,所以类似于192.168.1.0/24不合法 简短格式的网络地址:192.168.1. ALL:所有主机 KNOWN UNKNOWN PARANOID
EXCEPT
1 vsftpd: 192.168. EXCEPT 192.168.1.0/255.255.255.0 EXCEPT 192.168.1.1
[:options]
deny:拒绝,主要用于hosts.allow文件中 vsftpd: 192.168. : deny allow:允许,主要用于hosts.deny文件中 spawn:启动额外应用程序,实现其它的管理控制功能 %c client ip %s server ip %d daemon name vsftpd: ALL :spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/vsftpd.deny.log