nginx安全笔记

一、隐藏版本信息

nginx

复制代码
http {
    server_tokens off;
}

二、禁用不必要的 HTTP 方法

nginx

复制代码
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 405;
}

三、防点击劫持、XSS、MIME 嗅探

nginx

复制代码
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;

四、限制请求频率(防 CC、暴力破解)

nginx

复制代码
http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
}
server {
    limit_req zone=one burst=20 nodelay;
}

五、限制连接数

nginx

复制代码
http {
    limit_conn_zone $binary_remote_addr zone=addr:10m;
}
server {
    limit_conn addr 10;
}

六、禁止恶意 UA / 爬虫

nginx

复制代码
if ($http_user_agent ~* (curl|wget|python|scrapy|fiddler)) {
    return 403;
}

七、禁止访问敏感文件 / 目录

nginx

复制代码
location ~ /\.ht { deny all; }
location ~ /\.git { deny all; }
location ~ /\.env { deny all; }
location ~ /config\.php { deny all; }

八、上传目录禁止脚本执行

nginx

复制代码
location ~* /upload/.*\.(php|php5|jsp|asp)$ {
    deny all;
}

九、SSL/TLS 安全(HTTPS 必备)

nginx

复制代码
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

十、日志与权限

  • 日志目录权限 700,日志文件 600
  • Nginx 运行用户非 root
  • 定期切割、审计访问日志

十一、通用安全原则

  • 最小权限运行
  • 及时更新 Nginx
  • 只开放必要端口 80/443
  • 禁用目录索引 autoindex off
相关推荐
A10169330712 小时前
Nginx 之Rewrite 使用详解
运维·nginx
困死,根本不会2 小时前
【C 语言】指针学习笔记:从底层原理到实战应用
c语言·开发语言·笔记·学习·算法
cramer_50h2 小时前
网络安全技术研究之漏洞和各种安全工具(二)
安全·web安全
湛生3 小时前
NoSQL注入
数据库·安全·web安全·网络安全·nosql
CHENJIAMIAN PRO3 小时前
3D Tiles 2.0 技术审查整理笔记
笔记·3d
kinl20183 小时前
cs2385_note0 (lec2-lec5)
笔记
vanvivo3 小时前
Nginx中如何配置WebSocket代理?
运维·websocket·nginx
不吃香菜kkk、3 小时前
通过夜莺n9e监控Kubernetes集群
安全·云原生·容器·kubernetes
Mimo_YY3 小时前
SQL-忘记sa密码,如何安全的尝试旧密码,如何修改新密码
安全