ssh遠端暴力破解防範

2021-10-24 21:21:53 字數 1405 閱讀 3968

1、禁止所有使用者使用密碼登入,只允許金鑰登入

sed -i s/"passwordauthentication yes"/"passwordauthentication no"/   /etc/ssh/sshd_config
注意:需要先生成金鑰,配置測試沒有問題再禁止所有使用者使用密碼登入

2、自定義乙個遠端登入埠

sed -i '/port 22/i\port 1234' /etc/ssh/sshd_config
3、重啟服務

systemctl restart sshd  #centos7為例
#crontab -e # 配置每10分鐘執行一次

新增

*/10 * * * * /bin/bash /root/brute_force_detection.sh
** ubuntu和centos都可以使用 **

#!/bin/bash

# ssh exception remote login forbid script

cat /etc/redhat-release > /dev/null 2>&1

if [ $? -eq 0 ];then

route=/var/log/secure

else

route=/var/log/auth.log

fi cat $route | awk '/failed/' |grep "[[:digit:]]" | sort | uniq -c | awk '' > secure.txt

value=1

for i in `cat secure.txt`

doip=`echo $i | awk -f= ''`

num=`echo $i | awk -f= ''`

if [ $num -gt $value ];then

grep $ip /etc/hosts.deny > /dev/null

if [ $? -gt 0 ];then

echo "sshd:$ip" >> /etc/hosts.deny

fifi

done

awk 『/failed/』

使用awk篩選包含failed的行,列印倒數第4個元素的內容,陣列預設從0開始,所以是nf-3

grep 「[[:digit:]]」

只列印數字,否則會匹配到倒數第4個元素為connection的情況

/etc/hosts.allow和/etc/hosts.deny檔案

乙個ip請求連入,linux的檢查策略是先看/etc/hosts.allow中是否允許,如果允許直接放行;如果沒有,則再看/etc/hosts.deny中是否禁止,如果禁止那麼就禁止連入。

拒絕ssh遠端暴力破解

判斷自己正在遭受ssh暴力破解 使用lastb命令,會顯示最近錯誤登入的日誌,如果資料過多且ip位址來自不同地區,則可以確定 防範暴力破解的方式yum y update reboot yum y install mlocate yum y install lsof wget 提前進入儲存解壓目錄 t...

防止SSH暴力破解

我的伺服器每天都會有無數的ssh失敗嘗試記錄,有些無聊的人一直不停的掃瞄,這些人真夠無聊的,沒事吃飽了撐著,老找些軟體在那裡窮舉掃瞄,所以大家第一要記的設定乙個好的夠複雜的密碼。怎麼樣防,如果要一條一條將這些ip阻止顯然治標不治本,還好有denyhosts軟體來代替我們手搞定他。denyhosts是...

centos 防ssh暴力破解

說明 本篇實現shell統計訪問失敗的ip和次數,從而根據這些再通過防火牆規則來限制這些ip再次暴破,指令碼如下 實現 1.編寫shell指令碼 cat root ssh failed.sh 內容如下 bin sh scanip grep failed var log secure awk sort...