在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安全性
- 更改SSH默认端口。
- 禁用root登录。
- 使用SSH密钥对进行身份认证。
sudo nano /etc/ssh/sshd_config # 更改端口号 Port 2222 # 禁用root登录 PermitRootLogin no # 使用SSH密钥对
设置数据库的安全选项
在安装MySQL后,使用 mysql_secure_installation
命令进行安全设置。
mysql_secure_installation
限制远程root登录
在MySQL配置文件中设置 bind-address
为 127.0.0.1
,或者注释掉这一行,以允许远程访问。
# 在 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf 中找到并修改 bind-address = 127.0.0.1
监控系统日志
使用工具如Logwatch或Fail2ban来自动监控并报告系统活动和安全事件。
sudo apt install logwatch sudo apt install fail2ban
配置用户权限
合理配置用户权限,确保每个用户只能访问其需要的文件和目录。
sudo useradd newuser sudo usermod -aG sudo newuser
定期备份
定期备份服务器上的重要数据和配置文件,以防数据丢失或损坏。
sudo apt installTimeshift
通过上述步骤,可以显著提高Debian LNMP环境的安全性。建议定期审查和更新安全设置,以应对新的安全威胁。