centos lnmp安全漏洞防范措施
导读:CentOS LNMP 安全漏洞防范要点 一 系统与账户安全 保持系统与组件为最新安全版本:执行yum update -y并定期清理无用包,及时修补内核与应用漏洞。 强化账户与登录安全:创建非 root 运维账号并配置sudo;禁用 ro...
CentOS LNMP 安全漏洞防范要点
一 系统与账户安全
- 保持系统与组件为最新安全版本:执行yum update -y并定期清理无用包,及时修补内核与应用漏洞。
- 强化账户与登录安全:创建非 root 运维账号并配置sudo;禁用 root 远程 SSH;优先采用SSH 密钥认证,必要时可更改默认端口;设置强密码策略与口令复杂度。
- 启用防火墙并最小化放通:仅开放SSH(22)/HTTP(80)/HTTPS(443);数据库端口如3306仅内网访问或封禁公网。
- 部署Fail2ban防御暴力破解:对 SSH、Nginx 登录失败进行自动封禁。
- 启用并维持SELinux为Enforcing模式,减少提权与越权风险。
- 关键系统文件加固:对**/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow**设置不可更改属性(如 chattr +i),降低被篡改风险。
二 Nginx 安全配置
- 隐藏版本与信息泄露:设置server_tokens off; ,移除或清理X-Powered-By等敏感响应头。
- 全站HTTPS与强化套件:使用Let’s Encrypt签发证书,启用HSTS、OCSP Stapling,仅允许TLSv1.2/1.3与强加密套件。
- 安全响应头:配置X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、Content-Security-Policy、Strict-Transport-Security等降低常见 Web 攻击面。
- 限制请求与连接:设置client_max_body_size、client_body_timeout、keepalive_timeout防滥用;使用limit_conn/limit_req做速率与并发限制,缓解 DoS。
- 访问与执行控制:关闭目录列表;对上传(upload)、数据(data)、静态(static)等目录禁止脚本执行;对无需直访的源码目录返回 403。
三 MySQL MariaDB 安全配置
- 运行mysql_secure_installation:禁用匿名用户、删除test库、禁止 root 远程登录。
- 绑定与解析:在 my.cnf 设置bind-address=127.0.0.1(仅本地),开启skip-name-resolve减少 DNS 侧信道与解析放大风险。
- 权限最小化:为应用创建最小权限专用账号,仅授予目标库表的SELECT/INSERT/UPDATE/DELETE等必要权限,避免使用SUPER/DROP/ALTER等高危权限。
- 传输与文件安全:优先使用TLS加密连接;设置secure-file-priv限制导入导出目录;禁用local-infile降低恶意数据注入风险。
- 审计与备份:启用通用查询日志/错误日志用于审计;制定定期备份与恢复演练策略。
四 PHP 与 PHP-FPM 安全配置
- 关闭信息泄露与调试:设置expose_php=Off、display_errors=Off、log_errors=On,指定error_log路径。
- 禁用危险函数:通过disable_functions禁用exec、passthru、shell_exec、system、proc_open、popen、curl_exec、curl_multi_exec、parse_ini_file、show_source等。
- 访问边界与路径隔离:使用open_basedir仅允许访问**/var/www/html与必要临时目录(如/tmp**);在 Nginx 层对敏感目录做脚本执行拦截。
- 会话与 Cookie:开启session.cookie_httponly=1、session.cookie_secure=1、session.use_strict_mode=1,降低会话劫持风险。
- 运行与权限:以非 root专用用户运行 PHP-FPM;如使用 TCP 监听,限制allowed_clients为127.0.0.1;使用Unix Socket并设定listen.owner/listen.group与 Web 服务用户一致;调整pm.max_children等防止资源耗尽。
五 文件权限 备份监控与审计
- 文件与目录权限:网站根目录(如**/var/www/html**)属主为webuser:webuser,目录750、文件640;配置文件(如my.cnf、php.ini)设为600;禁止 Web 用户对敏感配置与脚本具备写权限。
- 日志与轮转:启用并集中Nginx、PHP-FPM、MySQL日志;配置logrotate按日轮转并压缩,保留至少14天。
- 监控与告警:部署Fail2ban与系统监控(如Prometheus/Grafana),对异常登录、4xx/5xx 爆发、连接数异常等进行告警。
- 备份与演练:制定每日/每周备份策略(全量+增量),定期恢复演练验证可用性与完整性;重要备份做异地/离线留存。
- 安全审计与测试:定期日志审计、基线核查与渗透测试,及时修复发现的问题;对公网开放服务保持最小化暴露面。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lnmp安全漏洞防范措施
本文地址: https://pptw.com/jishu/758994.html
