自從最近發生了有關Wordpress的安全性疑慮之後,其中包括暴力破解法猜測管理者密碼(或許可以透過登入錯誤延時的外掛來阻擋一下,例:Limit Login Attempts),外掛:Super Cache和W3TC的弱點,應該相當多有使用它的使用者,無論是主動或被動地都得進行一些安全性的防護設定,畢竟這個免費的BSP平台,早已擄獲了很多使用者的心,甚至很多商業團體的網站,也是透過這個平台來進行架設,所以,一發生安全性的疑慮,大家無不繃緊神經嚴陣以待。
其實在WordPress的官方也有提供一些有關安全性的建議,或是許多外掛(Plugin)中,應該也有許多外掛是與網站平台安全相關的功能,我們就可以藉此瞭解到有那些項目是我們應該注意的重點,甚至透過它來擴大檢視手上其它網站的安全性是否足夠,雖然說不同平台的架構也有所不同,但是對於安全性的觀念,仍有許多共通之處。
對於這種既便利又方便的網站架構,因為免費、容易上手和一堆外掛可用,所以使用者也較多,當然帶來的潛在風險就多,這就跟為什麼Windows的潛在風險總是比其它OS來得多一樣,其實這就是使用便利和安全上的兩面刃。
既然WordPress安全性上的設定,可以透過一些外掛來檢查,例:WP Security Scan,其中會檢查的項目不外乎有下列幾項:
- 修改登入頁面的位置或限制IP :
因為WordPress的登入頁面,預設值為:「./wp-login.php」,因此針對暴力攻擊法來說,若是管理者帳號沒改(admin),也沒有其它的阻擋機制,基本上要被猜出來,就是密碼長度跟破解時間的競賽,所以現在有網站代管的主機商,會要求使用者若有安裝WordPress的使用者,需要修改登入頁面後方可使用。
至於修改的方式,可以透過外掛進行,也可以自行修改原有的wp-login.php,將wp-login.php更名後(例:test-login.php ),並且將檔案內的wp-login.php字串替換成,你已更名的登入頁面即可(記得原檔要先備份)不過,這種方式可能每次版本更新時,就得留意是否有檔案覆蓋或是有多重登入頁面的可能。
.test-login.php Example
sed -e 's/wp-login.php/test-login.php/g' wp-login.php > test-login.php mv wp-login.php wp-login.php.bak
.htaccess Example
<files "wp-login.php">
Order deny,allow
deny from all
allow from 192.168.0.2 192.168.1.0/24
<files>
- 外掛的潛在風險:
雖然我們都知道WordPress最好用的就是有超多的外掛可用,但是在用它的同時,其實一樣有其風險存在,雖然可以透過使用評比跟下載數量來做為參考依據,但是這些外掛還是有被攻陷的可能,如此一來,對於原本安全的系統來說,還是有著不小的隱憂。
這也是為什麼一開始在介紹時,就提及透過這些外掛來學習如何來增強系統安全性,若是可行的話,其實你能夠弄清楚外掛實際修改了那些內容,自己來進行相關的設定及修改(不過門檻也就相對較高)。
適量限縮外掛的使用,可避免這些外掛的潛在風險,尤其是許多外觀、特效的外掛,它們通常都會自外部引用不少js或程式碼,若是這些自外部引用的程式內容遭人所竄改,基本上也就沒有什麼安全性可言,這時候你就會發現怎麼都擋不住有心人士在你的網站裡加料。
就如同先前南韓遭受的網路攻擊(新聞連結),造成大規模的癱瘓事件,其實就是有心人士直接攻擊防毒軟體的更新伺服器,然後再將加料的內容透過更新伺服器塞進相關機構,以前在電影上看見的內容,竟然也在真實世界同步上演。
- 定時分析Log檔:
接著就是進行資料分析的工作,雖然網站本身的Log資料都相當龐大(視你記錄內容的多寡而定),但是在這些進、出入的記錄中,往往都能夠發現到被攻擊的軌跡,不過這個工作可能就需要一些經驗,以及更多的時間來練習(例:中毒與檔案搜尋技巧)
不過,在Log檔的分析上,除非有專職的人員能夠進行追蹤,不然很難提前發現問題,除此之外,若是系統的管理帳號被破解,基本上他也有權利能夠刪除一切Log的資料,藉此隱藏它攻擊的軌跡。
像先前Java的事件,大家應該都記億猶新吧!?雖然,人具備多種技能是好事,但是,針對電腦系統或應用上來說,有時愈單純反而愈安全喔!(不過這還是得要考量CP值,最終還是只能從中取得平衡點)
沒有留言:
張貼留言