以實際事例,說明利用.htaccess檔案設定,強化網站防衛,提升資訊安全,嚴防駭客入侵的基本作法,深入淺出詳細解說的步驟教學,引領初學者建構網站基本防護與資訊安全的能力。包括阻絕Author Scans,圖片熱連結,偵測檔案配置索引,擅自在虛擬主機執行程式碼等等基本防範措施。
網站安全是大眾關注,也是身為網站管理員切身的責任所在。尤其當您的網站越來越有影響力,訪客數與瀏覽頁數越來越高,必將引起網路駭客的關切與興趣。
網站安全的作法很多,本文所述,其實算是最基本,也不用另外花錢的蹲馬步基礎。而且,也相當簡單,不要疏忽了唷!
但即使如此,如果您不詳細步驟教學就為您示範講解如事先了解,那麼,您的網站當然連最基礎的防護都付諸卻如,那麼,再強大昂貴的網站安全方案,說不准仍存在著重大資訊安全漏洞,足以讓您前功盡棄,徒呼負負。
由於開始架站設定的.htaccess檔案已經被不知名原因更改過,(有可能是前幾周升級虛擬主機代管服務,工作人員不小心變更了),幾天前登入自己網站,發現需要帳號密碼,與我原先純瀏覽無須密碼得設定不符,而且用我自己已知的帳號密碼都登不進去。如下圖所示:
再將登入對話框放大,讓您看得更清楚。
百思不解之餘,便到電子信箱看看有無重大通知,果然,如下圖所示,有事情發生了。可惜,也許是系統自動產生的郵件設計不良,除了明確告知的帳號密碼之外,其餘盡是語焉不詳。只好登入虛擬主機代管廠商bluehost網頁透過【Live Chat】功能,獲取更多相關資訊。
獲告知是因為資訊流量不正常陡增到每分鐘超過100M的警戒線所致,所以,解決方案也就呼之欲出,就是盡可能隔絕排除外人在我的網站進行【不恰當】的動作。
於是,先在bluehost網頁的【c-Panel】網頁找尋【statics】的【Bandwidth】程式圖示,如下圖所示。
接下來,敬請點擊【Bandwidth】程式圖示,畫面經過約一分鐘後,便呈下圖所示。
茲將數據圖表放大,讓您看得更清楚。從下圖就可以發現,在2018-09-22接近下午一點時,網站流量瞬間暴增而且不斷擴大,因為下圖乃是移動平均數,當時我所觀察到的數據超過每分鐘100MB,因此才會觸發系統的一連串動作,包括:寄通知信函,變更網站瀏覽方式(須先以載明於通知信的特定帳號密碼登入)。
於是,儘速查詢近期相關的文章,找到可信度佳,又許多人推薦的這一篇【12 Most Useful .htaccess Tricks for WordPress】。閱覽之後,採取了該文的#3、#4、#5、#8、#9、#11,與 #12等七項措施,用.htaccess檔案設定以改善自架網站的網路安全性。
接下來,就為您就每一個指令組,一一介紹囉!
#3. Disable Directory Browsing (禁止瀏覽指標)
原因:
許多WordPress安全專家建議禁用目錄瀏覽。啟用目錄瀏覽後,駭客可以查看您網站的目錄和文件結構,以查找易受攻擊的文件。
作法:新增以下指令。
Options –Indexes
#4. Disable PHP Execution in Some WordPress Directories(禁止在某些WordPress目錄執行PHP指令)
原因:
有時駭客會闖入WordPress網站並安裝後門。這些後門文件通常偽裝成核心WordPress文件,並放在/ wp-includes /或/ wp-content / uploads /文件夾中。
提高WordPress安全性的一種更簡單的方法是禁用某些WordPress目錄的PHP執行。
作法:新增以下指令。
<Files *.php>
deny from all
</Files>
# 5. Protect Your WordPress Configuration wp-config.php File(加強保護您WordPress 組態配置檔wp-config.php)
原因:
WordPress網站根目錄中最重要的文件應該就是wp-config.php文件。它包含有關您的WordPress數據庫以及如何連接到它的信息。
為了保護您的wp-config.php文件不受非託管訪問,只需將此代碼添加到.htaccess文件中:
作法:新增以下指令。
<files wp-config.php>
order allow,deny
deny from all
</files>
# 8. Disable Image Hotlinking in WordPress Using .htaccess(禁止其他網站以圖片熱連結方式消耗您WordPress網站資源)
原因:
直接從您的網站鏈接圖像的其他網站可能會使您的WordPress網站變慢並超出您的帶寬限制。對於大多數較小的網站來說,這不是一個大問題。但是,如果您運行一個受歡迎的網站或包含大量照片的網站,那麼這可能會成為一個嚴重的問題。
以下指令組僅允許在請求來自wpbeginner.com或Google.com時顯示圖像。不要忘記用自己的域名替換wpbeginner.com。
作法:新增以下指令。
#disable hotlinking of images with forbidden or custom image optionorder RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
#11. Disable Access to XML-RPC File Using .htaccess(禁止利用.htaccess 設定存取XML-RPC型式的檔案)
原因:
每個WordPress安裝都附帶一個名為xmlrpc.php的文件。此文件允許第三方應用程序連接到您的WordPress網站。大多數WordPress安全專家建議,如果您不使用任何第三方應用程序,則應禁用此功能。
有多種方法可以做到這一點,其中一種方法是將以下代碼添加到.htaccess文件中:
作法:新增以下指令。
#Block WordPress xmlrpc.php requestsRewriteEngine on
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
#12. Blocking Author Scans in WordPress(阻絕在您的WordPress網站中進行Author Scans的動作)
原因:
在惡毒的流量攻擊中,常用的技術是在WordPress站點上運行作者掃描,然後嘗試破解這些用戶名的密碼。
您可以通過將以下代碼添加到.htaccess文件來阻止此類掃描:
作法:新增以下指令。
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* – [F]
# END block author scans
關於.htaccess的功能、實際設定指令組,更詳細齊全的專業文章,如果您有興趣的話,筆者最推薦的是這一個網站,THE Ultimate Htaccess,可以隨時查詢您所需要的,與.htaccess相關的專業知識。
總公司地址:台灣省新竹縣竹北市福興路1028巷1號
台中分公司:台灣省台中市北屯區崇德路二段462號9樓之一
聯絡人:張世忠先生(0939-061-556)
電子信箱:mark.chang.1031@gmail.com