rich@rich-vb-u24:~/pure-php-app$ sudo fail2ban-client status nginx-4xx
[sudo] rich 的密碼: 
Status for the jail: nginx-4xx
|- Filter
|  |- Currently failed:	2
|  |- Total failed:	911
|  `- File list:	/home/rich/pure-php-app/nginx/logs/access.log
`- Actions
   |- Currently banned:	123
   |- Total banned:	123
   `- Banned IP list:	106.75.64.235 123.58.209.194 130.12.180.77 135.125.1.158 147.45.41.137.172.108 159.89.207.161 164.52.0.92 164.52.24.179 165.154.202.244 167.94.146.48 178.62.250.64 .179.136 190.167.112.113 195.178.110.137 20.100.191.218 20.100.198.199 20.215.186.32 20.52.1596.180.246.32 27.100.64.228 3.129.187.38 34.140.121.115 34.22.126.244 34.76.153.167 4.223.140.1.193.193 45.156.128.10 45.156.128.13 45.156.128.14 45.156.128.15 47.79.13.251 47.82.11.150 47. 51.103.131.31 51.158.248.246 52.159.244.95 62.146.235.70 66.132.172.131 66.132.195.122 66.132 72.146.33.199 80.94.95.211 66.132.195.99 199.45.155.70 150.107.38.206 20.203.208.53 207.154.2 151.243.11.230 74.249.224.76 74.248.97.169 87.236.176.19 171.67.71.223 18.116.101.220 138.19735.240.29.70 34.77.108.46 160.119.76.5 103.252.221.157 4.225.166.176 164.52.24.185 66.132.186..209.227.105 138.68.72.133 206.81.24.206 165.22.233.81 87.236.176.78 172.213.208.13 112.102.1972.161.1.105 159.65.148.75 94.96.184.195 156.236.110.176 103.55.90.11 181.214.140.97 103.199.25.122.122.122 61.129.155.200 66.132.195.113 66.132.172.130 202.125.94.185 85.215.122.94 103.63 172.213.227.73 159.223.132.86 176.32.193.16 5.101.64.6 20.215.70.187 3.130.168.2 111.231.101.210.142.177 4.223.73.90 20.203.165.80 66.132.172.203 66.132.172.214 45.148.10.125 34.156.150.1.151.254 34.34.141.47 138.197.15.182 165.154.172.115 205.169.39.5 20.250.24.46 172.232.232.48 9.125.91 20.100.172.153 165.154.163.173 165.154.162.82

哇!這份名單再次刷出了新高度,從 112 個 IP 迅速增加到了 123 個全球惡意 IP!

在這批最新落網的壞蛋中,出現了一個非常驚人且極具代表性的資安關鍵成果:

🚨 驚人發現:微軟 Azure 的那個大壞蛋終於落網了!

請看黑名單尾端的倒數第三個 IP:

20.100.172.153

這個 IP 是不是極度眼熟?沒錯!這就是我們幾天前在分析 Nginx 日誌時,在 7 秒鐘內發送了 18 次請求,瘋狂用 GET //aa.php、//av.php、media.php 來探測您 WordPress 後門與上傳漏洞的那台微軟 Azure 機器人!

現在它與其他 122 個壞蛋一起,被死死卡在您家裡伺服器 Docker 的最外層。它的後續所有掃描封包在摸到您的 Nginx 和 WordPress 之前,就會在門口被直接 REJECT 蒸發,這是一次非常漂亮的防禦印證!


🛠️ 實戰進階:如何啟用「累犯加重刑期」的二次捕獸夾(Recidive Jail)?

這 123 個 IP 在您設定的 28天(28d) 期限到期後,Fail2ban 會自動將它們放出來(Unban)。但根據實戰經驗,有高達 80% 的掃描器都是固定的殭屍網路成員,它們一被放出來,過幾天又會重新來掃您的網站。

為了徹底懲罰這種「累犯」,我們可以在 Fail2ban 中啟動一個內建的進階監控區塊(recidive)。

設定方法非常簡單,直接在您的 jail.d 中為它單獨建立一個設定檔:

步驟 1:建立累犯專用設定檔

sudo vim /etc/fail2ban/jail.d/recidive.local

步驟 2:貼入以下企業級的重刑配置

[recidive]
enabled  = true
port     = all
filter   = recidive
logpath  = /var/log/fail2ban.log
backend  = polling
# 🌟 如果在 1 天內(86400秒)不小心被別的規則 Ban 滿了 2 次
findtime = 86400
maxretry = 2
# 🌟 終極重刑:直接封鎖 1 年(31536000秒)
bantime  = 31536000
# 🌟 一樣守在 Docker 的最前線大門口
action   = iptables-allports[chain=DOCKER-USER]