ssh防止暴力破解

查看服務器的登錄日誌並提取相關的信息。

/var/log/secure  ###sshd會將所有信息記錄(其中包括失敗登錄)在這裏。

qq截圖20180217225035.png

cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort -n| uniq -c| sort -rn

clipboard.png

從統計中可以看出登錄失敗的ip及次數或登錄用戶,此時就可以寫一個shell腳本來處理。

[root@xadmaster tmp]# cat test2.sh
#bin/bash
#Author:XAD
#Version:3.0
#Date=Sun Feb 17 22:02:36 CST 2018
LogPath=/var/log/secure
LimitLine=50   #根據需求而定
[ ! -f $LogPath ] && { echo "Warning:$LogPath is not exist!" ; exit 1;}
for i in `cat $LogPath | awk '/Failed/{print $(NF-3)}' | sort -n| uniq -c| sort -rn| awk '{print $1":"$2}'`
do
  #echo $i
  NUM=`echo $i | awk -F: '{print $1}'`
  IP=`echo $i | awk -F: '{print $2}'`
  #echo $NUM
  #echo $IP
  if [ $NUM -gt $LimitLine ];then
    grep $IP /etc/hosts.deny > /dev/null
      if [ $? -gt 0 ];then
        echo sshd:$IP >> /etc/hosts.deny
      fi
  fi
  #exit
done

查看該文件/etc/hosts.deny

clipboard (1).png


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