強化網站安全 可以在幾個層面上實現。一般網店可能沒有會員信用卡資料,但亦多數有其他私隱資料。兼且有時駭客入侵並的損害並不只關於資料外淺,有時造成服務中斷、對商譽造成損害。專業駭客不竟有限,亦不會對一般的小網站有興趣。更多是業餘駭客,基於好奇心和學習技能,找一些小網站試試身手。你只要多加一點功夫強化網站安全,就可以將業餘駭客拒諸門外。
一般業餘駭客是根據一些常用軟件已公佈的安全漏洞進行攻擊。所以網頁寄存公司發現或不發現問題都建議你升級到最新版本。但現實是很多插件式二次開發兼容的問題要考慮,不是按一個鍵那麼簡單。對於內容管理系統 Content Management System (CMS) 大多數的攻擊是基由於插件漏洞,弱密碼,和過時的軟件版本。由於大多數 CMS 都是開放源碼,黑客並不難研究 CMS 可能出現的漏洞。利用 CMS 安全插件將這些可能漏洞隱藏,令黑客難以取得過多關於您網站的信息,讓黑客遠離敏感區域,如管理員登錄等等。CMS 安全插件大體功能包括:
- 儀表盤,包括登錄,admin 和更改的網址
- 特定時間段完全關閉登錄功能 (離開模式登錄)
- 重命名為 admin 帳戶
- 更改為1的用戶ID
- 更改數據庫表前綴
- 刪除登錄錯誤消息
- 監測文件改變
- 通過電子郵件通知管理員有關可能的黑客攻擊
- ..
內容目錄
連接埠掃描 Port Scan
駭客要有效攻擊是要先收集你網頁伺服器的一些資訊,例如操作系統、編程語言、所提供的服務等。TCP/IP 是互聯網的標準協議,以 port 連接埠為客戶端提供服務。所以駭客常非的一個手段是以 Port Scan 描述伺服器的連接埠,從開放的連接埠的回應收集資訊再決定下一步的攻擊方法。所以安全嚴謹的伺服器供應商亦會自行進行連接埠掃描檢測連接埠狀態,將不需要的連接埠關閉。
404 錯誤攻擊
連接埠掃描可能引起伺服器警報。另一種常見的入侵是訪問不存在的頁面,黑客通過訪問指定的 URL 測試搜集你網站所用的平台,編程語言,軟件庫(例如JavaScript), 插件等等資料,而一般開放源碼的平台和插件都會定期公佈發現的漏洞並提供更生,但這些公佈的漏洞資料亦可被黑客利用來攻擊未完成漏洞更新的網站。404 錯誤有時亦被利用尋找可以發放圾垃評論的頁面。因此來自同一個IP地址的太多的404錯誤可能意味著黑客正在嘗試攻擊。一般對應404錯誤的做法是對應從事不斷嘗試的IP 地址,自動鎖定對方的 IP 地址一段時間 ,甚到最後直接阻隔該 IP 地址訪問網站。
蠻力攻擊 Brute Force Attack
最常見的一種網站入侵方法是蠻力攻擊,就是利用編程的方法不斷以不同的密碼組合試圖以管理員身份登入後台,例如通過猜測你的密碼或使用字典中的詞,希望能成功登入。對應的方法是採用複雜的密碼,例如包抱大小寫字母,數字符號等作為密碼,長度至少8個字符。有很多自動化工具攻擊網站入侵用戶密碼,所以你應該小心設定用戶權限,不要隨便給予用戶管理員級別權限。有時只要是太多這樣的密碼嘗試,就足夠造成大量的網站負荷,並減慢網站的正常運作。一個有效的方法是引入某種形式的 “鎖定” 機制,如果密碼輸入連續錯誤幾次,自動鎖定對方的 IP 地址一段時間,即使對方輸入正確的密碼,仍然不許對方登入後台。
阻攔個別地區訪問
如果駭客是使用動態 IP 地址,封阻單一 IP 地址往往沒有用處。除非是將來自某個國家地區的訪問完全阻攔。根據 Cyber Security Today, 最多攻擊是來自中國,美國,土耳其,巴西俄羅斯。如果你的服務對象並非這些國家的居民,將來自這些地區的訪客拒諸門外可能亦是一個辦法。但即使你網站只有中文內容,你也不能阻止來自美國的訪問。原因是:像美國這樣的大國有很多中國人居住。
代理人訪問 Proxy Access
網頁伺服器會記錄來自世界各地的訪問。所以駭客犯案的 IP 地址可以從訪問瀏覽記錄中追蹤出來。駭客為了逃避追蹤通常會透過自代理人服務器 Proxy server 作案,正常訪客一般不會透過代理人 VPN 訪問。例如:來自肯尼亞的駭客可以使用美國VPN訪問您的網站,然後看起來他像來自美國。駭客的 IP 地址就變成代理人伺服器的地址。要追蹤透過代理人伺服器的駭客真實 IP 地址必需要代理人伺服器的公司協助提供連線記錄。由於提供 VPN 服務並不違法,兼且司法地區不同,一般除非重大跨國罪案,否則很難得到對方協助。所以一些防駭客機制會偵測訪問是否來自代理人服務器? 如果是,讓你選擇是否阻攔訪問。
Bot 訪問
Bot 是指爬行程式旨在收集網站的資訊。最有名的是 Google Bot 為了進行搜尋排名而要檢索網站內容將網頁內容進行索引。但亦有不少是對你是無謂無價值的爬行程式,只會加重伺服器負擔令一般訪問變慢。一般一些簡單的設定就可以將不良的爬行程式攔截。
HTTPS 加密連線
網站安全除了技術考慮,日常管理行為亦很重要。舉例:如果網站沒有使用 HTTPS 加密連線而管理人又隨便在公共網絡登入後台,這時管理員密碼很容易被有心人通過利用軟件監按 Wifi 網絡而得到。最好當然是升級網站執行 HTTPS 加密連線,否則應該避免在公眾地方隨便登入後台。
利用 FTP 也是一樣道理。應該儘量採用加密連線 “use explicit FTP over TLS if available”. 如果黑客拿到 FTP 帳戶就可以隨便改動網站內的程式,例如加入木馬。
監測文件修改機制
當你啟用”監測文件改變”選項後。如果不幸網站被黑客攻擊,安全控制模塊可以自動設置發送報警郵件給管理員。通知哪些文件已被更改或添加。你應該保護的重要文件,如改配置文件被修改。一種方法是確保這些文件具有適當的訪問權限。
無論你做了多小反入侵的設定,只是增加黑客入侵的難度,網站仍然可能被高手侵入,所以你 或你的寄存公司必需要定期為網站備份,以防萬一。
上述例子使用 WordPress 網頁內容管理系統作示範。不同的網頁內容管理系統有不同的具體操作程序。
日常病毒掃描
找網頁寄存公司會每天為閣下的網站進行病毒掃描,讓你第一時間知道被入侵和進行處理。除些以外,當網站開通以後應該在 Google Search Console 登記。因為如果 Google 發現你網站中毒會第一時間通知你處理,而 Google 對病毒掃描的能力自然高於一般網頁寄存公司。
每日備份
有時道高一呎,魔高一丈。萬一網站被入侵,只要寄存公司有為你做備份,就可以還原以前幾天內的版本。
了解更多網頁設計內容管理系統。
[初稿發佈於 2014 年 4月20日]