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

2021-10-08 21:32:19 字數 1994 閱讀 9073

1.修改 ssh 預設埠

注:修改之前,記得先把對應埠在防火牆新增規則

1.1 修改ssh埠為 2968(這個埠建議使用 1024 以上的)

# sed -i 's/#port 22/port 2968/g' /etc/ssh/sshd_config
1.2 重啟ssh

# systemctl restart sshd
1.3 檢視埠是否更改

# netstat -ntlp | grep 2968

tcp 0

00.0

.0.0

:2968

0.0.0.0:

* listen 1686

/sshd

tcp6 00:

::2968::

:* listen 1686

/sshd

※還有通過禁用root賬戶ssh登入

① 使用root賬戶登入系統,新增乙個普通賬戶例如centos,並為其設定密碼

# useradd centos 

# passwd 123456

②修改配置檔案

編輯配置檔案/etc/ssh/sshd_config修改permitrootlogin後面的yes為no,同時可以限制失敗次數

注意: 這個失敗次數是對所有使用者都起作用的。

# sed -i 's/permitrootlogin yes/permitrootlogin no/g' /etc/ssh/sshd_config

# sed -i 's/#maxauthtries 6/maxauthtries 3/' /etc/ssh/sshd_config

如果需要使用root許可權,可以使用su或者sudo進行切換。

注:上面這個步驟是通過「禁止root登入」,禁止root登入,會因密碼太複雜記不住,切換root使用者不方便。看個人意願,hh

2.防止 ssh 暴力破解指令碼

#!

/bin/bash

#篩選出狀態為failed的ip和次數

cat /var/log/secure|awk '/failed/'

|sort|uniq -c|awk ''

|grep -v 'session'

>>

/usr/local/bin/denyhosts.txt

#篩選出狀態為invalid user的ip和次數

cat /var/log/secure|awk '/invalid user/'

|sort|uniq -c|awk ''

>>

/usr/local/bin/denyhosts.txt

define=

"10" #規定允許次數為10次

for i in `cat /usr/local/bin/denyhosts.txt`

doip=`echo $i |awk -f=

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

''` if

[ $num -gt $define ]

; then

grep $ip /etc/hosts.deny >

/dev/null

if[ $?

-gt 0

]; then

echo "sshd:$ip"

>>

/etc/hosts.deny

fifi

done

新增計畫任務

# crontab -e

# 每五分鐘檢查一次*/

5***

*/bin/bash /data/scripts/ssh_crack.sh

Centos7 如何防止SSH暴力

3 ssh暴力破解檢視 4 驗證多次錯誤被禁止ssh 5 注意點 6 參考資料 ssh 為 secure shell 的縮寫,由 ietf 的網路小組 network working group 所制定 ssh 為建立在應用層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供...

Centos下防止ssh暴力破解密碼的方法

方法一 收集 var log secure 裡面的資訊,若是某個ip 鏈結次數超過一定次數 則把此ip記錄到 etc hosts.deny裡面。通過crontab來執行,每分鐘執行一次。1 root denyhosts denyhosts.sh bin bash cat var log secure...

防止SSH暴力破解

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