TCPwrapper访问控制工具

TCPwrapper访问控制工具

什么是TCPwrapper

  • TCPwrapper是一种访问控制工具是操作系统自带的,类似于防火墙(iptables)可以用作访问控制。
  • 针对系统进程来做限制的

TCPwrapper有两个配置文件(文件中写入ip或网段)
1./etc/hosts.allow 允许访问的文件(优先)
2./etc/hosts.deny 拒绝访问的文件
TCPwrappers会先查找/etc/hosts.allow,再查找/etc/hosts.deny,如果两个配置中有冲突,先匹配中的优先,也就是/etc/hosts.allow中的配置优先,如果两个配置都没命中,默认放行。


TCPwrapper作用范围
TCPwarpper要看该应用是否依赖libwrap.so这个库文件(系统默认自带)。例如tcpwrapper可以控制ssh服务,因为实现ssh协议的sshd程序依赖了libwarp.so库文件。

TCPwrapper的应用

准备三台机器关闭防火墙和SELinux,并做解析
192.168.202.130 xiaobai-test1
192.168.202.131 xiaobai-test2
192.168.202.132 xiaobai-test3
确定ssh服务处于开启状态(系统默认开机自启)

#查看某一个程序是否支持tcpwrapper
[root@xiaobai-test1] ldd `which sshd` | grep wrap   #查看ssh是否能被tcpwrapper控制
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fcef3b5b000)
[root@xiaobai-test1] ldd `which httpd` | grep wrap   #查看http是否支持tcpwrapper
/usr/bin/which: no httpd in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
ldd: missing file arguments
Try `ldd --help' for more information.
#没过滤出来说明不能被tcpwrapper控制

ssh的管理与攻防

上面三台机器解析已经配置好了,我们还需要一个远程连接工具FinalShell,并以ssh连接

#在test2上测试能否连接test1
[root@xiaobai-test2] ssh xiaobai-test1
[root@xiaobai-test1] exit   #退出
logout
Connection to xiaobai-test1 closed.
[root@xiaobai-test2]    #退出后我们又回到了test2主机上

在这里插入图片描述

#我们在test1主机上修改配置文件
[root@xiaobai-test1] vim /etc/hosts.deny   #拒绝访问的文件
sshd:192.168.202.131   #在最后一行写入test2主机的ip

#我们来到test2主机上再次尝试用ssh服务连接
[root@xiaobai-test2] ssh xiaobai-test1
ssh_exchange_identification: read: Connection reset by peer
#我们的访问连接被拒绝了,那我们到test3主机上试试连接
[root@xiaobai-test3] ssh xiaobai-test1
[root@xiaobai-test1] exit
logout
Connection to xiaobai-test1 closed.
[root@xiaobai-test3] 

test2主机
在这里插入图片描述
tset3主机在这里插入图片描述

#我们再次回到test1,在test1的允许文件里加入test2主机的ip
[root@xiaobai-test1] vim /etc/hosts.allow   #允许访问的文件
sshd:192.168.202.131

在这里插入图片描述

#我们到test2主机上
[root@xiaobai-test2] ssh xiaobai-test1 
[root@xiaobai-test1] exit
logout
Connection to xiaobai-test1 closed.
[root@xiaobai-test2] 

在这里插入图片描述
由此我们得出结论,TCPwrapper优先查看/etc/hosts.allow 里的的内容,没有匹配到再查看/etc/hosts.deny的内容,当然,我们在这里填的是ip,写网段也是可以的。如果不想让任何远程工具通过ssh连接自己的主机则可以在/etc/hosts.deny中写入sshd:ALL #拒绝所有 。一旦生效那么就要到物理机上修改配置了,公司中则要去机房修改,建议大家拒绝所有前一定要确保自己主机的ip能够连接,要在机器上的/etc/hosts.allow里输入公司的网关地址。

文中内容适用于初学者 @小白

发布了17 篇原创文章 · 获赞 19 · 访问量 1098

猜你喜欢

转载自blog.csdn.net/little_baixb/article/details/105596005