WordPress 本身存在著許多漏洞,對於使用 WordPress 更要相當小心的檢測是否遭受攻擊 or 跳板
以下這個例子就是 WordPress 本身的一個攻擊入口
173.245.49.175 - - [17/Nov/2016:20:43:14 +0800] "POST /xmlrpc.php HTTP/1.1" 200 271 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" 173.245.49.175 - - [17/Nov/2016:20:43:30 +0800] "POST /xmlrpc.php HTTP/1.1" 200 271 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" 173.245.49.175 - - [17/Nov/2016:20:43:46 +0800] "POST /xmlrpc.php HTTP/1.1" 200 271 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
從 WordPress 3.5 開始支援 xmlrpc 並且預設啟用,xmlrpc (remote procedure call) 本身是用於遠程呼叫,在 WordPress 常用來 mobile app 發布文章使用,但常常被用來利用漏洞攻擊
從這一篇的例子是 IP 173.245.49.175 大約每秒 1 次的攻擊訪問,這是一種 Dos 的攻擊模式,耗掉你的主機資源,如果沒有必要使用這個服務,可以設定以下禁止訪問
server { ... location = /xmlrpc.php { deny all; return 444; } ... }
類似這種攻擊,我們全數禁止訪問並且 return 444,444 在 nginx log 用於表示伺服器不進行任何回應並且關閉連線。
如果有必要使用,也必須限制可以訪問的 IP
[…] 第一篇參考自 Deny Access to WordPress xmlrpc.php with NGINX第二篇參考自 資安:WordPress 禁止 xmlrpc.php 攻擊 […]
為了使用官方 Jetpack,不能全部禁止哦。
可以改成
location /xmlrpc.php {
allow 192.0.64.1/192.0.127.254;
deny all;
}