160.30.157.214 - - [06/Aug/2026:22:08:00 +0800] "POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1" 400 157 "-" "-" "-"160.30.157.214 - - [06/Aug/2026:22:08:02 +0800] "POST /cgi-bin/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/bin/sh HTTP/1.1" 400 157 "-" "-" "-"160.30.157.214 - - [06/Aug/2026:22:08:04 +0800] "POST /hello.world?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1" 404 42733 "-" "libredtail-http" "-"160.30.157.214 - - [06/Aug/2026:22:08:05 +0800] "POST /?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1" 200 51353 "-" "libredtail-http" "-"160.30.157.214 - - [06/Aug/2026:22:08:06 +0800] "POST /index.php?%25ADd+allow_url_include%3D1+%25ADd+auto_prepend_file%3Dphp://input HTTP/1.1" 200 51353 "-" "libredtail-http" "-"160.30.157.214 - - [06/Aug/2026:22:08:06 +0800] "POST /test.hello?%25ADd+allow_url_include%3D1+%25ADd+auto_prepend_file%3Dphp://input HTTP/1.1" 404 42741 "-" "libredtail-http" "-"160.30.157.214 - - [06/Aug/2026:22:08:07 +0800] "POST /index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input HTTP/1.1" 200 51353 "-" "libredtail-http" "-"160.30.157.214 - - [06/Aug/2026:22:08:08 +0800] "GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 404 153 "-" "libredtail-http" "-"
請解釋
這段日誌記錄了網際網路上極度危險且目標精準的**「自動化漏洞利用與後門植入掃描」(Vulnerability Exploitation & RCE Scan)**。
攻擊者(IP:160.30.157.214,使用工具 libredtail-http)在短短 8 秒鐘內 連續發射了多種不同類型的著名遠端代碼執行(RCE)武器。他試圖直接綁架您的伺服器作業系統,或是利用 PHP 漏洞在您的 WordPress 中塞入惡意木馬。
以下為您詳細拆解駭客這 8 秒鐘內每一步的致命命令與您的 Nginx 回應:
POST /cgi-bin/.%2e/.%2e/.../bin/shPOST /cgi-bin/%%32%65%%32%65/.../bin/sh.%2e/(這是 ../ 向上跳一層目錄的網址編碼與雙重編碼),企圖透過網頁一路跳出 Nginx 根目錄,去執行您 Linux 系統底層的終端機程式 /bin/sh。400 157:Nginx 直接回傳 404 或 400(錯誤請求),並用 157 位元組的錯誤畫面拒絕,防禦成功。POST /?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input%ADd(特定的字元編碼)試圖強制在您的 PHP 大腦中開啟「允許讀取外部網址(allow_url_include=1)」,並企圖將他透過 POST 送過來的惡意木馬程式碼直接當作網頁開頭強制執行(auto_prepend_file=php://input)。200 51353
200,且回傳了高達 51353 位元組(約 51 KB)的資料!index.php 攻擊時,網頁成功執行了。但這不一定代表他成功植入了後門,更普遍的情況是:因為您的首頁(WordPress 首頁)本來就是 index.php,他雖然在網址後面亂加攻擊參數,但您的 WordPress 只是把這些參數當成垃圾忽略,然後很正常地把高達 51KB 的完整網站首頁畫面吐還給他。GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php404 153:回傳 404(找不到網頁)。因為您的環境很乾淨,沒有這個漏洞檔案,防禦成功。這隻機器人的行為極度惡劣,它在 8 秒內狂轟濫炸了各種類型的底層漏洞。
雖然您的 Nginx 用 400 和 404 擋掉了大部分,且 index.php 也只是正常吐出首頁(200),但我們現有的 Fail2ban 機制需要更靈敏地把這種人瞬間封死:
您的 nginx-4xx 已經立大功:
nginx-4xx 限制是 5 次,他在第 8 條(22:08:08)的這一瞬間就會被您的 Fail2ban 偵測到,並直接透過 nftables 物理斷線,後面所有的攻擊(包括您先前貼出的那 104 行)通通都會被瞬間掐滅。關於狀態碼 400 的優化建議:修好後記得執行 sudo fail2ban-client reload。
400 狀態碼(Bad Request)。如果您希望防火牆更嚴格,可以把您的 /etc/fail2ban/filter.d/nginx-4xx.conf 微調加入 400:failregex = ^<HOST> - - \[.*\] ".*" (400|403|404|444) .*
既然您已經成功用 nftables 建立了防禦網,這類漏洞掃描器在觸發幾次 404 之後,就會全部在您的 Banned IP list 裡乖乖排隊了!