您的位置:首页 > 其它

防止SSH暴力破解及锁定文件系统

2018-11-26 10:02 197 查看

新入职没到两个月Linux服务器就出现问题了。给外国***ssh暴力破解,然后安装挖矿病毒,导致cpu满了,远程都链接不上,只能重装系统,重装完系统自己写了一个防止暴力破解的脚本设置了定时任务,锁定了关键的文件。
查看/var/log/secure 文件可以看到很多认证失败的Failure的ip登录信息。所以想到根据secure文件查看失败的ip如果超过五次,那么就把此ip写入/etc/hosts.deny文件,禁止此ip登录。我用了第一种方法,设置了定时任务,每分钟执行一次。执行之后,查看secure文件就没有那么多失败的信息日志输出了。
1、
收集 /var/log/secure 里面的信息,若是某个IP 链接次数超过一定次数 ,则把此ip记录到/etc/hosts.deny里面。
通过crontab来执行,每分钟执行一次。

*/1 * * * * /bin/bash /root/jackhosts/jackhosts.sh

#!/bin/bash
#jackhosts SHELL SCRIPT

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"=" $1;}' >/root/jackhosts/jackhosts.txt
DEFINE="5"
for i in `cat /root/jackhosts/jackhosts.txt`
do
IP=`echo $i|awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ]
then
ipExists=`grep $IP /etc/hosts.jack |grep -v grep |wc -l`
if [ $ipExists -lt 1 ]
then
echo "sshd:$IP" >> /etc/hosts.jack
fi
fi

2、
锁定关键文件系统

复制代码
加锁,不可修改加锁文件
[root@jokerpro ~]# chattr +i /etc/passwd
[root@jokerpro ~]# lsattr /etc/passwd
----i--------e-- /etc/passwd
去锁,可以修改文件
[root@jokerpro ~]# chattr -i /etc/passwd
[root@jokerpro ~]# lsattr /etc/passwd
-------------e-- /etc/passwd
复制代码
使用chattr命令后,为了安全我们需要将其改名xg,反正改了之后自己需要记住这个命令修改过了以后好查询。
mv /usr/bin/chattr /usr/bin/xg

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  防止 SSH 暴力