我聽過很多網站所有者抱怨WordPress的安全性。一般來說的想法是,開源腳本容易受到各種攻擊,但這是一個事實嗎?如果是這樣的話,我們該如何保護WordPress網站?
幸運的是,這基本上並不是真的。事實上,有時它是另一種說法。好吧,讓我們說它是“部分 ” 正確的。但即便如此,責任也不應歸咎於WordPress。
為什麼?因為他們的網站被黑客入侵通常是用戶的錯。作為網站擁有者,您必須承擔一些責任。所以關鍵問題是,你做了什麼來保護你的網站免遭黑客入侵?
(a)部分:通過保護登錄頁面並防止暴力攻擊來保護您的WordPress網站
每個人都知道標準的WordPress登錄頁面URL。從那裡訪問網站的後端,這就是為什麼人們試圖強行進入的原因。只需添加/wp-login.php
或者/wp-admin/
在域名末尾添加即可。
我建議的是自定義登錄頁面URL甚至頁面的交互。當我開始保護我的網站時,這是我做的第一件事。
以下是保護您的WordPress網站登錄頁面的一些建議:
1.設置網站鎖定功能並禁止用戶IP
失敗登錄嘗試的鎖定功能可以解決連續暴力嘗試的巨大問題。每當有重複錯誤密碼的黑客攻擊嘗試時,網站就會被鎖定,並且您會收到有關此未授權活動的通知。
我發現iThemes Security插件是最好的插件之一,我已經使用了很長一段時間了。這個插件在這方面有很多東西可以提供。除了超過30種其他令人敬畏的安全措施外,您還可以在插件禁止攻擊者的IP地址之前指定一定數量的失敗登錄嘗試。
2.使用兩步驟身份驗證
在登錄頁面上引入兩步驟身份驗證(2FA)模塊是另一項很好的安全措施。在這種情況下,用戶提供兩個不同組件的登錄詳細信息。網站所有者決定這兩者是什麼。它可以是常規密碼,後跟秘密問題,密碼,一組字符或更受歡迎的Google身份驗證器應用程序,它會向您的手機發送密碼。這樣,只有擁有您手機的人(您)才能登錄您的網站。
我更喜歡在我的任何網站上部署2FA時使用密碼。Google身份驗證器插件只需點擊幾下即可幫助我完成這項工作。
3.使用您的電子郵件登錄
默認情況下,您必須輸入用戶名才能登錄WordPress。使用電子郵件ID而不是用戶名是一種更安全的方法。原因很明顯。用戶名很容易預測,而電子郵件ID則不容易預測。此外,任何WordPress用戶帳戶都使用唯一的電子郵件地址創建,使其成為登錄的有效標識符。
多個安全插件允許您設置登錄頁面,以便所有用戶必須使用其電子郵件地址登錄。
4.重命名您的登錄URL以保護您的WordPress網站
更改登錄URL很容易。默認情況下,WordPress登錄頁面可以通過站點的主URL 輕鬆訪問wp-login.php
或wp-admin
添加到站點的主URL。
當黑客知道您的登錄頁面的直接URL時,他們可以嘗試強行進入。他們嘗試使用他們的GWDb登錄(猜測工作數據庫,即猜測用戶名和密碼的數據庫;例如用戶名:admin
和密碼:p@ssword
…有數百萬這樣的組合)。
此時,我們已經限制了用戶登錄嘗試和交換了電子郵件ID的用戶名。現在我們可以替換登錄URL並消除99%的直接暴力攻擊。
這個小技巧限制了未經授權的實體訪問登錄頁面。只有具有確切URL的人才能這樣做。同樣,iThemes Security插件可以幫助您更改登錄URL。像這樣:
- 改變
wp-login.php
獨特的東西; 例如my_new_login
- 改變
/wp-admin/
獨特的東西; 例如my_new_admin
- 改變
/wp-login.php?action=register
獨特的東西; 例如my_new_registeration
5.調整密碼
使用您的密碼並定期更改以保護您的WordPress網站。通過添加大寫和小寫字母,數字和特殊字符來提高其強度。許多人選擇長密碼,因為這些黑客幾乎不可能預測,但比一堆隨機數字和字母更容易記住。
LastPass是獲取密碼的最簡單方法之一。它不僅可以為您生成安全密碼,還可以將它們存儲在瀏覽器插件中,這樣可以省去必須記住它們的麻煩。
6.自動將閒置用戶從您的網站中註銷
在螢幕上打開WordPress網站的用戶可能會造成嚴重的安全威脅。任何路人都可以更改您網站上的信息,更改某人的用戶帳戶,甚至完全破壞您的網站。您可以通過確保您的網站在閒置一段時間後將人員記錄下來來避免這種情況。
您可以使用BulletProof security之類的插件進行設置。此插件允許您為空閒用戶設置自定義時間限制,之後它們將自動註銷。
(b)部分:通過管理後台保護您的WordPress網站
對於黑客來說,網站中最有趣的部分是管理後台,它實際上是受保護最多的部分。因此,攻擊最強大的部分是真正的挑戰。如果完成,它會給黑客一個道德上的勝利和獲得很多傷害的機會。
以下是保護WordPress網站管理儀表板的方法:
7.保護wp-admin 目錄
該可濕性粉劑管理員 目錄是任何的WordPress網站的心臟。因此,如果您的網站的這一部分遭到破壞,那麼整個網站可能會遭到破壞。
防止這種情況的一種可能方法是對wp-admin目錄進行密碼保護。通過這種安全措施,網站所有者可以通過提交兩個密碼來訪問儀表板。一個保護登錄頁面,另一個保護WordPress管理區域。如果網站用戶需要訪問wp-admin的某些特定部分,您可以在鎖定其餘部分時取消阻止這些部分。
您可以使用AskApache密碼保護插件來保護管理區域。它會自動生成.htpasswd文件,加密密碼並配置正確的安全性增強文件權限。
8.使用SSL加密數據
實施SSL(安全套接字層)證書是保護管理面板安全的一個明智之舉。SSL可確保用戶瀏覽器與服務器之間的安全數據傳輸,從而使黑客難以破壞連接或欺騙您的信息。
獲取WordPress網站的SSL證書很簡單。您可以從第三方公司購買一個或查看您的託管公司是否免費提供一個。
我在大多數網站上使用Let’s Encrypt免費開源SSL證書。像SiteGround這樣的好的託管公司提供免費的Let’s加密 SSL證書及其託管包。
SSL證書也會影響您網站的Google排名。谷歌傾向於將SSL的網站排名高於沒有SSL的網站。這意味著更多的流量。現在誰不想要那個?
9.小心添加用戶帳戶
如果您運行WordPress博客,或者更確切地說是多作者博客,那麼您需要處理多個人訪問您的管理面板。這可能會使您的網站更容易受到安全威脅。
如果您想確保用戶所做的任何密碼都是安全的,您可以使用強力密碼這樣的插件。這只是一種預防措施,但它比擁有弱密碼的多個用戶更好。
10.更改管理員用戶名
在WordPress安裝過程中,不應選擇“admin”作為主管理員帳戶的用戶名。這樣一個易於猜測的用戶名對於黑客來說是平易近人的。他們需要弄清楚的是密碼,然後你的整個網站落入壞人之手。
我無法告訴您我滾動瀏覽網站日誌的次數,並發現用戶名為“admin”的登錄嘗試。
iThemes Security插件可以通過立即禁止嘗試使用該用戶名登錄的任何IP地址來停止此類嘗試。
11.監控您的文件
如果您想要一些額外的安全性,請通過Wordfence等插件或iThemes Security監控網站文件的更改。
(c)部分:通過數據庫保護您的WordPress網站
您網站的所有數據和信息都存儲在數據庫中。照顧它是至關重要的。您可以採取以下措施使其更安全:
12.更改WordPress數據庫表前綴
如果您曾經安裝過WordPress,那麼您熟悉wp-
WordPress數據庫使用的表前綴。我建議你把它改成獨特的東西。
使用默認前綴會使您的站點數據庫容易受到SQL注入攻擊。通過更改wp-
為其他術語可以防止此類攻擊 。例如,你可以做它mywp-
或wpnew-
。
如果您已經使用默認前綴安裝了WordPress網站,那麼您可以使用一些插件來更改它。WP-DBManager或iThemes Security等插件只需單擊一下按鈕即可幫助您完成工作。(確保在對數據庫執行任何操作之前備份站點)。
13.定期備份以保護您的WordPress網站
無論您的WordPress網站有多安全,總有改進的餘地。但最終,無論發生什麼事情,在某處保留異地備份也許是最好的解藥。
如果您有備份,則可以隨時將WordPress網站恢復到工作狀態。在這方面有一些插件可以幫助你。例如這些。
如果您正在尋找高級解決方案,那麼我推薦 使用Automattic的VaultPress,這很棒。我已將其設置為每週都會創建備份。如果發生任何不好的事情,我只需點擊一下即可輕鬆恢復網站。
我知道一些較大的網站每小時運行一次備份,但對於大多數組織而言,這些都是完全過度的。更不用說,由於每個備份文件佔用了驅動器上的空間,因此您需要確保在創建新備份後刪除大多數備份。也就是說,我建議大多數組織每週或每月備份一次。
在備份之上,VaultPress還會檢查我的網站是否存在惡意軟件,並在發生任何陰影時提醒我。
14.為數據庫設置強密碼
必須使用主數據庫用戶的強密碼,因為此密碼是WordPress用於訪問數據庫的密碼。
與往常一樣,密碼使用大寫,小寫,數字和特殊字符。密碼短語也很棒。我再次推薦LastPass用於隨機密碼生成和存儲。安全密碼生成器是一種免費且快速的強密碼工具。
15.監控審核日誌
當您運行WordPress多站點或處理多作者網站時,了解正在進行的用戶活動類型至關重要。您的作者和貢獻者可能正在更改密碼,但您可能不希望發生其他事情。例如,主題和窗口小部件更改顯然僅為管理員保留。當您檢查審核日誌時,您可以確保您的管理員和貢獻者未經批准不會嘗試更改您網站上的內容。
WP安全審核日誌插件提供此活動的完整列表,以及電子郵件通知和報告。最簡單的是,審核日誌可以幫助您查看作者無法登錄。但該插件還可能會洩露您的某個用戶的惡意活動。
(d)部分:使用託管保護您的WordPress網站
幾乎所有託管公司都聲稱為WordPress提供了優化的環境,但我們仍然可以更進一步:
16.保護wp-config.php文件
該WP-config.php的文件保存有關你的WordPress安裝的重要信息,並在你的網站的根目錄中最重要的文件。保護它意味著保護WordPress博客的核心。
這種策略使黑客很難破壞您網站的安全性,因為wp-config.php文件變得無法訪問。
作為獎勵,保護過程非常簡單。只需將您的 wp-config.php文件移動到比根目錄更高的級別。
現在,問題是,如果將其存儲在其他地方,服務器如何訪問它?在當前的WordPress體系結構中,配置文件設置在優先級列表中設置為最高。因此,即使它存儲在根目錄上方的一個文件夾中,WordPress仍然可以看到它。
17.禁止文件編輯
如果用戶具有對WordPress儀表板的管理員訪問權限,則他們可以編輯屬於WordPress安裝的任何文件。這包括所有插件和主題。
如果您禁止文件編輯,則任何人都無法修改任何文件 – 即使黑客獲得了對您的WordPress儀表板的管理員訪問權限。
要使其工作,請將以下內容添加到wp-config.php文件中(最後):
define('DISALLOW_FILE_EDIT', true);
18.正確連接服務器
設置站點時,只能通過SFTP或SSH連接服務器。SFTP始終優於傳統FTP,因為它的安全功能當然不歸因於FTP。
以這種方式連接服務器可確保所有文件的安全傳輸。許多託管服務提供商將此服務作為其軟件包的一部分。如果不是 – 您可以使用本教程手動完成。
19.仔細設置目錄權限
錯誤的目錄權限可能是致命的,特別是如果您在共享託管環境中工作。
在這種情況下,更改文件和目錄權限是在託管級別保護網站的一個很好的舉措。將目錄權限設置為“755”,將文件設置為“644”可保護整個文件系統 – 目錄,子目錄和單個文件。
這可以通過主機控制面板內的文件管理器手動完成,也可以通過終端(使用SSH連接)完成 – 使用“chmod”命令。
有關更多信息,您可以閱讀有關WordPress的正確權限方案或安裝iThemes Security插件以檢查您當前的權限設置。
20.使用.htaccess禁用目錄列表
如果您創建一個新目錄作為您網站的一部分並且不在其中放入index.html 文件,您可能會驚訝地發現您的訪問者可以獲得該目錄中所有內容的完整目錄列表。
例如,如果您創建一個名為“data”的目錄,只需 在瀏覽器中鍵入http://www.example.com/data/即可查看該目錄中的所有內容。無需密碼或任何東西。
您可以通過在.htaccess文件中添加以下代碼行來防止這種情況:
Options All -Indexes
21.阻止所有熱鏈接
假設您在網上找到了一張圖片,並想在您的網站上分享。首先,您需要獲得許可或支付該圖像,否則很有可能這樣做是違法的。但是,如果您獲得了許可,則可以直接提取圖片的URL並使用該URL將照片放入帖子中。這裡的主要問題是圖像顯示在您的網站上,但託管在另一個網站的服務器上。
從這個角度來看,您無法控制照片是否仍保留在服務器上。但同樣重要的是要意識到人們可能會對您的網站這樣做。
如果您正在嘗試保護您的WordPress網站,那麼熱鏈接基本上是另一個人拍攝您的照片並竊取您的服務器帶寬以在他們自己的網站上顯示圖像。最後,您會看到加載速度較慢以及服務器成本較高的可能性。
雖然有一些手動技術可以防止熱鏈接,但最簡單的方法是為作業找到一個安全插件。例如,All in One WP安全和防火牆插件包含用於阻止所有熱鏈接的內置工具。
22.了解並保護DDoS攻擊
DDoS攻擊是針對您的服務器帶寬的常見攻擊類型,攻擊者使用多個程序和系統來使服務器過載。雖然這樣的攻擊不會危害您的站點文件,但如果不解決,則會導致您的站點長時間崩潰。通常,當GitHub或Target等大公司遇到DDoS攻擊時,您才會聽到DDoS攻擊。他們是由許多人稱之為網絡恐怖分子的人進行的,所以動機可能僅僅是為了造成嚴重破壞。
也就是說,您不需要成為財富500強企業面臨風險。
如果您擔心這一點,我們建議您註冊Sucuri或Cloudflare高級計劃。這些解決方案具有Web應用程序防火牆,可分析正在使用的帶寬並完全阻止DDoS攻擊。
(e)部分:通過主題和插件保護您的WordPress網站
主題和插件是任何WordPress網站的基本要素。不幸的是,它們也可能構成嚴重的安全威脅。讓我們來看看我們如何以正確的方式保護您的WordPress主題和插件:
23.定期更新
每個優秀的軟件產品都由其開發人員提供支持,並且不時得到更新。這些更新旨在修復錯誤,有時還有重要的安全補丁。WordPress及其插件也不例外。
不更新您的主題和插件可能意味著麻煩。許多黑客依賴於這樣一個事實,即人們不會為更新他們的插件和主題而煩惱。通常情況下,這些黑客利用已經修復的錯誤。
因此,如果您使用的是任何WordPress產品,請定期更新。插件,主題,一切。好消息是,WordPress會自動為其用戶推出更新,因此您將收到一封電子郵件,通知您更新以及儀表板中有關修補程序的信息。
至於插件,必須通過轉到儀表板中的插件手動更新這些插件。當插件有新版本時,它會通知您並提供現在更新的鏈接。
作為替代方案,您可以選擇託管的WordPress託管計劃。除了許多其他功能和對您的安全性的改進,質量託管主機還為您的WordPress網站的所有元素提供自動更新。
一些託管主機提供商包括Kinsta,SiteGround和Flywheel。您可以在此處了解有關頂級託管WordPress託管的更多信息。
24.刪除WordPress版本號
您可以非常輕鬆地找到當前的WordPress版本號。它基本上就位於您網站的源視圖中。您也可以在儀表板的底部看到它(但這在嘗試保護您的WordPress網站時無關緊要)。
事情就是這樣:如果黑客知道你使用哪個版本的WordPress,他們就更容易定製完美的攻擊。
您可以使用我上面提到的幾乎所有安全插件隱藏您的版本號。
對於更加手動的方法(以及從RSS源中刪除版本號),請考慮將以下函數添加到您的functions.php
文件中:
function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator', 'wpbeginner_remove_version');
作者:Ahmad Awais,Joe Warnimont,Karol K.