tcp_wrapper主要是针对tcp的服务,提供了限制的功能。主要由/etc/hosts.allow 和/etc/hosts.deny这两个文件进行限制,hosts.allow主要设置允许列表,hosts.deny设置禁止列表。
我们来做个案例,只允许IP为:10.10.42.252的机器通过ssh登陆服务器
1.编辑hosts.allow文件新增一行,保存
sshd:10.10.42.252
2.编辑hosts.deny文件新增一行,保存
sshd:ALL
我们测试一下,首先用10.10.42.252的机器,可以正常ssh登陆,但是用10.10.42.249就无法登陆了,我们查看/var/log/secure 日志显示如下
May 11 16:50:53 rhelts sshd[7050]: refused connect from 10.10.42.249 (10.10.42.249)
说明tcp_wrapper起作用了。
系统是先读取hosts.allow,然后在读取hosts.deny.这样会有个问题,如果有人不小心删除了hosts.allow,所有用户都不能登陆,而删除了hosts.deny,所有的都不受限制了(hacker)通常会这么干。
我们可以把拒绝规则写在hosts.allow里面,修改hosts.allow如下:
sshd:10.10.42.252:ALLOW
sshd:ALL:DENY
保存
记住sshd:ALL:DENY这行一定得放在后面,否则就登陆不上了。我们来删除hosts.deny
测试后,10.10.42.252正常登陆,而10.10.42.249登陆不了
查看/var/log/secure 日志显示如下
May 11 17:00:19 rhelts sshd[7109]: refused connect from 10.10.42.249 (10.10.42.249)
May 11 17:00:28 rhelts sshd[7112]: refused connect from 10.10.42.249 (10.10.42.249)
说明这么写也是可以的。
我们再来做个“游戏”,如果我把hosts.allow修改成hosts.deny呢?
结果还是一样的,如果有兴趣,你也可以做做实验。
阅读(4506) | 评论(0) | 转发(0) |