
這是一次非常典型且目的性極強的**「環境變數與敏感設定檔探測(Sensitive Configuration /** .env **Scan)」**惡意攻擊行為。
攻擊者(IP:80.94.95.211)正在使用自動化機器人,瘋狂猜測並尋找您網站目錄下可能遺留的環境設定檔(.env)。
以下為您詳細拆解這場攻擊的意圖、日誌行爲,以及對您網站的影響:
.env 檔案?:許多現代網頁框架(如 Laravel、Vue、ThinkPHP)會把最敏感的系統核心機密寫在 .env 文字檔中(包含:MySQL 資料庫帳密、加密金鑰 APP_KEY、或是郵件伺服器的密碼)。.env,還會嘗試搜尋各種可能存在的變體檔名與備份檔,如:
.env.local、.env.production、.env.save.env.bak、.env.backup、.env.old/config/.env、/laravel/.env、/admin/.env/config.dev.php301 5 或 301 169?從您貼出的文字以及上傳的 Xshell 圖片可以發現,這隻機器人在短短 12 秒內(02:26:16 ~ 02:26:28) 就對您的主機開了 40 幾槍。其中最妙的是:大部分的回應都是 301 5 或 301 169,只有少數是 404 555。
return 301 https://$host$request_uri;)。301 5 代表它直接用 IP 連線被您後來的預設防禦抓到,回傳了極小體積的轉向提示。301 169 代表它在舊紀錄中觸發了 Nginx 標準的 301 網頁內容。404:代表有些請求它已經學乖了,直接用 HTTPS(Port 443) 加密連進來。這時 Nginx 實體去翻目錄,確認沒有這些 .env.php 檔案,於是賞它一個 404(555 位元組)。結論:您的環境很乾淨,完全沒有這些檔案,駭客一無所獲,防禦成功。
雖然駭客沒有偷到任何設定檔,但他這種密集的掃描會對伺服器造成無謂的網路資源浪費。在您目前的防禦體系下,他會死得非常快:
00-default-drop.conf(防 IP 直連):
.env 時,Nginx 會直接回傳 444 0 並當場斷開,他連 301 跳轉或 404 的網頁內容都拿不到。nginx-4xx 的 Filter 裡,將 400|403|404|405|444 通通納入追蹤。.env 的相關路徑(有些觸發 404、有些在第二台主機上觸發 404)。一旦他在 10 分鐘內累積滿了 5 次或 10 次的錯誤代碼,nftables 就會在底層關門,他在 02:26:18 之後的所有其餘探測,實際上根本連您主機的毛都摸不到了。