以下是CentOS上部署LNMP实现安全防护的关键措施:
系统更新与权限管理
yum update 修复系统漏洞。root 远程登录,创建专用服务用户(如 webuser),并限制其权限。chattr +i 锁定关键配置文件,防止篡改。防火墙配置
firewalld 或 iptables,仅开放必要端口(HTTP 80、HTTPS 443、SSH 22等),禁止数据库端口(3306)外部访问。firewalld 规则:firewall-cmd --permanent --add-service=http --add-service=https  
firewall-cmd --reload  
服务最小权限原则
root 用户运行,配置文件中指定用户组(如 user = webuser)。server_tokens off;。if ($request_method !~ ^(GET|HEAD|POST)$) { return 405; }。add_header X-Frame-Options "SAMEORIGIN";  
add_header X-XSS-Protection "1; mode=block";  
add_header Content-Security-Policy "default-src 'self';";  
root 登录,限制用户权限至最小必要范围。my.cnf:[mysqld]  
skip-name-resolve  # 禁用DNS解析  
sql_mode=STRICT_TRANS_TABLES  # 严格模式  
disable_functions = exec,passthru,shell_exec。open_basedir 限制文件访问路径,防止跨目录攻击。文件与目录权限
755,敏感文件(如配置文件)设为 640,确保仅服务用户可读。chmod 600),并使用随机文件名。数据备份与加密
mysqldump)和网站文件,存储至异地。ELK Stack)监控异常访问,重点关注 404、500 错误及异常登录尝试。fail2ban 防止暴力破解,限制单个IP的失败登录次数。Lynis)扫描系统漏洞。ModSecurity,拦截SQL注入、XSS等攻击。参考来源:[1,2,3,6,7,8,9,10,11,13,14]