在Ubuntu系統上部署LAMP(Linux, Apache, MySQL, PHP)環境時,確保系統的安全性至關重要。以下是一個詳細的安全設置指南,幫助你加固LAMP環境。
首先,確保你的系統和所有軟件包都是最新的。使用以下命令更新系統:
sudo apt update && sudo apt upgrade -y
sudo apt install apache2
sudo a2enmod rewrite
sudo a2enmod headers
sudo systemctl restart apache2
sudo apt install mysql-server
安全配置MySQL:
運行安全腳本來設置MySQL的root密碼和其他安全選項:
sudo mysql_secure_installation
sudo apt install php libapache2-mod-php php-mysql
配置PHP:
編輯/etc/php/7.x/apache2/php.ini
文件,確保以下配置項正確設置:
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_WARNING
使用UFW(Uncomplicated Firewall)來限制對系統的訪問:
sudo apt install ufw
sudo ufw allow 'Apache Full'
sudo ufw enable
修改SSH配置文件以禁用root登錄,只允許密鑰認證:
sudo nano /etc/ssh/sshd_config
添加或修改以下行:
PermitRootLogin no
PasswordAuthentication no
重啟SSH服務:
sudo systemctl restart sshd
通過修改/etc/login.defs
和/etc/pam.d/system-auth
文件,設置密碼的最小使用天數、復雜度要求等:
password required pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=10
在防火墻中禁用不必要的端口和服務,減少潛在的攻擊面。
使用工具如rsync
或duplicity
定期備份重要數據。
使用工具如logwatch
或fail2ban
監控系統日志,及時發現異常行為。
如果需要更高級別的安全加固,可以啟用SELinux或AppArmor來限制應用程序的權限。
通過上述步驟,你可以顯著提高Ubuntu LAMP環境的安全性。請記住,安全性是一個持續的過程,需要不斷地監控和更新。