1. 使用安全密碼
編輯/etc/login.defs 配置密碼選項。一般來説,建議密碼至少設定 8 位或者 8 位以上,包含大小字母和數字,有特殊符號更好。如果你想知道你設定的密碼是否安全,可以用 JTR cracker 之類工具來破解下,如果幾個小時被破解了,説明密碼不夠安全。也可以使用 pam_passwdqc 工具來檢測密碼強度。
2. 加固 SSH 安全
啓用 SSH 的公共金鑰並禁用密碼驗證。
編輯/etc/ssh/sshd_config 檔案修改 SSH 的預設 22 埠為其它埠比如 1653 。
使用 SSHv2 而不是 SSHv1,方法為修改/etc/ssh/sshd_config 中 ##Protocol 2,1 為 #Protocol 2 。
編輯/etc/security/limits.conf 限制使用者 Shell 資源的使用。
3. 安全 Apache
使用 mod_security 。通過 EasyApache 即可編譯 mod_security 。
編譯 Apache 的時候,將 suexec 編輯進去確保 CGI 程式和指令碼以擁有者的身份被擁有和執行。這樣出問題的時候容易判斷是哪個使用者引起的。
通過 PHPsuexec 編輯 Apache 和 PHP 。 PHPsuexec 強制所有的 PHP 指令碼以擁有者的身份執行。
啓用 PHP open_basedir 保護,這樣使用者就不能通過 PHP 開啓他們主目錄之外的檔案。
為 PHP 5 啓用 safe_mode,保證 PHP 指令碼的擁有者與所操作到的任何檔案的擁有者是一直的。編輯 php.ini 檔案,設定 safe_mode = On 即可。
4. 加固/tmp 目錄安全
為/tmp 目錄使用單獨的 nosetuid 分割槽,這樣會強制讓程序僅以執行者擁有的許可權執行。 cPanel 安裝之後以 noexec 方式載入/tmp 。
執行/scripts/securetmp 將/tmp 分割槽載入到一個臨時檔案。
5. 升級郵件到郵件 maildir 格式
Maildir 格式更安全並且能夠加速郵件系統。目前最新的 cPanel 版本均會自動使用 Maildir 。如果你的 cPanel 版本比較老的話,可以通過 /scripts/convert2maildir 來升級到 Maildir 。如果執行的時候提示 Maildir 已經啓用,就不需要再執行了。
6. 關閉系統的編譯器
大多數使用者都不需要使用 C 和 C++編譯器。使用 Security Center 中的 Complier Access 功能關閉未授權使用編譯器的使用者使用它們,或者僅僅關閉特定使用者使用編譯器的許可權。
7. 關閉不使用的服務和程序
檢查/etc/xinetd.conf 看下哪些服務你不在使用。比如 cupsd 和 nfs/statd 這些一般都不會用到。
你可以到 Service Configuration 中的 Service Manager 裏關閉不用的服務。
8. 監控你的系統
要實時監控你的系統,確保你能知道有哪些賬户被建立了,哪些站羣軟件被安全了,或者哪些站羣軟件需要更新等。
定期檢查你的系統比如檢查下面這些:
netstat -anp:查詢你沒有安裝或者授權的埠在執行的程式。
find / ( -perm -a+w ) ! -type l >> world_writable.txt: 查詢 world_wirtable.txt 檔案來檢視所有的可寫檔案和目錄。這樣有助於發現攻擊者藏在你係統上的檔案。
find / -nouser -o -nogroup>> no_owner.txt:查詢那些不屬於任何使用者或者組的檔案。所有的檔案都必須屬於某個特定使用者或者組。
ls /var/log/:系統日誌所在目錄。這裏可以檢查系統日誌,apache 日誌,郵件日誌等等。
有一些簡單易用的工具能夠掃描出系統的 rootkits,backdoors 等:
10. 保持 cPanel 更新
確保你使用的 cPanel 版本能夠不斷更新,始終保持使用最新的穩定版本。同時確保核心、使用者應用程式(如使用者的 CMS 等)、系統站羣軟件。
cPanel 的自動升級更新以及系統站羣軟件的更新可以在 WHM 中的 Server Configuration 中的 Update Preferences 裏設定。