保障Ubuntu中LNMP安全可从系统、网络、应用层面入手,具体措施如下:
-
系统层面
- 定期更新:通过
sudo apt update && sudo apt upgrade更新系统及软件包,修复漏洞。
- 强化SSH:禁用root登录、使用密钥认证、修改默认端口(如2222),限制访问IP。
- 权限管理:设置文件/目录最小权限,禁用不必要的SUID/SGID,使用专用用户运行服务。
-
网络层面
- 防火墙配置:用UFW限制仅开放必要端口(SSH、HTTP/HTTPS、MySQL等),拒绝其他流量。
- SSL加密:通过Let’s Encrypt获取免费SSL证书,配置Nginx启用HTTPS,强制跳转HTTP到HTTPS。
-
应用层面
- Nginx安全配置:隐藏版本号、限制HTTP方法、启用XSS/点击劫持防护。
- MySQL安全:设置强密码、禁止远程root登录、限制数据库用户权限,定期备份数据。
- PHP安全:禁用危险函数(如
exec、system),关闭文件上传漏洞,启用open_basedir限制路径。
-
监控与审计
- 日志监控:定期分析系统日志(如
/var/log/syslog、Nginx日志),检测异常访问。
- 漏洞扫描:使用OpenVAS、Nessus等工具定期扫描系统漏洞,及时修复。
- 入侵检测:部署Snort、Suricata等IDS监控网络流量,识别潜在攻击。
-
其他措施
- 禁用不必要的服务,减少攻击面。
- 定期备份重要数据,存储在安全位置。
通过以上措施,可显著提升Ubuntu LNMP环境的安全性,降低被攻击风险[1,2,3,4,5,6,7,8,9,10,11]。