2021網站優化大集合-4步加强WordPress網站安全性能-提升瀏覽體驗
WordPress被全世界的網站開發愛好者喜愛的原因之一,就是它的開源性以及超豐富的外掛擴展功能。通常享受一件事情帶來的好處時,就會需要考慮到如何避免掉隨之而來的短板,網站安全性便是我們維護一個網站時需要特別關注的一點
WordPress網站很常受到駭客關注
大家好我是Alex,WordPress被全世界的網站開發愛好者喜愛的原因之一,就是它的開源性以及超豐富的外掛擴展功能。通常享受一件事情帶來的好處時,就會需要考慮到如何避免掉隨之而來的短板,網站安全性便是我們維護一個網站時需要特別關注的一點。
WordPress會遇到哪些問題呢?就我自己的網站最好是ATOS而言,在剛開始架站的時候,就遇到過惡意軟體攻擊(Malware attack),導致網站不斷被修改主要網址並被無限301轉址到對方的網站,請Bluehost客服查毒掃描超過5次都未能解決,最終狠心清空網站,一切從頭來過。但因爲這樣的經歷,讓我很早就認識到不能衹是享受WordPress的便利性,必須學會如何與不安全因素對抗,並持續改進網站的安全性能。
對一般駭客而言,決定是否駭入一個網站的關鍵因素就是投入時間與回報。如果網站築起了較高的安全城墻,駭客需要駭入這個網站的時間成本增加了,然而衹要不涉及到金錢,這個網站對他的回報便十分微弱,這個時候他便會放棄這個網站,轉而攻擊其他安全城墻較低的網站。
因此,本篇就來談談,如何從最基本的幾個方面來大幅提升一個WordPress網站的安全性能,跟著我操作甚至不需要懂太多程式碼,唯一需要的就是能在主機端找到對應檔的位置即可。因爲每個網站的個體差異性,任何數據庫檔的修改都有可能讓網站出現錯誤。因此在開始之前,請先使用備份軟體備份整個網站數據庫,如果主機沒有提供備份網站的服務,可以使用之前推薦過的免費WordPress網站備份外掛UpdraftPlus。備份好後,我們正式開始加強網站安全性能。
一. 阻止訪問者直接瀏覽網站根目錄檔(Disabling Directory Browsing)
想像你有一個保險櫃,如果陌生訪問者在未獲得你的許可前提下,就隨意瀏覽保險櫃內的檔,相信這不是一個好的主意,因此我們需要鎖定保險櫃,阻止這類訪問者隨意訪問。
接著,如何你使用的是WordPress架設的網站,那讓我們來看看是否你的保險櫃有上鎖。你衹需要簡單的在網址後面加上/wp-includes/,輸入後點確認,看是否網址打開了一個檔目錄列表,標題是“Index of/wp-includes”。如果能看到這個內容,那麽恭喜你,因爲你即將關閉這個十分重要的安全性漏洞。
以Bluehost後臺爲例,點選Advanced下的File Manager,進入網站後臺檔目錄,如果是其他主機,同樣找到能查看後臺檔目錄的地方。選取目錄中的public_html文件夾下的.htaccess文件,右鍵點選後編輯該文件。找到“# END WordPress“字樣後,另起一行,複製貼上代碼
Options All -Indexes
然後保存檔後。重新執行先前的測試,在網址後面加上/wp-includes/並輸入,如果看到404頁面或允許權錯誤(Permission Error),恭喜!我們成功解決了這個網站安全問題。
二. 自訂WordPress登陸頁網址(Customize the WordPress login URL)
先讓我們測試一下,在你的首頁網址後面加上/wp-admin/或/wp-login/,輸入後確認,在未登陸的情況下,是否打開了如下的WordPress後臺登入頁面?如果是,那麽恭喜你又發現一個可以提升安全性能的地方。
因爲以上方式是WordPress網站默認的登陸頁面網址形式,因爲所有WP網站都採用這樣的方式登入,導致有心人士能很快的找到你網站的登入入口,從而採取暴力破解密碼的方式嘗試進入後臺。我自己的網站在還未修改登入頁面網址前,因爲已經安裝了防火墻外掛,因此能看到每天都有人嘗試用暴力破解密碼的方式進入網站後臺,然後每天都會在郵箱收到有登入被阻止的通知信。但是,在修改了默認後臺登入頁面網址後,就再也沒收到這類郵件通知了,讓我們能睡的很踏實。
接下來,我們正式來修改網站默認登入網址。這裏我們不需要修改程式碼,用外掛來幫助我們修改更簡單。前往WP外掛安裝頁面,搜索並安裝WPS Hide Login,啓動後前往WP一般設定,在設定頁末便可以自行修改登錄頁面網址。在確認設定前確保自己登陸後臺的賬號密碼都有保留,因爲確認後會需要登出登陸測試修改是否生效。
三. 正確設置HTTP headers,避免點擊劫持攻擊(Clickjacking attacks)
如果有在使用WEBPAGETEST測試網站效能,會發現分數列表的最左側新加入了一個Webpage Security Score的評級,點擊安全評級分數,進去會看到Security headers標題下有strict-transport-security、x-content-type-options、x-frame-options、x-xss-protection、content security policy這5項內容,有達成的項目前面會出現✓,沒達成則是❌。
WEBPAGETEST-網站效能測試
這是什麽意思呢,keyCDN官方部落格解釋雖然這部分並不是正式網路規定,但這個漏洞會留下點擊劫持攻擊(Clickjacking attacks)的可能。那什麽是點擊劫持攻擊(Clickjacking attacks)呢?點擊劫持攻擊是指:攻擊者在視窗中使用透明<iframe>誘使使用者按一下(例如按鈕或連結),從而使點擊到另一個具有相同外觀視窗的伺服器所產生的網路攻擊行爲。從某種意義上講,攻擊者劫持了原始伺服器所獲得的點擊,並將其發送到另一台伺服器。通常這種攻擊能爲攻擊者帶來諸如增加點擊付費廣告收入、或增加社群媒體互動數據等利益。
幸運的是,我們可以通過很簡單的設定解決這個漏洞。我們衹需要打開上述提到的.htaccess文件,在第一步驟中加入的代碼“Options All -Indexes”後面,另起一行,複製貼上以下代碼並保存
Header set strict-transport-security: max-age=31536000
Header set x-content-type-options: nosniff
Header set Referrer Policy: no-referrer
Header set x-frame-options: SAMEORIGIN
Header set x-xss-protection: 1; mode=block
完成!重新打開WEBPAGETEST測試一下看看吧~將會獲得A以上的安全評級。
四. 安裝WordPress安全防護外掛(選用)
完成以上3個重要的安全性漏洞修復,網站的安全性能已經得到極大的提升,但這並不意味著完全隔離了駭客攻擊的可能。因此爲了進一步加強WordPress網站的安全性能,可以採用安裝優秀的網站安全防護外掛來達成更多安全防護功能。這裏推薦免費的WordPress外掛iThemes Security,可以提供更多安全性功能的設定。
既然有這麽多好處,爲什麽是選用呢?因爲這個外掛使用了大量的PHP和Javascript指令,對於WordPress網站而言需要保持輕巧,才能獲得更好的瀏覽體驗,後續優化網站速度時也能獲得更好的提升。因此,可以權衡自己的考量和需求,在安全性能和速度效能之間找到平衡。
加强WordPress網站安全性總結
加强WP網站安全性能,不僅能讓築起高墻,減少駭客對你的網站起心動念,讓網站擁有者能安心維護和更新網站内容,對網站訪問者而言,也是一個承諾和保障。與逛實體商店雷同,試想如果訪問者在你的網站内因爲安全漏洞,經歷了不好的體驗(被惡意轉址跳轉到其他網站,或金流被篡改等),至少下次應該就不會想光顧了吧。除此之外,雖然WP網站安全性當下還未被Google要求作爲SEO權重的一項,但Google一直不斷更新的演算法都圍繞在訪問者瀏覽體驗的優化,因此不難推測,未來網站安全性能也會被Google要求改善,以此來獲取應有的SEO排名獎勵。如果對内容有任何疑問或者有表達不足的地方,歡迎留言讓我們知道。