Centos7 如何防止SSH暴力

2021-10-04 09:41:53 字數 3843 閱讀 6805

3、ssh暴力破解檢視

4、 驗證多次錯誤被禁止ssh

5 、注意點

6、參考資料

ssh 為 secure shell 的縮寫,由 ietf 的網路小組(network working group)所制定;ssh 為建立在應用層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 ssh 協議可以有效防止遠端管理過程中的資訊洩露問題。ssh最初是unix系統上的乙個程式,後來又迅速擴充套件到其他操作平台。ssh在正確使用時可彌補網路中的漏洞。ssh客戶端適用於多種平台。幾乎所有unix平台—包括hp-ux、linux、aix、solaris、digital unix、irix,以及其他平台,都可執行ssh。[引用](
windows 10、家庭網路不固定ip、

xshell6、xftp

檢視登入日誌檔案#vim /var/log/secure,內容做了刪減

mar 24 07:20:24 root sshd[29081]: failed password for invalid user vnc from 104.248.227.130 

mar 24 07:20:25 root sshd[29083]: failed password for invalid user newscng from 125.91.105.108

mar 24 07:20:25 root sshd[29083]: received disconnect from 125.91.105.108 port 33659:11: bye bye [preauth]

mar 24 07:20:32 root sshd[29085]: pam_unix(sshd:auth): check pass; user unknown

mar 24 07:20:32 root sshd[29085]: pam_unix(sshd:auth): authentication failure; rhost=182.61.14.224

3.1.1這些行中的ip位址,錯誤超過次數超過指定數字 /etc/hosts.deny中

3.1.2正確的也做記錄寫入記錄檔案中,方便檢視有哪些ip位址登入過系統

3.2.1vim /usr/local/bin/secure_ssh.sh

#! /bin/bash

cat/

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

|sort

|uniq -c|awk '' >/root/black.txt

define="2"

for i in `cat

/root/black.txt`

do ip=`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:deny" >> /etc/hosts.deny

fifi

done

ps:

很多同學使用windows系統通過xshell等工具,用xftp工具開啟編輯,這種方式筆者試過出現寫入到/root/black.txt檔案變成了/root/black.txt?,導致無法寫入/etc/hosts.deny,建議使用vim的方式編輯!

3.2.2vim /usr/local/bin/secure_ssh_accepted.sh

#! /bin/bash

cat/

var/log/secure*

|awk '/accepted/'

|sort

|uniq -c|awk '' >/root/black-accepted.txt

登入成功的ip寫入 /root/black-accepted.txt檔案,登入成功關鍵字為accepted3.2.3 加入 兩個s**件到定時任務

(1)#crontab -e

*/1 ***

* sh /usr/local/bin/secure_ssh.sh

*/1 ***

* sh /usr/local/bin/secure_ssh_accepted.sh

(2)esc -> wq

生效3.3.1檢視登入失敗ip listvim /root/black.txt筆者記錄如下

193.105.107.135=6

193.112.174.89=29

**193.112.19.189=11939**

193.112.219.176=30

193.112.40.170=30

193.112.44.102=6

193.112.53.50=6

193.112.59.163=355

193.112.93.2=1

193.142.146.21=11

193.148.69.157=9

193.70.39.58=6

195.12.137.210=25

195.214.223.84=2

195.223.211.242=60

此處發先乙個ip位址193.112.19.189登入密碼錯誤次數 11939次,好暴力!!!,

3.3.2 檢視 host.deny檔案# vim /etc/hosts.deny

sshd:192.95.6.110:deny

sshd:192.99.151.33:deny

sshd:192.99.168.9:deny

sshd:192.99.245.135:deny

sshd:193.112.174.89:deny

*sshd:193.112.19.189:deny*

sshd:193.112.219.176:deny

sshd:193.112.40.170:deny

sshd:193.112.59.163:deny

sshd:193.142.146.21:deny

sshd:193.148.69.157:deny

sshd:195.12.137.210:deny

此檔案已經寫入到禁止ssh中,完成配置

3.3.3 檢視登入成功記錄# vim /root/black-accepted.txt

192.168.2.126=8

192.168.2.62=2

192.168.2.113=1

此處ip做了處理轉換,各位同學可以檢視自己的檔案

驗證過程大家可以用別的機器 多次錯誤使用者密碼嘗試ssh,按第二章節內容進行檢視,以及看ssh的登入提示資訊,此處就不再貼出內容。

(1)編寫shell指令碼請在linux環境vim的方式,不要像筆者這樣經常偷懶用xftp右鍵編輯.s**件,否則會出現txt檔案後面有問號

(2)錯誤次數建議設定大一點,否則如果是同事之間在公司網路訪問同一臺雲伺服器,可能因某些同事錯誤次數累加而導致被禁止ssh

[1]: ssh定義引用

[2]: ssh暴力破解指令碼參考

Centos7 安裝fail2ban防止暴力

安裝epel yum y install epel release安裝fail2ban yum y install fail2ban開機自啟fail2ban systemctl enable fail2ban啟動fail2ban systemctl start fail2ban檢視fail2ban安...

CentOS7如何修改SSH登入埠

centos7修改ssh預設登入埠和centos6差不多,就是防火牆不一樣,然後關閉selinux最好。修改ssh預設22埠 vi etc ssh sshd config 在port 22下面加一行,以埠50000為例,port 50000 然後儲存,重啟ssh服務systemctl restart...

CentOS 7 如何實現SSH自動登入

我們經常會需要從本地linux主機登入到服務端linux主機,每次登入都需要輸入密碼,以下步驟可以實現免密碼自動登入。ssh keygen t rsa出現提示預設都回車,輸出結果類似 此時會在.ssh目錄生成兩個檔案 id rsa id rsa.pub scp ssh id rsa.pub your...