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
相关推荐
可依软件crf28618 小时前
推荐一款特别的笔记软件:星轨笔记。普通用户免费功能也基本够用了,我已经免费使用几个月了。
笔记
三品吉他手会点灯18 小时前
C语言学习笔记 - 35.数据类型 - printf函数的非输出控制符与格式优化
c语言·开发语言·笔记·学习
sakiko_18 小时前
Swift学习笔记28-缓存
笔记·学习·swift
w1wi18 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全
xian_wwq19 小时前
【学习笔记】探讨大模型应用安全建设系列3——护栏选型与输入输出防护
笔记·学习
晓梦林19 小时前
translate靶场学习笔记
笔记·学习·安全·web安全
阿Y加油吧20 小时前
两道经典动态规划题:乘积最大子数组 & 分割等和子集 复盘笔记
笔记·算法·动态规划
三品吉他手会点灯20 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
叶~小兮20 小时前
Kubernetes集群升级与证书更新 学习笔记
笔记·学习·kubernetes
小鹿软件办公20 小时前
在 Windows 中什么是 iphlpsvc?禁用它安全吗?
windows·安全·iphlpsvc