子標題:XOOPS安全向導 - 上
翻譯:insraq
-
首先,你需要記住這個:沒有一個100% 安全的系統。任何事物都是相對的。在這個前提下,我們可以做一些使你的系統更安全的措施。
這個向導概述了不同的步驟來使你的系統更安全,技巧有來自 XOOPS-TIPS.com 的,也有來自 XOOPS 官方論壇的,多數的技巧已經被在 XOOPS-TIPS.com 列出來了,但是列出來的是分散的。我們希望把這些技巧分門別類,使你能更好的領會”安全問題”。 - 選擇一個好的空間服務商
-
我們總是把那個公司提供最多的功能而價格最低廉放在選擇空間的首位,其實,很多其他的因素值得注意。
下面是一些技巧:
一個好的著名的空間服務商通常意味著安全。因為我們沒有一個預算來單獨買一台主機,你應當注意整個主機的安全性和在這個主機上的其他網站的安全性。因為這些對你的網站的安全至關重要。
不管你的網站多麼安全,如果你的服務器被在上面的其他網站威脅,你使你的網站更安全的措施都是白費力。
轉讓或規模較小的空間服務商應當被避免選擇。因為通常來說,我們沒有資源或者方法來監視你的服務器。 - 安裝——選擇一個不好猜測的前綴
-
在安裝進程中,選擇一個不好猜測的前綴,像:f56Gewg_3GE98FE53fgw,或者HK_er__twgwY98Fgfw。
如果你用的默認的“xoops”作為前綴,你可以用GIJOE的“XOOPS Protector”這個模塊來修改前綴。 - 安裝完成後馬上應該做的
- 當你安裝完XOOPS的時候,不要忘記删除安裝目錄和修改 mainfile.php 的權限。不删除安裝目錄、不修改mainfile權限,相當於公開要請別人來重新安裝並且取代你控制這個網站。
- 安裝“XOOPS Protector”模塊
-
當你安裝完 XOOPS 的時候,你應當安裝的第一個模塊是 GIJOE 的“XOOPS Protector”模塊。如果你對你的網站安全很在意,GIJOE的“XOOPS Protector”模塊是必須安裝的。
XOOPS 可能是最安全的 CMS 之一,然而,它的核心有潛在的隱患可能使黑客攻擊進入你的網站。這一點已經被GIJOE——“對XOOPS安全貢獻最大的人”證明。
獲得更多信息,請訪問GIJOE的網站:http://www.peak.ne.jp/xoops/ - 把用戶名和密碼從Mainfile.php中移出來
-
你安裝完XOOPS後,我們建議你把數據庫的用戶名和密碼從mainfile.php中移出來。把敏感的信息從網站目錄中移出來是很好的安全措施。這可以避免由你的服務器失誤導致的敏感信息洩漏。例如PHP停止編譯,如果這樣的話,PHP文件里的信息可以被任何人讀到。方法如下:
假設你的虛拟主機根目錄為/home/yoursite.com/
假設你的網站根目錄為/home/yoursite.com/public_html
假設你的虛拟主機根目錄下創建一個文件夾,例如是securedata。
在這個文件夾中創建一個PHP文件,包括以下代碼:

<?php $db_user = "db username"; //database username here $db_passwd = "db password"; //database password here $db_name = "db name"; //your database name here ?>
- 把db username換成你的數據庫用戶名、db password換成你的數據庫密碼、db name換成你的數據庫名稱。
-
把它的屬性改為“644”。(默認是644)
備份一下mainfile.php。
在頂端加入如下代碼:

include ("/home/yoursite.com/securedata/xoops-auth.php");
作如下幾處修改(紅字):

// Database Username // Your database user account on the host define('XOOPS_DB_USER', $db_user); // Database Password // Password for your database user account define('XOOPS_DB_PASS', $db_passwd); // Database Name // The name of database on the host. ... define('XOOPS_DB_NAME', $db_name);
最後保證你的mainfile.php的屬性是“444”。 - 保護Admin.php和“系統管理”模塊
-
Admin.php是任何人都可以訪問的,這就為黑客攻擊提供可乘之機,保護Admin.php的方法如下:
要求:
服務器:Apache
你的空間服務商允許“.htaccess”
你有一個靜態或者半靜態的IP
假設:
管理員1的靜態IP的是:123.456.789.012
管理員2的半靜態IP的是:456.789(後兩位會變動)
方法:
在你的根目錄的.htaccess文件里輸入以下內容:

<Files admin.php> order deny,allow deny from all allow from 123.456.789.012 allow from 456.789 </Files>
在/modules/system/.htaccess文件裡輸入以下內容:

AuthName "protected" AuthType Basic <Limit GET POST> order deny,allow deny from all allow from 123.456.789.012 allow from 456.789 </Limit>
很容易看出來,加入有一個管理員3,你可以在allow from ……下面繼續添加。