WordPress 黑客利用 XMLRPC 攻擊網站偷取帳戶? 3款外掛plugins 幫到你
web wordpress : 2021-11-23
: 喵咪大人
: 6,030
大家早上好! 今天早上的我是被驚醒的,一大早打開手機看到由網站傳過來的安全通知郵件說,有人正暴力破解我的網站帳號密碼,我立即從床上跳起來,打開電腦查看一下,果然有人正在利用XMLRPC來攻擊。
![login attack XMLRPC](https://wtpgame.com/wp-content/uploads/2021/11/loginAttack.jpg)
從圖片中,我們可以看到有一些海外的IP 透過 wp_xmlrpc 的登入方式來嘗試暴力破解我們的帳號,不過幸好我早前有先安裝好一款防止被暴力破解密碼的外掛,它的名字就是 “Limit Login Attempts Reloaded”
![Limit Login Logo XMLRPC](https://wtpgame.com/wp-content/uploads/2021/11/limitLoginlogo.jpg)
安裝了這個外掛,我們就可以設定好每個人登入我們的網站時可以嘗試輸入密碼多少次,超過了限定次數就可以鎖定它的IP,不讓它繼續攻擊。以下面圖的設定為例,我們限定了每個人可以嘗試4次登入,4次都失敗我們就把他封鎖一個小時,如果他連續4次觸發封鎖,我們就把他封鎖72個小時好了。這樣做,我們就可以大大的增加了攻擊者的時間成本,令他們失去耐性。
![Limit Login Setting](https://wtpgame.com/wp-content/uploads/2021/11/limitLoginSetting.jpg)
不過單單是限制和封鎖,我覺得還是不夠的,我們得從源頭出發找出解決問題的方法。我們回到第一張圖查看,可以發現攻擊者都是透過 “wp_xmlrpc 登入方式” 來攻擊的,那麼什麼是wp_xmlrpc 呢?
XMLRPC 是 WordPress 的一個功能,在 3.5 版開始,預設會啟用此功能。它使數據能夠以HTTP 作為傳輸機制,XML 作為編碼機制。 由於 WordPress 不是一個自我封閉的系統,有時候會需要與其他系統進行通信。例如,你想從移動設備發佈文章到你的網站,你可以使用 xmlrpc.php 啟用的遠程訪問功能來做到這一點。xmlrpc.php 核心功能是允許你通過智能手機連接到你的站點,提供外部系統透過 XML-RPC API 執行遠端發文管理。常用外部服務例如 Blogger 或是 Pingback 等等,可與 XML-RPC 串接服務。
XMLRPC它提供了方便,但是同時也潛藏著安全風險,黑客之類的攻擊者會透過它來攻擊你的網站,所以如果你沒有必要使用它,最好還是把XMLRPC關閉起來以避免風險。
關閉 xmlrpc.php 功能有幾種方法,我就介紹2個比較多人使用也比較簡單的方法。
第一個方法是安裝外掛 (plugins) : Disable XML-RPC
![Disable XMLRPC](https://wtpgame.com/wp-content/uploads/2021/11/DisXMLRPC.jpg)
你只要安裝好這個外掛,直接啟動,它會自動幫你關閉了xmlrpc,如果你想重開,選擇停用它就好。
第二個方法是在你的網站functions.php 上加上以下的一句代碼來停用。
add_filter('xmlrpc_enabled', '__return_false');
最後還有一個建議,攻擊者如果發現你關閉了xmlrpc,也有可能會轉移去攻擊你的 wp-login.php。如果是這情況你就可以加裝一個外掛,它就是: WPS Hide Login
![hide login page](https://wtpgame.com/wp-content/uploads/2021/11/hideLogin.png)
這外掛的功能是幫你隱藏了原本 wp-login 的 URL,然後它的設定裡可以讓你自己訂立你的Login 的URL, 讓攻擊者找不到入口攻擊。 好了今天就說到這裡了,希望你們都學會了。祝你們有美好的一天!