15 tcp_wrappers 命令详解
1-1. 查看是否已安装服务tcp_wrappers
1 | rpm -qa | grep tcp_wrappers |
2-1. 安装 tcp_wrappers
1 | yum install -y tcp_wrappers |
3-1. 允许行为存储位置
1 | vi /etc/hosts.allow |
3-2. 禁止行为存储位置
1 | vi /etc/hosts.deny |
4-1. 检测sshd是否链接至libwrap库上. 能链接上才支持tcp_wrapper.[sshd,telnetd 是支持,httpd就不支持]
1 | ldd `which sshd` | grep libwrap |
4-2. 检测telnetd是否链接至libwrap库上. 能链接上才支持tcp_wrapper.[sshd,telnetd,vftpd 是支持,httpd就不支持]
1 | strings `which in.telnetd` | grep hosts |
4-3. 检测vsftpd是否链接至libwrap库上. 能链接上才支持tcp_wrapper.[sshd,telnetd,vftpd 是支持,httpd就不支持]
1 | ldd `which vsftpd` | grep libwrap |
5-1. 定义tcp_wrapper规则文件—仅放行网段[192.168.0.0/16]访问本机ssh服务
1 | vi /etc/hosts.allow |
1 | sshd: 192.168.0.0/16 |
1 | vi /etc/hosts.deny |
1 | sshd: ALL |
5-2. 定义tcp_wrapper规则文件—全部放行访问本机ssh服务,但不允许192.168.122.147
1 | vi /etc/hosts.allow |
1 | sshd: ALL EXCEPT 192.168.122.147 |
1 | vi /etc/hosts.deny |
1 | sshd: ALL |
5-3. 定义tcp_wrapper规则文件—允许本机网段[192.168.0.0/16]访问本机ssh服务,但不允许192.168.122.147
1 | vi /etc/hosts.allow |
1 | sshd: 192.168.0.0/16 EXCEPT 192.168.122.147 |
1 | vi /etc/hosts.deny |
1 | sshd: ALL |
5-4. 定义tcp_wrapper规则文件—不允许本机网段[192.168.0.0/16]访问本机ssh服务,但允许192.168.122.1——-方法一
1 | vi /etc/hosts.allow |
1 | sshd: 192.168.122.1 |
1 | vi /etc/hosts.deny |
1 | sshd: 192.168.0.0/16 |
5-5. 定义tcp_wrapper规则文件—不允许本机网段访问本机ssh服务,但允许192.168.122.1——-方法二
1 | vi /etc/hosts.deny |
1 | sshd: 192.168.0.0/16 EXCEPT 192.168.122.1 |
6-1. 使用spawn命令调用记录用户访问控制记录信息 –全部都可以访问
1 | vi /etc/hosts.allow |
1 | sshd: ALL : spawn echo "%a from %h attempted to access %d on,`date`" >> /var/log/tcpwrapper.log |
得到访问记录
1 2 3 | 192.168.122.147 from 192.168.122.147 attempted to access sshd on,Thu Sep 3 23:02:56 CST 2020 192.168.122.121 from 192.168.122.121 attempted to access sshd on,Thu Sep 3 23:03:30 CST 2020 192.168.122.121 from 192.168.122.121 attempted to access sshd on,Thu Sep 3 23:03:42 CST 2020 |
1 2 3 4 5 6 7 | %c 访问的客户端信息 (user@host) %s 访问的服务器端信息 (server@host) %p 服务器 PID %% 表示% %a address %h hostname %d daemon[服务名] |
6-2. 使用spawn命令调用记录用户访问控制记录信息 –全部都可以访问
把提示改成”$(date +%%F) login attempt from %c to %s,%d”
1 | vi /etc/hosts.allow |
1 | sshd: ALL : spawn echo "$(date +%%F) login attempt from %c to %s,%d" >> /var/log/tcpwrapper1.log |
得到访问记录
1 2 | 2020-09-03 login attempt from 192.168.122.147 to sshd@192.168.122.234,sshd 2020-09-03 login attempt from 192.168.122.147 to sshd@192.168.122.234,sshd |