以下是Ubuntu LAMP服务器的安全设置要点:
- 系统更新
定期更新系统和软件包:sudo apt update && sudo apt upgrade -y,安装unattended-upgrades实现自动更新。 - SSH安全加固
- 禁用root登录、密码认证,启用密钥认证:修改
/etc/ssh/sshd_config,设置PermitRootLogin no、PasswordAuthentication no,并指定非标准端口(如2222)。 - 重启SSH服务:
sudo systemctl restart sshd。
- 禁用root登录、密码认证,启用密钥认证:修改
- 防火墙配置
使用UFW限制端口,仅开放SSH(2222)、HTTP(80)、HTTPS(443)等必要端口:
sudo ufw allow 2222/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw enable。 - LAMP组件安全
- Apache:禁用目录列表、不必要模块(如SSI、CGI),设置专用用户运行,限制文件访问权限。
- MySQL:运行
sudo mysql_secure_installation设置强密码,删除匿名账户和测试数据库,限制远程访问(如需远程需配置SSL)。 - PHP:禁用危险函数(如
eval、exec),关闭错误显示(仅记录到日志),设置内存限制。
- 用户与权限管理
- 创建普通用户并赋予sudo权限,避免直接使用root。
- 设置密码策略(最小长度、复杂度、过期时间)。
- 安全工具与监控
- 安装Fail2Ban防止暴力破解,ClamAV查杀恶意软件。
- 定期备份数据,监控系统日志(如
/var/log/auth.log、/var/log/apache2/error.log)。
- 高级安全选项
- 启用SELinux或AppArmor限制进程权限。
- 对敏感数据(如数据库)使用加密存储。
参考来源: