LNMP在Ubuntu上如何实现安全防护
导读:Ubuntu 上 LNMP 安全防护实操清单 一 系统层加固 保持系统与软件为最新:执行sudo apt update && sudo apt upgrade -y,及时修补漏洞;建议启用无人值守升级 unattended...
Ubuntu 上 LNMP 安全防护实操清单
一 系统层加固
- 保持系统与软件为最新:执行sudo apt update & & sudo apt upgrade -y,及时修补漏洞;建议启用无人值守升级 unattended-upgrades以自动安装安全更新。
- 最小权限与强认证:创建非 root运维账号并加入 sudo,禁用 root 远程登录;仅使用SSH 密钥认证,必要时可更改默认端口(如2222),并保留22端口仅内网可达。
- 防火墙最小化放行:使用ufw仅开放22/80/443(或自定义的 SSH 端口),默认拒绝入站、允许出站。
- 入侵防护:部署Fail2Ban,对 SSH、Nginx 等日志进行监控与自动封禁。
- 日志与审计:集中收集与分析系统与安全日志,定期审计异常登录与访问行为。
二 Nginx 与网络层防护
- 全站 HTTPS:使用Let’s Encrypt与 certbot 自动签发并续期证书,强制HTTP→HTTPS跳转,配置HSTS。
- 隐藏版本与信息泄露:在 Nginx 配置中关闭版本显示,减少攻击面。
- 安全响应头:启用并合理配置X-Frame-Options、X-Content-Type-Options、Content-Security-Policy、Strict-Transport-Security等头部。
- 请求与连接限制:限制请求体大小 client_max_body_size、速率 limit_req_zone/limit_req、并发连接数/速率限制,缓解 DoS/CC 与滥用。
- 访问控制:对管理后台、敏感接口等路径设置IP 白名单或额外鉴权。
- 边界与清洗:结合Cloudflare等CDN/WAF获取基础防护与缓存加速。
三 MySQL MariaDB 安全
- 安全初始化:运行mysql_secure_installation,设置强 root 密码,删除匿名用户,禁止远程 root登录,移除测试库。
- 权限最小化:为应用创建专用数据库与用户,仅授予必要权限(如SELECT/INSERT/UPDATE),避免使用DROP/ALTER等高危权限。
- 网络与加密:数据库默认仅127.0.0.1监听;跨主机访问时强制TLS 加密与强认证。
- 连接与资源控制:合理设置max_connections等参数,避免资源被滥用。
- 审计与日志:启用错误日志与安全日志,定期审计异常查询与登录。
四 PHP 与 PHP-FPM 安全
- php.ini 关键项:关闭expose_php;开启log_errors并指定error_log;关闭display_errors;设置memory_limit、max_execution_time、max_input_time、upload_max_filesize、post_max_size为业务合理值。
- 会话与 Cookie:启用session.cookie_httponly=1、session.cookie_secure=1、session.use_strict_mode=1,降低会话劫持风险。
- 函数禁用:通过disable_functions禁用危险函数(如exec、shell_exec、system、proc_open、popen、curl_exec等),减少代码执行面。
- 路径隔离:使用open_basedir限制 PHP 读写目录(如仅允许**/var/www/html与/tmp**)。
- 进程与权限:PHP-FPM 以www-data运行,网站目录建议755/644,所有者www-data:www-data,避免777;按内存与负载调整pm.max_children等参数。
五 运维监控与备份恢复
- 持续监控与告警:部署Netdata/Prometheus/Grafana监控 CPU、内存、连接、QPS、5xx 错误等,并设置阈值告警。
- 日志分析:使用Fail2Ban、Logwatch等工具分析Nginx、PHP-FPM、MySQL日志,及时发现暴力破解与异常访问。
- 备份策略:制定每日增量、每周全量的备份策略,保留多份异地副本,定期恢复演练验证可用性。
- 纵深防护:在边界启用WAF(如 Cloudflare),必要时部署**IDS/IPS(如 Snort、Suricata)**增强检测与阻断能力。
- 安全开发生命周期:落实输入校验、参数化查询/ORM、最小权限、错误处理等安全编码规范,定期进行安全审计与渗透测试。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: LNMP在Ubuntu上如何实现安全防护
本文地址: https://pptw.com/jishu/748470.html
