首页主机资讯Ubuntu上Nginx安全设置有哪些

Ubuntu上Nginx安全设置有哪些

时间2025-11-27 19:19:04发布访客分类主机资讯浏览811
导读:Ubuntu上Nginx安全设置清单 一 系统与网络加固 保持系统与软件为最新:执行sudo apt update && sudo apt upgrade -y,并启用无人值守安全更新(安装unattended-upgra...

Ubuntu上Nginx安全设置清单

一 系统与网络加固

  • 保持系统与软件为最新:执行sudo apt update & & sudo apt upgrade -y,并启用无人值守安全更新(安装unattended-upgrades后配置自动安全更新),降低已知漏洞利用风险。
  • 启用防火墙并仅开放必要端口:使用UFW放行22/TCP(SSH)80/TCP(HTTP)443/TCP(HTTPS),或直接使用**sudo ufw allow ‘Nginx Full’**一键放行HTTP/HTTPS,随后启用防火墙并验证状态。
  • 入侵防护:部署fail2ban监控Nginx日志,自动封禁暴力破解与扫描来源IP。

二 Nginx基础安全配置

  • 隐藏版本信息:在**/etc/nginx/nginx.confhttp块加入server_tokens off; **,减少攻击者通过版本识别漏洞的机会。
  • 限制可用HTTP方法:在需要的serverlocation中限制为GET|HEAD|POST,对不合规方法返回444立即关闭连接。
  • 合理超时与资源控制:设置如client_body_timeout 12; client_header_timeout 12; keepalive_timeout 15; send_timeout 10; ,并在events中配置**worker_connections 1024; use epoll; **以控制并发与资源占用。
  • 请求速率限制:在http中定义共享内存区与速率,在server/location应用,示例:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; limit_req zone=one burst=5 nodelay; ,缓解DoS与暴力请求。
  • 安全响应头:在http/server中添加add_header X-Content-Type-Options “nosniff”; add_header X-Frame-Options “SAMEORIGIN”; ,降低MIME嗅探与点击劫持风险。
  • 访问与错误日志:使用结构化日志格式记录**$remote_addr、 $request、 $status、 $http_user_agent、 $http_x_forwarded_for**等关键字段,便于审计与溯源。

三 传输层安全与证书管理

  • 获取并自动配置证书:安装certbotpython3-certbot-nginx,执行sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com自动申请并配置HTTPS/HTTP/2,证书到期前自动续期(可先执行sudo certbot renew --dry-run验证)。
  • 强加密与协议:在listen 443 ssl http2; server块中,启用TLSv1.2/TLSv1.3,配置现代密码套件(如ECDHE-ECDSA/ RSA-AES128/256-GCMCHACHA20-POLY1305),并设置ssl_prefer_server_ciphers on;
  • 性能与隐私增强:启用ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ,开启ssl_stapling on; ssl_stapling_verify on; 并配置resolver以提升TLS握手与OCSP验证性能与隐私。
  • 强制HTTPS与HSTS:将HTTP80端口301重定向到443,并在HTTPS server中添加add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always; ,强制浏览器使用HTTPS。

四 进阶防护与运维

  • Web应用防火墙:按需编译并加载ModSecurity动态模块,使用OWASP Core Rule Set(CRS),在http块中load_module modules/ngx_http_modsecurity_module.so; ,在server块启用modsecurity on; 并包含规则文件;通过SecAuditLog记录审计日志,变更后用nginx -t校验并重启。
  • 备份与恢复:定期打包备份**/etc/nginx/var/log/nginx**,示例:tar -czvf nginx-backup-$(date +%F).tar.gz /etc/nginx /var/log/nginx;紧急恢复时先停止服务、解压覆盖、执行nginx -t校验再启动。
  • 监控与告警:部署nginx-prometheus-exporter暴露**/nginx_status**,结合Prometheus/Grafana构建请求速率、连接数、5xx比例等关键指标的可视化监控与阈值告警。

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


若转载请注明出处: Ubuntu上Nginx安全设置有哪些
本文地址: https://pptw.com/jishu/758181.html
怎样在Ubuntu中更新Nginx版本 Debian Crontab如何实现任务报警

游客 回复需填写必要信息