Linux CentOS 防止SSH暴力破解

2022-07-11 17:45:09 字數 3584 閱讀 8191

昨晚苦逼加班完後,今早上班繼續幹活時,ssh連線伺服器發現異常的提示,仔細看了一下嚇一小跳,昨晚9點鐘到現在,一夜之間被人嘗試連線200+,慌~~~

[root@zwlbsweb ~]# cd /var/log

[root@zwlbsweb log]# ll -h

-------------------------省略部分資訊------------------------------

-rw------- 1 root root 4.9m jul 17

10:10

secure

-rw------- 1 root root 38m jun 24

03:29 secure-20190624

-rw------- 1 root root 64m jun 30

03:10 secure-20190630

-rw------- 1 root root 46m jul 7

03:37 secure-20190707

-rw------- 1 root root 14m jul 15

03:41 secure-20190715

-------------------------省略部分資訊------------------------------

發現secure日誌檔案咋都這麼大?原來不止是昨晚被攻擊,之前就已經挨無數的暴擊了。

發現被無數不同的ip位址和不同的使用者進行ssh嘗試連線。

i. 修改ssh埠為 2298(這個埠建議使用 1024 以上的)

[root@zwlbsweb ~]# vim /etc/ssh/sshd_config

---------------配置如下----------------port

2298

ii. 重啟ssh

[root@zwlbsweb ~]# systemctl restart sshd
iii. 檢視埠是否更改

[root@zwlbsweb ~]# netstat -ntlp | grep 2298

tcp 00

0.0.0.0:2298

0.0.0.0:* listen 15156/sshd

tcp6

00 :::2298 :::* listen 15156/sshd

注:還有個步驟就是「禁止root登入」,我這裡就不禁止root登入了,因為密碼太複雜記不住,切換root使用者不方便。

#! /bin/bash

cat /var/log/secure|awk '

/failed/

'|sort|uniq -c|awk '

' > /sshprevent/black.txt

define="10"

for i in `cat /sshprevent/black.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

新增計畫任務:

[root@zwlbsweb ~]# crontab -e

*/5 * * * * /bin/bash /sshprevent/ssh_pervent.sh

# 每五分鐘檢查一次

# 重啟crontab

[root@zwlbsweb ~]# systemctl restart crond

五分鐘後,檢視是否成功:

[root@zwlbsweb ~]# cat /sshprevent/black.txt 

103.101.232.208=1

103.108.187.4=2

103.248.220.249=15

104.131.93.33=1

104.236.122.193=2

104.236.186.24=2

104.236.246.16=1

104.244.79.33=4

104.248.211.180=2

......

-------------------------------我是分割線----------------------------------[root@zwlbsweb ~]# cat /etc/hosts.deny

## hosts.deny this file contains access rules which are used to

# deny connections to network services that either use

## the rules

inthis file can also be set up in

# /etc/hosts.allow with a '

deny

'option instead.

## see

'man 5 hosts_options

' and '

man 5 hosts_access

'#

forinformation on rule syntax.

# see

'man tcpd

'for

#sshd:

103.248.220.249

sshd:

104.248.88.106

sshd:

106.12.18.37

sshd:

106.51.230.186

sshd:

106.75.17.91

sshd:

112.21.188.183

sshd:

112.221.179.133

......

小小的防範措施就到此完成了!

半天已經過去了,我們再次檢視 secure 日誌檔案。

ssh連線沒有提示了,日誌也恢復了正常狀態,感謝博友們,收工!

面試隨筆ss

等閒了再來梳理 觸發器 deleted 與inserted 資料的差異 inserted 存放進行insert和update 操作後的資料 deleted 存放進行delete 和update操作前的資料 注意 update 操作相當於先進行delete 再進行insert 所以在進行update操...

linux基本監控 ss

1.ss是socket statistics的縮寫,是俄羅斯人寫的,ss優勢是能夠顯示更詳細的tcp和連線狀態資訊,而且比netstat更快速更高效。注意 當1萬以上tcp連線時候,通常就不再使用netstat cat proc net tcp 也一樣 而是用ss ss快的快在於,它利用到了tcp協...

網路工具 ss

ss命令用於顯示socket狀態.他可以顯示packet sockets,tcp sockets,udp sockets,dccp sockets,raw sockets,unix domain sockets等等統計.它比其他工具展示等多tcp和state資訊.它是乙個非常實用 快速 有效的跟蹤i...