在CentOS系統中對PHP進行安全加固,可以遵循以下步驟:
修改 /etc/login.defs
:
PASS_MAX_DAYS
為 90(密碼有效期)PASS_MIN_DAYS
為 2(密碼最短期限)PASS_MIN_LEN
為 8(密碼最短長度)PASS_WARN_AGE
為 30(密碼過期提醒)。配置PAM(Pluggable Authentication Modules):
/etc/pam.d/system-auth
文件,增加或修改以下行:password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
并在其下面新增:password requisite pam_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 authtok_type=
如果需要為root用戶也應用此規則,添加 enforce_for_root
。php -m
命令查看當前PHP加載的模塊,并根據需要禁用不需要的模塊。php.ini
文件中設置 safe_mode
為 Off
,以關閉安全模式。php.ini
文件中設置 open_basedir
來限制PHP可以訪問的文件系統目錄。session.cookie_httponly
為 1
,防止腳本通過document對象獲取Cookie。session.cookie_secure
為 1
,確保Cookie只在HTTPS下傳輸。php.ini
文件中禁用不安全的函數,如 phpinfo
, eval
, passthru
, exec
, system
, chroot
, scandir
等。display_errors
設置為 Off
,并將錯誤信息記錄到日志文件中,如 /var/log/php/error_log
。firewalld
)限制對PHP相關服務的訪問。以上步驟可以幫助你提高PHP應用程序的安全性。請根據你的具體環境和需求調整配置。在進行任何配置更改之前,請確保備份相關文件,并在非生產環境中進行充分測試。