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

新入职没到两个月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

猜你喜欢

转载自blog.51cto.com/ygtq666/2321927
今日推荐