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
相关推荐
想成为优秀工程师的爸爸7 小时前
第十九篇技术笔记:UDP——相思传得快,飞鸽传书在
笔记·网络协议·tcp/ip·udp·信息与通信
Yeh20205810 小时前
cookie与Session笔记
笔记
星幻元宇VR11 小时前
VR航空航天科普设备助力航天知识普及
人工智能·科技·学习·安全·vr·虚拟现实
d111111111d11 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜11 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
Yeh20205812 小时前
request与response笔记
java·前端·笔记
Fuyo_111913 小时前
C++ 内存管理
c++·笔记
tzy23313 小时前
Nginx 的重定向规则
nginx·location·return·302·301·rewrite·last
柳鲲鹏13 小时前
李善兰和牛顿,谁剽窃谁的运动三定律
笔记
上海云盾-小余13 小时前
边缘节点安全赋能:CDN 联动高防抵御复合型流量攻击
人工智能·安全