Linux的防火墙权限深度学习
TCP wrappers TCP Wrappers主要是分析谁对某程序进行访问,然后通过规则去分析该服务器程序谁能够连接、谁不能连接。由于主要是通过分析服务器程序来管理,因此与启动的端口无关,只与程序的名称有关,TCP wrappers通过客户端想要链接的程序文件名,然后分析客户端的ip,看看是否需要放行 TCP Wrappers机制: TCP Wrappers通过/etc/hosts.allow和/etc/hosts.deny这两个文件来管理一个类似防火墙的机制,但并非所有的软件都可以通过这两个文件来管理,只有下面的软件才能够通过这两个文件来管理防火墙规则,分别是: 由super daemon(xinetd)所管理的服务 支持libwrap.so模块的服务 查询某个服务是否有该模块 [root@lxb ~]# ldd `which sshd `| grep libwrap 当有请求到达本机时,/etc/hosts.allow和/etc/hosts.deny这两个文件的优先顺序如下: 先以/etc/hosts.allow进行优先对比,该规则符合就予以放行 再以/etc/hosts.deny比对,若符合就抵挡 若不在这两个文件内,即规则都不符合,最终予以放行 /etc/hosts.allow和/etc/hosts.deny文件设置格式: //服务列表:主机列表:选项 ①服务列表是要支持的服务名,例如vsftpd,sshd等 ②常用的主机列表参数如下 客户端类型 示例 满足示例的客户端列表 单一主机 192.168.10.10 IP地址为192.168.10.10的主机 指定网段 192.168.10. IP段为192.168.10.0/24的主机 指定网段 192.168.10.0/255.255.255.0 IP段为192.168.10.0/24的主机 指定DNS后缀 .haha.com 所有DNS后缀为.haha.com的主机 指定主机名称 www.haha.com 主机名称为www.haha.com的主机 指定所有客户端 ALL 所有主机全部包括在内 ③选项是控制的动作,allow接受连接请求,deny拒绝连接请求 //192.168.220.129拒绝192.168.220.234主机的ssh访问 [root@lxb ~]# vim /etc/hosts.deny sshd:192.168.220.234 [root@localhost ~]# ssh 192.168.220.129 ssh_exchange_identification: read: Connection reset by peer //设置允许192.168.220.网段主机的ssh访问 [root@lxb ~]# vim /etc/hosts.allow sshd:192.168.220. [root@localhost ~]# ssh 192.168.220.129 root@192.168.220.129s password: Last login: Fri Dec 31 23:29:32 2021 from 192.168.220.131 [root@lxb ~]# //在/etc/hosts.allow中设置拒绝192.168.220.234的ssh访问 [root@lxb ~]# vim /etc/hosts.allow sshd:192.168.220.234:deny [root@localhost ~]# ssh 192.168.220.129 ssh_exchange_identification: read: Connection reset by peer //在/etc/hosts.deny中设置允许192.168.220.234的ssh访问: [root@lxb ~]# vim /etc/hosts.deny 添加 sshd:192.168.220. except 192.168.220.234 #或者 sshd:1192.168.220.234:allow [root@localhost ~]# ssh 192.168.220.129 root@172.24.8.128s password: Last login: Fri Dec 31 23:49:32 2021 from 192.168.220.234 [root@lxb ~]#