一、TCP Wrappers 简述:
(1)TCP Wrappers 将其他的 TCP服务程序“包裹”起来,增加了一个安全检测过程,外来的连接请求必须通过这层安全检测,获得许可后才能访问真正的服务程序,TCP Wrappers的访问控制是基于TCP协议的应用服务。
(2)TCP Wrappers的缺点:
第一,TCP Wrappers 只能控制TCP协议的应用服务;
第二,并不是所有基于TCP 协议的应用服务都能接TCP Wrappers的控制。
二、TCP Wrappers的访问策略:
(1)保护机制的实现方式:
- 通过TCP主程序对其他服务程序进行包装
- 其他服务程序调用 libwrap.so. * 链接库
(2)访问控制策略的配置文件:
- /etc/hosts.allow
- /etc/hosts.deny
(3)设置访问控制策略:
1、策略格式:服务列表:客户机地址列表
2、服务列表:多个服务以逗号分隔,ALL 表示所有服务
3、客户机地址列表:多个地址以逗号分隔,ALL 表示所有地址;允许使用通配符 * 和 ?
(4)策略的应用顺序:
1、先检查 hosts.allow,找到匹配则允许访问;
2、否则再检查 hosts.deny,找到则拒绝访问;
3、若两个文件中均无匹配策略,则默认允许访问。
例如1:我们在wang1 这台主机上,修改host.allow,允许ip地址为192.168.220.131的主机可以访问,其他都不行,可以做如下操作:
1、现在hosts.allow中,写sshd:192.168.220.131
2、在hosts.deny中,写sshd=ALL,拒绝其他所有访问
3、IP地址为192.168.220.131的主机可以访问
其余IP地址的主机就访问不了,而且这种拒绝,连密码都不会让尝试输入,直接拒绝访问。
例如2:如果hosts.allow文件中和 hosts.deny中写同一个 IP地址会出现允许还是拒绝呢?
例如,我们在这两个文件中,都写上sshd:192.168.220.131,验证一下这台主机能否登陆成功
结果证明:在hosts.allow和hosts.deny 文件中,写同一个 ip地址,此IP地址的主机还是会成功访问,因为首先会检查hosts.allow文件中匹配策略,有的话就允许访问。
例如3:只希望ip地址为61.62.63.64主机访问,或者位于192.168.220.0/24 网段的主机访问sshd 服务,拒绝其他地址访问,可以进行以下操作:
hosts.allow文件中写:sshd:61.62.63.64,192.168.220.*
hosts.deny 中写 sshd=ALL,就可以了。