一、目标
在某些特殊情况下,服务器有很多恶意暴力ssh破解的攻击。解决的办法有很多,这里用/etc/hosts.deny增加黑名单的方式来简单阻止一下。
二、前言
/etc/hosts.allow 优先于 /etc/hosts.deny。
如果在allow和deny文件中都有某个ip,那么这个ip是被允许ssh。
如果在allow中有,deny没有,那么这个ip是被允许ssh。
如果allow中没有,deny有,那么这个ip是被禁止ssh。
还可以在 /etc/hosts.deny文件里追加一个额外配置,让其读取另外一个ip列表。这样可以使你以后维护需要禁止的ip更方便
三、 /etc/hosts.deny的使用方法
1、方法1:
直接在 /etc/hosts.deny文件里写拒绝规则
bash
echo "sshd: 10.0.1.29" >> /etc/hosts.deny
2、方法2:
在 /etc/hosts.deny文件写一个额外读取ip列表的规则
bash
echo "sshd: /etc/sshd.deny.hostguard" >> /etc/hosts.deny'
bash
echo "10.0.1.29" >> /etc/sshd.deny.hostguard
注:以后就往sshd.deny.hostguard里面写恶意ip的地址就行了。保持一行一个ip。
四、(附)看哪些ip在恶意访问
bash
tail -f /var/log/secure
bash
tail -n 100 /var/log/secure |grep 'Failed password' |egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}'
bash
lastb -n 500 |awk '{print $3}' |sort |uniq |egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}'
注意检查别有自己ip被写进去了
----------------------2024年5月11日09:21:49--------------------