当主机被非法连接的时候,我们可以做到收到一封邮件。
两个配置文件:
host.allow
host.deny
黑名单:
在/etc/hosts.deny写
白名单: 白名单注意先后顺序,先允许后拒绝
在/etc/hosts.allow写允许局部
在/etc/hosts.deny 写拒绝所有
使用条件:
使用ldd查询对应的命令是否有如下结果,当返回结果时,可以使用
[root@pam ~]# ldd `which vsftpd` | grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f6d10fb4000)
支持
[root@pam ~]# ldd `which sshd` | grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f6f38608000)
支持
[root@pam ~]# ldd `which httpd` | grep libwrap.so
不支持
使用man 5 去查看hosts.deny的配置方式
[root@pam ~]# man 5 hosts.deny
例子:
(1)黑名单
[root@pam ~]# vim /etc/hosts.deny
sshd:172.16.0.9
sshd:172.16.0.0/16
sshd:ALL
测试
[root@centos7-bj ~]# ssh 172.16.0.101
ssh_exchange_identification: read: Connection reset by peer
当客户端所处网段在黑名单范围内,无法使用ssh去连接.
例子:
(2)白名单
[root@pam ~]# vim /etc/hosts.deny
sshd:ALL
[root@pam ~]# vim /etc/hosts.allow
sshd:172.16.0.20
连接shell命令,将非法连接的信息写入到日志文件:
rm -fr / 没用
记录访问日志
将访问被拒绝的记录添加到日志
[root@pam ~]# vim /etc/hosts.deny
sshd:ALL:spawn /bin/echo "`date` from %c to %s,%d" >> /tmp/ssh.log
spawn 连接shell命令的
%c 客户端的IP
%s 被连接端的IP
%d 进程
[root@pam ~]# > /tmp/ssh.log
[root@centos7-bj ~]# ssh 172.16.0.101
ssh_exchange_identification: read: Connection reset by peer
[root@pam ~]# cat /tmp/ssh.log
Tue Dec 17 15:51:15 CST 2019 from 172.16.0.9 to sshd@172.16.0.101,sshd
连接shell命令,将非法连接的信息发送到邮箱:
[root@pam ~]# yum install -y mailx
[root@pam ~]# vim + /etc/mail.rc
结尾添加
set from=xxxxxx@163.com
##发件人
set smtp=smtp.163.com
##smtp服务器的域名
set smtp-auth-user=xxxxxx@163.com
##用户名
set smtp-auth-password=ABC123qwe (登录密码,163邮箱是授权码)
##密码
set smtp-auth=login
##验证方式,登录
测试发送消息:
[root@pam ~]# echo "ssh test" | mail -s "mail test" xxxxxx@163.com
[root@pam ~]# vim /etc/hosts.deny
sshd:ALL:spawn /bin/echo "`date` from %c to %s,%d" | mail -s "ssh非法连接" xxxxxx@163.com
===========================================
安全意识
安全制度
线上节点:
ssh
禁止root直连
修改默认端口
普通用户要强密码 8-15位
root用户要更强密码 20-30位
约束哪些普通用户能ssh
pam
约束哪些用户能su - root
系统资源
来源:CSDN
作者:Yeoman_Wayne
链接:https://blog.csdn.net/weixin_42502744/article/details/103584842