關閉xmlrpc.php的方法:1、用“rm -rf xmlrpc.php”命令刪除掉xmlrpc.php;2、用mv命令移動xmlrpc.php文件;3、使用chmod命令禁用xmlrpc.php的所有權限。
本文操作環境:linux5.9.8系統、WordPress5.4.2版,DELL G3電腦
因為使用的Wordpress網站已經修改了后臺地址感覺算是相對比較安全吧,所以就沒怎么關注過網站被非法登陸的日志。
今天因為監控云報警說是內存低,經過排查之后發現是網站被掃描/暴力破解導致的,日志顯示非法登陸狀態已經刷屏了好幾百頁了。
?
立即學習“PHP免費學習筆記(深入)”;
禁用Wordpress的xmlrpc.php文件避免被暴力破解
分析
既然有登錄失敗記錄,那就先嘗試用IP代入系統日志進行匹配吧,選個已經記錄的IP進行匹配,執行grep命令:
??
grep?"68.66.216.53"?access.log
??
看到日志證實對方使用POST的方式訪問了文件/xmlrpc.php?
進一步使用命令追查xmlrpc.php文件出現次數,執行grep與wc命令
? ?
grep?"xmlrpc.php"?access.log?|?wc?-l
? ?
顯示截至到今天晚上,已經被批量探測了57090次了
解決
解決的關鍵就是屏蔽/禁用xmlrpc.php,為了以防萬一可能出現的副作用,我先百度了一下并收集了一些信息:
? ?
-
如果網站程序使用pingback功能的話,屏蔽xmlrpc.php將導致功能無法使用
-
使用JetPack之類的插件,再刪除xmlrpc.php后將導致網站異常
-
舊版本Wordpress部分組件依賴于xmlrpc.php,刪除后將導致一些很奇怪的問題
? ?
目前本站在以上3條都不沾邊,所以我可以永久解決這個問題。
用rm? ?-rf? ?xmlrpc.php命令刪除掉xmlrpc.php這個文件,但是不推薦直接刪除,因為如果出問題的話沒有備份會比較麻煩
用mv命令 移動 這個xmlrpc.php文件(隨便重命名):
mv???xmlrpc.php????xmlrpc.php.sajdAo9ahnf$d9ha90hw9whw
使用chmod命令禁用xmlrpc.php的所有權限:
chmod???000???xmlrpc.php
apache服務器可以設定參數跳轉訪問:
<ifmodule>? Redirect?301?/xmlrpc.php?http://baidu.com? </ifmodule>
nginx服務器可以設定參數禁止訪問:
location?~*?/xmlrpc.php?{? deny?all;? }
推薦學習:《WordPress教程》