Centos下防止ssh暴力破解shell指令碼

來源:互聯網
上載者:User

指令碼

#! /bin/bash
 
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt    #篩選出狀態為Failed的ip和次數
 
cat /var/log/secure|awk '/Invalid user/{print $NF}'|sort|uniq -c|awk '{print $2"="$1;}' >> /root/black.txt   #篩選出狀態為Invalid user的ip和次數
 
DEFINE="20"    #規定允許次數為20次
 
for i in `cat /root/black.txt`
 
do
 
IP=`echo $i |awk -F= '{print $1}'`
 
NUM=`echo $i|awk -F= '{print $2}'`
 
if [ $NUM -gt $DEFINE ];
 
then
 
grep $IP /etc/hosts.deny > /dev/null
 
if [ $? -gt 0 ];
 
then
 
echo "sshd:$IP" >> /etc/hosts.deny
 
fi
 
fi
 
done
規定當登入失敗或者非法使用者的ip次數達到20次後就把ip加入到hosts.deny中。
因為secure記錄檔是每周六就會自動封存,於是我們可以寫個排程定製去跑這個指令碼
每天淩晨1點運行

0 1 * * * /usr/local/bin/ssh_black.sh 2>&1 >>/dev/null

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.