網站安全的議題一直都很重要,只是還是會有網站相關人員不會注意這樣子的問題,在這邊簡單說明一下網站設計與網站主機與管理層面所牽涉到的部分。
主機安全
主機現在大多都是使用虛擬主機或是雲端主機,如果網頁設計公司把所有網站都放在同一個虛擬主機帳號底下,只要一個網站有出現漏洞,整個主機底下的網站都要遭秧。這就是為什麼網站絕對必需放置在獨立的虛擬主機(網站空間)之下才行。如果網站本身使用的是雲端主機或是分享型的虛擬主機(也就是網站是和別人一起分享同一台主機,但是使用不同的空間),大部分的主機服務提供商都會去更新主機(請注意,這邊指的是主機而不是網站)。如果是所謂的獨立主機,那就是主機的擁有者自行管理主機,那主機就必需自行更新。也就是說,雲端主機會比較貴但是安全性其實有人在管理,實體主機會比較便宜但是必需自行管理。
程式安全
程式撰寫上都是用開源架構:CodeIgniter, Laravel, Zend 以及一些內容管理系統:WordPress、joomla!、Drupal 是相對比較安全的,因為有開發人員社群在做維護,只要被發現程式碼上的漏洞,通常會被回報到開發社群,然後再釋出新版的程式,這就是為什麼網站維護是當相重要的一件事,因為程式不可能永遠不會有漏洞。如果是自行開發的程式,也不一定不安全,這要看是否經常性的在做維護,因為自行寫的程式要取得程式碼漏洞資訊相對困難,所以受到攻擊的機率也會低許多,不過一旦網站被駭客找到漏洞,再加上沒有專門人員在做網站安全管理或是維護,等到你了解到網站被駭客入侵也是好一陣子的事了。
防範資料庫注入攻擊也是非常重要的一件事,通常在程式設計人員在撰寫程式時沒有注意到這部的話,那網站就有可能會存在漏洞,駭客可以因此將網站的資料經由特定手法下載下來,資料內容甚至有可能包含個資、信用卡資訊…等。
管理安全
在這邊的管理安全指的是企業內部管理,假設一個程式設計人員的電腦,並沒有裝防毒軟體或安全防護軟體而被駭客入侵,使用的電腦將被竊取資訊。他的電腦如果存放一些公司所管理的網站帳號與密碼,那可真是個大災難。如果程式設計人員的警覺心夠高,他在自已的電腦安裝防毒軟體,或是針對存放帳號密碼的檔案做加密的動作,那大可避免資料被駭客竊取。就算資料被竊取,如果某些敏感性資訊有做加密的動作,駭客也許會因為解密的過程太花費時間而放棄,或是還有時間可以做更換密碼的動作。又或者是內部人員隨意的把相關帳號密碼,為了存取某些網站而在貪圖方便下把它傳送給別人,像是叫朋友幫忙看一下某個網站設定,這也可能造成安全性風險。
結論
網站安全性問題會永遠都存在,只是看高與低而已,2014年9月所發現的shellshock漏洞存在了幾乎25年,直到最近才被發現。資訊安全本身就是一個非常專門的領域,在這裡談論到的內容只包含了少部分而已,在網站設計需求這麼普遍的狀況下,通常都有一定的解決方案來降低網站安全風險,像是WordPress的WordFence就是一個例子,安裝WordFence的網站可以持續性的針對外部攻擊做防護,像是以暴力破解(Brute Force)方式來入侵網站取得管理員權限的攻擊防護,以及在網站有漏洞時如果被上傳檔案,WordFence也可以有效的阻擋可能的木馬程式植入。至於其它的網頁開發架構或是內容管理系統,也通常都會有所屬的網站防火牆。所以無論你是網站擁有者、網站管理人員或是程式開發人員,也別忘了注意網站安全的部分。