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
相关推荐
a1117762 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
九硕智慧建筑一体化厂家3 小时前
直流智能照明|一站式低碳照明解决方案,安全、节能、降本、全场景适配
安全
破碎的南瓜4 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
你想知道什么?4 小时前
线性回归-学习笔记
笔记·学习·线性回归
谙弆悕博士5 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
郝亚军5 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
谙弆悕博士6 小时前
系统集成项目管理工程师教程(第3版)笔记——第4章:信息系统架构
笔记·系统架构·项目管理·创业创新·学习方法·业界资讯·物理
茯苓gao8 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
小程故事多_808 小时前
算力工厂与安全沙箱,企业AI规模化落地的两条核心生命线
人工智能·安全