您在這裡

[建議]Xoops的特色模組-Protector 2.55 網站防護相似模組開發建議

cam1l0340's 的頭像
cam1l0340 在 2010-10-24 (周日) 12:41 發表

近來在Xoops正體中文延伸計畫網頁看到一款很特別的模組--Protector 2.55 網站防護模組(看起來很像eMule的DLP,以下為該模組介紹),個人覺得該模組立意頗佳,不知Joomla!有沒有具有同樣功能的防護模組或具相思功能的防護模組(相關配套模組混用也可以),若無,不知有沒有相關的開發計畫或有相關高手準備進行研發 ?

Protector 2.55 網站防護模組

Description:
此模組可以保護的攻擊類型如下:
- DoS
- Bad Crawlers (like bots collecting e-mails...)
- SQL Injection
- XSS (Just only a little kind of ...)
- System globals pollution
- Session hi-jacking
- Null-bytes
- Wrong file path specifications
d- Some kind of CSRF (fatal in XOOPS <= 2.0.9.2)
- Brute Force Attack (暴力密碼破解防護)

<分析:幾乎所有的網站攻擊方式都有涵蓋到,難怪Xoops還是有許多用戶,因為用了Xoops的該模組後可以避免任何攻擊,也可以花更多心思在其他方面上(本人還是認為Drupal比較好,請勿毆打或圍攻! )

= 使用方式 =
預設語言檔案為BIG5繁體中文,使用UTF-8者請事先將utf8_tw目錄內所有檔案複製到tchinese目錄內覆蓋。
新使用者請依照一般模組的安裝方式來安裝即可。(安裝完必須做下述mainfile.php編輯)
當您安裝完此模組後,編輯您的 mainfile.php 接近尾部的內容如下:

define('XOOPS_GROUP_ADMIN', '1');
define('XOOPS_GROUP_USERS', '2');
define('XOOPS_GROUP_ANONYMOUS', '3');

[color=CC0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;[/color]

if (!isset($xoopsOption['nocommon'])[color=0000CC]&& XOOPS_ROOT_PATH != '[/color] ) {
include XOOPS_ROOT_PATH."/include/common.php";
}
[color=CC0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;[/color]

也就是在『 if (!isset($xoopsOption['nocommon'])) {』 的前後各插入一段防護偵測,如此可做到雙重防護。
請特別注意,上下兩行加入的紅字是不同的,最近時常看見有網友發問自己為何總是安裝失敗,大多數原因皆是不仔細詳看這段內容導致!
至於『&& XOOPS_ROOT_PATH !=』部份,因版本之不同而異,若是和您的設定不同不用介意。
假如您需要『擋IP』(IP Ban) 的功能,開啟系統管理介面的『系統 -> 偏好設定 -> 一般設定 ->啟用擋 IP 功能』。
當您啟動『擋IP』的時候,您必須檢查是否您自己的 IP 有包含在『輸入要擋掉的 IP 網址』中。
請務必設置救援密碼,以免管理者IP被不知名原因記錄到禁止IP列而無法進入網站。

= 升級方式 =
由舊版本升級者,請將所有檔案覆蓋後到模組管理區內執行更新模組。
但因版本或是上傳軟體、方式之不同,有可能造成檔案上傳覆蓋後無法進入管理區的問題發生,如果發生這樣問題時請暫時先將上述的mainfile.php修改部份暫時還原或註解,進入管理區更新完模組之後記得恢復mainfile.php內的設定。

==更新資訊==
2.55 (2006/2/11)
- 不可以上傳多數.存在的檔案的Apache對策改為只允許.tar.gz的格式。
- 修改mymenu在XOOPS Cube2.1的互換性問題。
- 西班牙語檔案更新 (thx bezoops) --原作者網站下載

2.54 (2005/12/08)
- PREFIX管理(表單前置管理)可以針對每個前置表單作備份動作 (此功能尚在實驗階段)
- 變更為不可以上傳多數.存在的檔案 (Apache對策)
- 巴西葡萄牙語檔案更新 (thx Izzy)

2.53a (2005/11/30)
- 新增偽裝檔案上傳造成IE的XSS安全問題之對策CODE
- 資料庫如果呈現busy時會有Path Disclosure的問題改善
- 修正Notice產生的幾項錯誤
- 改善管理畫面與XOOPS2.2.3不相容造成錯誤的互換性問題
- 將部分文件移至docs目錄 (避免遭到經由這些檔案而偵測到版本資訊)
- 升級管理頁面的 mymenu 版本為 0.15a
- 降低某些PHP_SELF/PATH_INFO XSS的強制終止對策
- 更改模組ICON (thx Argon)
- 波蘭語檔案更新 (thx Tomasz)
- 法語檔案更新 (thx marco)
- 義大利語檔案更新 (thx Defkon1)
- 修正zip檔案的錯誤封包問題 (thx Dave_L) V 2.53a

2.52 (2005/8/27)
- WordPress等模組的xmlrpc.php功能無效化
- xmlrpc 攻擊不重複於LOG
- 俄語文檔更新 (thx Sergey)

2.51 (2005/8/24)
- Session攔截對策,可以設定IP變動所涵蓋的範圍
- session.use_trans_sid 加寫注意事項
- 改善 PHP_SELF XSS 的語法
- 法文檔案更新 (thx HEMON

2.50 正式版 (2005/8/22)
- 新增 PHP_SELF XSS 對策
- 巴西葡萄牙語‧西班牙語檔案更新 (thx Yuji)

2.50 beta2 (2005/7/31)
- "2.0.9.2漏洞修補的yes及no選項改成可以選擇式"無効化"功能
- 修改log管理可以設定每頁顯示篇數
- 繁體中文檔案更新 (thx Kikuchi)
- 巴西葡萄牙語‧西班牙語檔案更新 (thx Yuji)

2.5 Beta 01 (2005/7/22)
- 新增排除模組的DoS/Crawler防護,以避免聊天模組等被誤偵測。
- 修正部份忘記加入index在資料夾內。
- 新增可信任IP欄,登記的IP不做DoS攻擊的監視。
- 新增暴力破解密碼的對策 (Brute Force Attack)。

2.40 正式版 (2005/7/21)
- 新增 criteria attack 的對策 (適用於xoops <= 2.0.10*用)
- 義大利語言檔案更新 (thx Defkon1)
- 芬蘭語言檔案更新 (thx kokko)
- 波蘭語言檔案更新 (thx Tomasz)

2.40RC2 (2005/4/4)
- 模組更新時連帶一起刪除區塊 (thx Dava_L)
- 巴西葡萄牙語言檔語・西班牙語言檔更新 (thx Yuji)

身為一位Drupal User,我必需以這位可悲之人的言論為恥!本人必須說:你最好收回你那惡劣之言論!
請問:維基百科為何如此壯大?因為維基百科有[不傷害新手]的方針!摘錄如下:不要傷害新手--充分認識到新手的價值,新血的注入才能為我們帶來更多的知識、觀點和想法,豐富維基百科的多樣性及保證維基百科的中立和完整。如果新手犯了常見的菜鳥級錯誤(比如沒有把標題標成粗體,或沒做應有的wiki連結等),我們可以先幫忙修正,並且留言給新手,告訴他們該如何學習基本的編輯知識。另外,當有新人註冊加入的時候,你可以嘗試留言歡迎和鼓勵他們。雖然在維基百科裡存在著一些自認是標準甚高的維基人,但是在向新手提供意見的時候,我們應當使用謙虛的語氣,讓他們感到自己是真正受歡迎的,而不要讓他們覺得所作所為都要通過那些完美主義者的批判。
對新手,請相信人性本善。儒家古語有云:「人之初,性本善」。就算犯了錯誤,在絕大多數情況下,他們還是真正想要為維基百科付出和貢獻的。要耐心引導,並給他們改進的機會。謹記Hanlon法則:「如果能用一時糊塗來解釋,就不要認為那是犯罪」。新手那些貌似惡意的行為,多半是由粗心大意造成的。就算你百分之百認定某人已經無藥可救,請仍然展示你的冷靜、體諒及尊重。這樣你會更受他人的尊重,也為我們整個維基百科樹立美好的形象。
而本人試問:你有做到嗎?你不但對不起Dries Buytaert先生(Drupal創始人),更對不起Drupal!!你也許說:他既然支持Xoops,那就用Xoops就好了啊!那麼本人必須反問:古人說過[海納百川,有容乃大]你有做到嗎?或許這位大大的文章可以激發出更好的Idea,甚至是更好用的Drupal!結果呢?你不但不鼓勵,反而如此惡劣傷害新手,別人會怎麼看Drupal?或許別人會因此覺得Drupal討論區極不友善,因此改去用其他CMS!莫非這就是因為Drupal太多人用,就可以傲慢?這就是知名且宣稱[具有友善的討論區]的CMS應有之態度?獎更難聽的:你簡直是Drupal無法強大的始作俑者!

假日或是剛上班時看到這一篇,還真的可以博君一笑。

過去還在半導體封測業時,每年都要花幾十萬請外部廠商做公司的資安檢查,前二年幾乎都慘不忍賭。這讓我體認到系統除了要好用,資安能力也是很重要的,如果事後修修補補,總是很難作到確實安全的地步。

因此當我決定要做網站,開始尋找適合的 CMS 的時候,除了延展性之外,資安能力也是一個重要考量。

結果 Drupal 勝出,延展性最好,資安能力最好。副作用是學習曲線較高,不過這是小事。

我還特地去了解 Drupal 如何進行資安能力的維護。除了架構本身即具有資安意識之外(這跟品質由設計開始的概念是一樣的,概念形成的開始,就已經把資安防護納入設計了),Drupal 還有模組提出的審核(檢查是否符合 Drupal 規範的 coding standard,確保程式遵循了 drupal 的品質要求),平時並且有約 40 位成員負責資安問題的確認與維護,另外還有資安通報(不知各位有沒有收過 security issue 的 mail news,這個很重要),讓我隨時了解又發現了哪一個模組、內核發現了什麼資安漏洞以及補丁。

過去,也發包不少專案給第三方廠商(包含國際大廠、上市櫃的資訊公司、微軟的xx認証配合廠商),幾年下來的經驗告訴我,懂得資安 issue 並且就在程式中加以防護的系統開發人員,幾乎是 0。我問的幾個在系統/程式較重要的資安問題(例如 XSS, SQL injection,authorization / authentication 這一類的問題), 很失望地,頂多是聽過知道這些名詞,沒有人知道在程式中,如何作防護。以此相較,Drupal 的資安能力,顯然高出太多太多了。

如果你聽到哪個系統有資安模組,嗯,那麼這類系統算是上選了(如 XOOPS);如果你聽到哪個系統並沒有特定的資安模組,只是把資安防護問題從架構設計時就已經設計進去了,並且建立資安防護的日常機制,有專責人員/組織確認/處理資安的問題,隨時發佈資安通報,那麼,是上上之選(如 Drupal)。