防止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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章