我最近自己的服务器一直被攻击,防火墙因为我一直要用到一些端口,所以就没有开!
很蛋疼,我服务器就1h2g,天天来我这挖矿,能挖个屁啊,带宽也就1M,真的很烦。
好了啰嗦完了,奔入正题:
我服务器是centos7的系统!防火墙就不说了!
下面这个方法实用于------别人的暴力破解!
添加黑名单只需要ip加入到 /etc/hosts.deny
格式为:sshd:$IP:deny或者all:$IP:deny
例如打开vim /etc/hosts.deny 然后添加:sshd:10.10.10.10:deny
既然有黑名单就有白名单 /etc/hosts.allow
例如打开vim /etc/hosts.allow 然后添加:sshd:10.10.10.10:allow
那么又有问题了,我哪里知道那些ip在暴力破解我的服务器啊,我不知道怎么添加黑名单???
关于这点,我在网上找到一段代码可以检测那些ip在登陆你的服务器,次数可以自己设置,我这里设置登陆错5次就加入黑名单!!
先说步骤:
1.编辑脚本vim /usr/local/bin/secure_ssh.sh
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat /usr/local/bin/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt 5 ];then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
2.创建登陆失败次数记录文件touch /usr/local/bin/black.txt
3.添加定时器(crontab)5分钟执行一次
*/5 * * * * sh /usr/local/bin/secure_ssh.sh
4、测试 ssh登录 ssh 10.10.1.1
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt
6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
但是这个脚本特么的有bug,也就是你登陆成功了,不是登错的,也会被拉黑名单,mmp的这点很烦,那么咋整呢?
很简单加入白名单就O几把K了!!!!!!!!!!!!!!!
资料来源于网络。侵权请告知删除!!!!!!