天天看點

Linux防止ssh暴力掃描IP

首先修改ssh端口。

建立腳本pb_ssh.sh

#! /bin/bash

#crontab 每隔1分鐘執行一次

#*/1 * * * * /root/pb_ssh.sh

# 擷取前 1 分鐘内的 secure 記錄,統計 ssh 認證失敗的 IP 和其 失敗次數

SCANNER=`grep "$(date -d -1min|awk '{print substr($0,10,7)}')" /var/log/secure|awk '/Failed/{print $(NF-3)}'|awk -F":" '{print $NF}'|grep -v from|sort|uniq -c|awk '{print $1"="$2;}'`

for i in $SCANNER

do

      # 取認證失敗次數

      NUM=`echo $i|awk -F= '{print $1}'`

      # 取其 IP 位址

      IP=`echo $i|awk -F= '{print $2}'`

      # 若其在失敗次數超過 5 次且之前沒有被阻斷過,那麼添加一條政策将其阻斷,并記錄日志

      if [ $NUM -gt 5 ] && [ -z "`iptables -vnL INPUT|grep $IP`" ]

      then

              /sbin/iptables -I INPUT -s $IP -j DROP

              echo "`date` $IP($NUM)" >> /var/log/scanner.log

      fi

done

恢複被屏蔽的IP,從另外一台伺服器登入,重新開機防火牆服務即可

iptables -L

iptables -vnL INPUT

配置步驟

su - root

chown root.root pb_ssh.sh 

chmod 755 pb_ssh.sh 

#crontab 每隔1分鐘執行一次 防止ssh掃描

繼續閱讀