上一篇處理完「WP 被駭後, 移除各種被植入的外掛及惡意程式」,並且備份完乾淨的檔案之後,接下來本篇要建立安全的防駭機制及環境。
(圖片出處: pixabay.com)
WordPress 由於是開放原始碼的部落格平台,每個 WP 網站的架構、預設資料夾名稱、甚至登入網址連結都一模一樣。使用了相同版本的 WP 網站,都會存在相同的漏洞,對於有心人士而言,如果沒做好防護措施的話,要入侵 WP 不算難事。
要在 WP 長久安居的話風險不小,因此架站之前,的確得先瞭解各種安全防護措施,可參考這些文章:
處理網站被駭,以及安全防護的基本概念及原理,可參考這篇:
以下開始紀錄網站被駭之後,進行的各項防堵及安全措施。
能夠在 WP 網站植入各種外掛、惡意程式,表示駭客有辦法取得管理員的權限,或是已經破解了現有的帳號密碼,因此第一要務是不讓駭客輕易登入網站。
1. 監控登入次數
「Limit Login Attempts」這個外掛可以監控使用者登入的狀況,是最推薦的外掛,安裝使用教學可參考這篇「Limit Login Attempts: WordPress後台登入錯誤次數限制」。
安裝之後,駭客就不能輕易從 WP 網站後台嘗試密碼,因為超過一定次數就會被鎖定、紀錄 IP、甚至封鎖 IP,WFU 認為這是重要性最高的外掛。
2. 加強帳號密碼安全性
3. 隱藏後台及登入網址
這件事可說是第二重要,將 WP 後台的預設網址/wp-admin ,以及 WP 預設登入網址 /wp-login.php 隱藏起來,駭客連登入的地方都找不到,WP 就安全多了。
高登大推薦的「HC Custom WP-Admin URL」是最佳外掛,安裝完、設定一組字串後,就能自動隱藏預設的/wp-admin 以及 /wp-login.php 網址。
不過原文「隱藏 WordPress 後台網址」提到可以只改 .htaccess 就好,不用安裝外掛,我的測試結果是不行,情形跟留言者 Stacey 所提的狀況一樣,所以就沒在原文回報了。
提醒一下讀者,「HC Custom WP-Admin URL」這個外掛做的事情,不只是修改 .htaccess 這個檔案,還改了一些系統設定,因此請勿移除此外掛,否則駭客還是可以從 WP 預設的/wp-admin 來登入及猜密碼。
特定 WP 版本都會存在該版本的安全性漏洞,因此必須避免讓駭客知道網站的版本資訊。
可惜 WP 在太多地方存放了版本資訊,大致整理以下這些地方、以及隱藏方法:
WP 有許多預設的檔案、目錄、資料表名稱,最好要限定存取權或更改名稱,才不會被駭客利用。
1. htaccess
.htaccess 是網站裡面最重要的系統檔案,可設定所有檔案的存取權限,可參考「一、WP 防護概念」的相關教學文章,進行以下設定:
2. 重新命名 WP 資料表前綴
wp-config.php 這個重要的 WP 系統檔,設定了資料表名稱的前綴字串,預設是 "wp_"。如果沒有更改的話,容易被駭客知道、進而利用。
但光是從wp-config.php 更改是不行的,只好藉助於外掛幫我們解決這件事。
前面推薦的參考文章介紹了「Change DB Prefix」,這個外掛可以很方便的幫我們完成這件事。
更棒的是,完成之後就可以將這個外掛移除,不用在後台佔用空間及資源。
最後,網站被駭也有可能是主機這邊的問題,因此主機商這一端也有需要進行的項目,需要跟主機商溝通:
每個網站的用途、目的不盡相同,本文紀錄的安全防護心得,並未包含所有的方法,建議參考引用的相關教學文章,採用適合自己網站的項目來進行。
(圖片出處: pixabay.com)
一、WP 防護概念
WordPress 由於是開放原始碼的部落格平台,每個 WP 網站的架構、預設資料夾名稱、甚至登入網址連結都一模一樣。使用了相同版本的 WP 網站,都會存在相同的漏洞,對於有心人士而言,如果沒做好防護措施的話,要入侵 WP 不算難事。
要在 WP 長久安居的話風險不小,因此架站之前,的確得先瞭解各種安全防護措施,可參考這些文章:
處理網站被駭,以及安全防護的基本概念及原理,可參考這篇:
二、確保帳號安全
以下開始紀錄網站被駭之後,進行的各項防堵及安全措施。
能夠在 WP 網站植入各種外掛、惡意程式,表示駭客有辦法取得管理員的權限,或是已經破解了現有的帳號密碼,因此第一要務是不讓駭客輕易登入網站。
1. 監控登入次數
「Limit Login Attempts」這個外掛可以監控使用者登入的狀況,是最推薦的外掛,安裝使用教學可參考這篇「Limit Login Attempts: WordPress後台登入錯誤次數限制」。
安裝之後,駭客就不能輕易從 WP 網站後台嘗試密碼,因為超過一定次數就會被鎖定、紀錄 IP、甚至封鎖 IP,WFU 認為這是重要性最高的外掛。
2. 加強帳號密碼安全性
- 刪除 WP 預設的 Admin 帳號
- 更改帳號的密碼,用系統的「產生密碼」按鈕,增加複雜度
- 務必修改根目錄系統檔案
wp-config.php 裡面的金鑰設定,一共有 8 組,直接參考該檔案的註解說明,到網址 https://api.wordpress.org/secret-key/1.1/salt/ 來產生金鑰即可。
3. 隱藏後台及登入網址
這件事可說是第二重要,將 WP 後台的預設網址
高登大推薦的「HC Custom WP-Admin URL」是最佳外掛,安裝完、設定一組字串後,就能自動隱藏預設的
不過原文「隱藏 WordPress 後台網址」提到可以只改 .htaccess 就好,不用安裝外掛,我的測試結果是不行,情形跟留言者 Stacey 所提的狀況一樣,所以就沒在原文回報了。
提醒一下讀者,「HC Custom WP-Admin URL」這個外掛做的事情,不只是修改 .htaccess 這個檔案,還改了一些系統設定,因此請勿移除此外掛,否則駭客還是可以從 WP 預設的
三、不顯示 WP 版本
特定 WP 版本都會存在該版本的安全性漏洞,因此必須避免讓駭客知道網站的版本資訊。
可惜 WP 在太多地方存放了版本資訊,大致整理以下這些地方、以及隱藏方法:
- 根目錄的
readme.html ,請直接刪除即可 - 網頁的 meta 標籤,刪除方法可參考前面提到的參考文章「一、WP 防護概念」→「WordPress安裝後你應該做的事–安全防駭篇」
- 系統目錄 "wp-admin" 之下的 "about.php",可參照「二、確保帳號安全」→「3. 隱藏後台及登入網址」,將系統目錄
wp-admin 隱藏起來,避免被駭客利用。 - 系統目錄 "wp-content" 之下的 "version.php",可參照「四、保護系統重要檔案、目錄及資料表」→「1. htaccess」的語法,限制 version.php 的存取。
四、保護系統重要檔案、目錄及資料表
WP 有許多預設的檔案、目錄、資料表名稱,最好要限定存取權或更改名稱,才不會被駭客利用。
1. htaccess
- 保護 .htaccess 自己的存取權
- 每個目錄的 index 檔案存取權限
- 保護 wp-config.php 的存取權
- 保護 wp-includes 目錄
- 限制上傳檔案大小
2. 重新命名 WP 資料表前綴
但光是從
前面推薦的參考文章介紹了「Change DB Prefix」,這個外掛可以很方便的幫我們完成這件事。
更棒的是,完成之後就可以將這個外掛移除,不用在後台佔用空間及資源。
五、主機商
最後,網站被駭也有可能是主機這邊的問題,因此主機商這一端也有需要進行的項目,需要跟主機商溝通:
- 確保主機沒有漏洞、或被植入木馬。
- 提供備份的服務
- 提供被異常流量攻擊時的防護措施
每個網站的用途、目的不盡相同,本文紀錄的安全防護心得,並未包含所有的方法,建議參考引用的相關教學文章,採用適合自己網站的項目來進行。
更多 WordPress 相關文章: