首页主机资讯LNMP服务器如何提升安全性

LNMP服务器如何提升安全性

时间2025-12-10 12:08:04发布访客分类主机资讯浏览570
导读:LNMP服务器安全加固清单 一 系统层加固 保持系统与组件更新:定期执行系统包更新(如 yum/apt update),及时修补 Nginx、MySQL/MariaDB、PHP 的漏洞。 身份与权限:创建普通用户并授予 sudo,禁用 r...

LNMP服务器安全加固清单

一 系统层加固

  • 保持系统与组件更新:定期执行系统包更新(如 yum/apt update),及时修补 Nginx、MySQL/MariaDB、PHP 的漏洞。
  • 身份与权限:创建普通用户并授予 sudo,禁用 root 远程登录(/etc/ssh/sshd_config:PermitRootLogin no),设置强密码策略(长度≥10位,含大小写字母、数字、特殊字符),清理无用账户。
  • 登录安全:优先使用SSH 密钥认证,可修改默认端口(如 2222),并启用 Fail2ban 防暴力破解([sshd] 段:enabled = true,maxretry = 3)。
  • 强制访问控制:启用并保持 SELinuxEnforcing 模式,按需调整布尔值(如允许 Nginx 连接数据库:setsebool -P httpd_can_network_connect_db 1)。
  • 物理与引导安全:禁用不必要外设,设置 BIOS/GRUB 密码,减少物理与引导层风险。

二 网络与防火墙

  • 最小化开放端口:仅开放业务所需端口(如 80/443/SSH),数据库端口(如 3306)建议仅内网访问。
  • firewalld 示例(CentOS 7+):
    • 启动与开机自启:systemctl start firewalld & & systemctl enable firewalld
    • 放行 HTTP/HTTPS:firewall-cmd --permanent --add-service=http --add-service=https
    • 放行 SSH(示例端口 2222):firewall-cmd --permanent --add-port=2222/tcp
    • 使配置生效:firewall-cmd --reload;验证:firewall-cmd --list-all
  • iptables 思路:默认策略 DROP,放行已建立连接(ESTABLISHED,RELATED)、SSH、HTTP/HTTPS,再按需细化规则与保存。

三 Nginx 与 PHP 安全配置

  • Nginx 基础安全:
    • 隐藏版本:server_tokens off;
    • 安全响应头:
      • X-Frame-Options “SAMEORIGIN”
      • X-Content-Type-Options “nosniff”
      • Content-Security-Policy “default-src ‘self’; script-src ‘self’; object-src ‘none’”
      • Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”
    • 访问与速率限制:
      • 并发连接限制:
        • limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
        • limit_conn conn_limit_per_ip 10;
      • 请求速率限制:
        • limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
    • 目录与请求控制:禁用自动索引(autoindex off; ),仅允许必要 HTTP 方法(GET/POST/HEAD),按需做 IP 白名单
  • PHP 安全:
    • 禁用危险函数:disable_functions = eval,system,exec,passthru,shell_exec,proc_open,proc_get_status,pcntl_exec(按应用需要调整)。
    • 错误与日志:生产环境关闭 display_errors,开启 log_errors 写入日志。
    • 访问边界:open_basedir 限制脚本可访问目录;上传目录与 PHP 执行目录分离,上传文件禁止执行。
    • 资源与执行隔离:使用 php-fpm 池与不同用户运行,限制 upload_max_filesize / post_max_size,必要时用 cgroups/ulimit 限制资源。

四 数据库 MySQL/MariaDB 安全

  • 强口令与账户管理:为所有数据库用户设置复杂且唯一的密码,定期更换。
  • 最小权限原则:按库/表/列授予权限,避免使用 root 远程连接应用。
  • 加密与访问控制:启用 SSL/TLS 连接,限制来源 IP 与端口访问(数据库端口默认 3306,生产环境建议仅内网开放)。
  • 安全基线:删除匿名账户与测试库,限制本地/远程登录方式,定期审计用户与权限。

五 运维监控与备份恢复

  • 日志与审计:集中收集并定期审计 Nginx、PHP-FPM、MySQL 日志;使用 Fail2ban、Logwatch/Tripwire 检测异常登录与篡改;必要时引入 ELK/Prometheus+Grafana 做可视化监控与告警。
  • 备份与演练:制定定期备份(配置、代码、数据库),保留多份异地副本定期恢复演练,确保可快速回滚。
  • 持续更新与测试:保持 OS/Nginx/MySQL/PHP 及依赖库为最新稳定版;上线前进行安全审计/渗透测试;使用 SSL Labs 测试(目标评分 A/A+)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: LNMP服务器如何提升安全性
本文地址: https://pptw.com/jishu/768146.html
ubuntu反汇编指令应用 ubuntu反汇编指令步骤

游客 回复需填写必要信息