解決 WordPress 的 xmlrpc.php DDOS 攻擊

XML-RPC 是 WordPress 的 API, 給開發者開發手機 Apps, 桌面應用程式或其他服務時, 可以跟 WordPress 溝通, 從遠端能達到很多需要登入 WordPress 後台才能做的工作。xmlrpc.php 則是負責這個 API 的檔案, 而很多針對 WordPress 的 DDOS 攻擊也是針對這個檔案。

早前在一台 VPS 上面, MySQL 的使用資源很高, 停止 Apache 後便沒有問題, 查看 Apache 的紀錄檔後, 發現有大量存取 xmlrpc.php 的紀錄, 平均每秒鐘有幾個存取的紀錄, 由於攻擊的 ip 有十多個, 所以還沒有給 mod_evasive 攔截。


解決方法除了逐一攔截那些 ip 外, 就是直接禁止存取 xmlrpc.php 檔案, 原因是我應該不會用到那個功能。

以下設定可以放在 httpd.conf 或 .htaccess, 如果加到 httpd.conf, 需要重新啟動 Apache:

當有人嘗試存取 xmlrpc.php 時, 會回傳 403 Forbidden, 而加入以上設定後, 主機的狀況立即回復正常。


Leave a Reply