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...