当主机被非法连接的时候,我们可以做到收到一封邮件。
当系统收到服务请求时,启动tcpd进程,由tcpd进程检查客户机IP地址是否与/etc/hosts.allow文件和/etc/hosts.deny文件中的IP地址匹配,从而判断对服务请求是否拒绝。同时还记录到syslog文件中。
说起Tcp_wrapper的诞生,到有个小小的故事,大约在1990年,作者所在大学的服务器屡屡受到一个外来黑客侵入,因为受害主机的硬盘数据屡次被rm -rf /命令整个抹掉,所以找寻线索极为困难,直到有一天晚上Venema在工作的过程中无意中发现这个黑客在不断的finger受害主机,偷窥受害者的工作,在那个时候一个想法诞生了:设计一个软件,使它可以截获发起finger请求IP,用户名等资料,Venema 很快投入了工作,而Tcp_wrapper也由此出现。
黑名单:
在/etc/hosts.deny写
白名单:
在/etc/hosts.allow写允许局部
在/etc/hosts.deny 写拒绝所有
使用条件:
首先要确认服务可用tcp-wapper
[root@localhost ~]# ldd `which vsftpd` | grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f6d10fb4000)
[root@localhost ~]# ldd `which sshd` | grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f6f38608000)
[root@localhost ~]# ldd `which httpd` | grep libwrap.so
不支持
[root@pam ~]# man 5 hosts.deny
例子:
(1)黑名单
[root@localhost ~]# vim /etc/hosts.deny
sshd:172.16.12.99
sshd:172.16.0.0/16
sshd:ALL
3种写法
[root@localhost ~]# ssh 172.16.12.102
ssh_exchange_identification: read: Connection reset by peer
(2)白名单
[root@localhost ~]# vim /etc/hosts.deny
sshd:ALL
[root@localhost ~]# vim /etc/hosts.allow
sshd:172.16.12.99
连接shell命令,将非法连接的信息写入到日志文件:
不过对rm -fr /没用
sshd:ALL:spawn /bin/echo "`date` from %c to %s,%d" >> /tmp/ssh.log
spawn 连接shell命令的
%c 客户端的IP
%s 被连接端的IP
%d 进程
[root@localhost ~]# ssh 172.16.12.99
ssh_exchange_identification: read: Connection reset by peer
[root@localhost network-scripts]# vim /tmp/ssh.log
Wed Dec 18 03:40:44 CST 2019 from 172.16.12.102 to sshd@172.16.12.99,sshd
但是其实不用记录,因为ssh中已经有了。
连接shell命令,将非法连接的信息发送到邮箱:
[root@localhost ~]# yum install mailx -y
[root@localhost ~]# vim + /etc/mail.rc
结尾添加
set from=XXXX@163.com //发件人
set smtp=smtp.163.com //smtp服务器的域名
set smtp-auth-user=XXXX@163.com //用户名
set smtp-auth-password=XXXX //密码或者是授权码
set smtp-auth=login //验证方式,登录
这个写真实的邮箱地址,我的是163的。
邮件测试下:
[root@localhost ~]# echo "ssh test" | mail -s "mail test" XXXXXXXX@163.com

邮件已经看到了。
[root@localhost ~]# vim /etc/hosts.deny
sshd:ALL:spawn /bin/echo "`date` from %c to %s,%d" | mail -s "ssh非法连接" xxxxxxxxx@163.com
然后非法访问测试下:

就能收到邮件了
本文详细介绍了Tcp_wrappers的工作原理及其在系统安全中的应用。通过配置/etc/hosts.allow和/etc/hosts.deny文件,可以实现对主机服务的黑白名单控制,有效抵御非法连接。文章还提供了具体的配置示例,并展示了如何利用连接shell命令记录非法连接信息,甚至发送警告邮件。
3395

被折叠的 条评论
为什么被折叠?



