在Debian系統中配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)環境時,安全性是一個重要的考慮因素。以下是一些關鍵的安全設置步驟:
確保系統處于最新狀態,安裝所有可用的安全更新。
sudo apt update
sudo apt upgrade
設置強密碼并強制用戶使用復雜密碼。
sudo apt install libpam-pwquality
sudo nano /etc/security/pwquality.conf
檢查并禁用不必要的網絡服務,降低攻擊面。
sudo systemctl list-units --type service --state running
sudo systemctl disable service-name
使用防火墻限制入站和出站流量。
sudo apt install ufw
sudo ufw enable
sudo ufw allow OpenSSH
sudo ufw allow port 80/tcp
sudo ufw allow port 443/tcp
更改SSH默認端口,禁用root登錄,使用SSH密鑰對進行身份認證。
sudo nano /etc/ssh/sshd_config
# 更改端口號
Port 2222
# 禁用root登錄
PermitRootLogin no
# 使用SSH密鑰對進行身份認證
在安裝MySQL后,使用 mysql_secure_installation
命令進行安全設置。
sudo mysql_secure_installation
使用工具如Logwatch或Fail2ban來自動監控并報告系統活動和安全事件。
合理配置用戶權限,確保每個用戶只能訪問其需要的文件和目錄。
編輯Nginx配置文件,確保所有配置符合安全最佳實踐。禁用不必要的Nginx模塊,減少潛在的安全風險。配置Nginx以使用SSL/TLS加密,保護數據傳輸過程中的安全。
sudo nano /etc/nginx/nginx.conf
# 禁用不必要的模塊
# ...
# 配置SSL/TLS
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
安裝并配置PHP-FPM時,限制PHP進程的資源使用,例如通過調整 pm.max_children
、 pm.start_servers
等參數。禁用不必要的PHP模塊,減少攻擊面。定期更新PHP和PHP-FPM到最新版本,以修補已知的安全漏洞。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
# 限制資源使用
pm.max_children = 5
pm.start_servers = 5
# 禁用不必要的模塊
; extension=php_curl.dll
安全加固是一個持續的過程,需要定期評估和調整策略以應對新的威脅。
以上步驟可以幫助提高Debian LNMP環境的安全性。建議定期審查和更新安全設置,以應對新的安全威脅。