Nginx配置安全策略总结

以下均在 nginx.配置 即可

“Content-Security-Policy”头缺失或不安全

这里 script-src 放开了允许内联js 'unsafe-inline',其实这里并不是很安全,但公司项目的前端架构已经成型改动代码工作量太大,先跟着指定的ip或域名访问这样配置着。后面有时间在出动态生成 nonce属性值的文档。

add_header Content-Security-Policy "default-src 'self' *.baidu.com *.myqcloud.com ;  script-src 'self' 'unsafe-inline'  *.baidu.com ; connect-src 'self';img-src * data: blob: ; style-src 'self' 'unsafe-inline' 'unsafe-eval' *.baidu.com *.myqcloud.com https:  ;  frame-ancestors 'self'; font-src * https: data: ";

“X-Content-Type-Options”头缺失或不安全

add_header X-Content-Type-Options nosniff;

“X-XSS-Protection”头缺失或不安全

add_header X-XSS-Protection "1; mode=block";

HTTP Strict-Transport-Security头缺失或不安全

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";

发现可高速缓存的SSL页面

# “Cache-Control: no-store”和“Pragma: no-cache”或“Cache-Control: no-cache”
add_header Cache-Control max-age=3600; 

检测到SHA-1密码套件

ssl_ciphers ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE:!SHA-1;
ssl_prefer_server_ciphers on;

检测到隐藏目录

location ^~ /(html|static|img) {
 	deny all;
}
location ^~ /地址名称/对应的目录/ {
 	deny all;
}
error_page 403 =404 /404.html;

检测到支持较老的TLS版本

# TLSv1.2 以上版本即可
ssl_protocols TLSv1.2 TLSv1.3;

未实施加密

set $open_http 0;
if ($scheme = http) {
     set $open_http "${open_http}1";
 }
 if ($scheme = https) { 
     set $open_http "${open_http}0";
 }
 if ($request_uri ~* "/地址名称/ajax/libs/") {
     set $open_http "${open_http}0";
 }
 if ($request_uri ~* "/地址名称/js/") {
     set $open_http "${open_http}0";
 }

 if ($open_http = "010") {
     return 403;
 }

启用了不安全的“OPTIONS”HTTP 方法

server {
    ...
    # 如果我们在服务器环境中,最好使用这样的结构:
    add_header Allow "GET, HEAD, POST" always;
    
    if ($request_method !~ ^(GET|HEAD|POST)$) {
      # 您还可以在“if”上下文中使用“add_header”:
      # add_header Allow "GET, HEAD, POST" always;
      return 405;
    
    }
    ...
}
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Nginx是一款高性能的Web服务器和反向代理服务器,其配置文件主要包括全局块、http块和server块三部分。全局块主要用于设置全局参数,http块用于设置HTTP协议相关的参数,server块用于设置虚拟主机相关的参数。在配置文件中,可以使用变量、正则表达式等高级特性,以满足不同场景下的需求。具体的配置语法和参数含义可以参考Nginx官方文档。 ### 回答2: Nginx是一款开源的高性能Web服务器软件和反向代理服务器。其配置文件是用来指导Nginx服务器运行的关键文件。下面是对Nginx配置文件的详细解释。 1. 语法结构:Nginx配置文件采用类似C语言的结构,包含全局块、事件块和HTTP块。 - 全局块:主要包括Nginx的基本配置信息,如运行用户、工作进程数等。 - 事件块:指定Nginx服务器的事件模型,如选择使用的IO模型、最大连接数等。 - HTTP块:指定Nginx服务器的HTTP模块配置,包括反向代理、负载均衡、缓存等。 2. 指令配置配置文件中的指令用于定义Nginx服务器的行为。常用指令包括: - server:定义虚拟主机,包括监听的端口和域名。 - location:针对特定URL路径进行配置,如指定代理服务、缓存等。 - proxy_pass:将请求转发到后端服务器。 - upstream:定义后端服务器群组,用于反向代理和负载均衡。 - include:导入其他配置文件。 3. 注释和变量:配置文件中可以使用#符号添加注释,以说明配置的含义。另外,使用$符号可以引用Nginx内置的变量,如$request_uri表示请求的URI。 4. 动态模块加载:Nginx支持动态模块加载,通过配置文件可以加载第三方的模块。可通过load_module指令来加载。 5. 重载配置:在Nginx运行时,可以通过执行信号量或者命令来动态加载新的配置。例如,使用命令"nginx -s reload"可以重载配置文件,使新的配置生效。 总结Nginx配置文件是指导其运行的关键文件,通过配置文件可以定义Nginx的全局基本信息、事件模型、HTTP模块配置等。配置文件中的指令可以设置虚拟主机、反向代理、负载均衡等行为。在配置文件中可以添加注释以及引用变量,也可以加载第三方动态模块。重载配置可以在Nginx运行时使新配置生效。通过理解和熟悉Nginx配置文件,可以更好地进行Nginx服务器的部署和运行。 ### 回答3: Nginx是一款轻量级的开源Web服务器软件,它的配置文件是Nginx服务器的核心部分。通过配置文件,我们可以灵活地定义服务器的行为,包括监听的端口、代理的地址、反向代理、缓存策略、URL重写、SSL证书配置等。 Nginx配置文件位于/etc/nginx/nginx.conf,该文件可以包含其他文件和目录。配置文件分为全局块、events块和http块三个主要部分。 全局块用于指定一些全局设置,如进程数、pid文件的位置、用户和工作进程的运行方式等。 events块用于指定Nginx处理连接请求的配置,如工作进程的数目、连接处理模型等。 http块是最重要的部分,用于配置HTTP服务的行为。可以在http块中定义多个server块,每个server块对应一个虚拟主机的配置。 在server块内部可以定义具体的服务器监听端口、域名、请求的处理方式、反向代理、负载均衡等。可以根据需求配置多个server块来实现多个网站的部署。 在location块内部可以定义URL匹配规则,实现对不同URL的请求进行不同的处理,包括重定向、代理、缓存等。 Nginx配置文件使用简单且灵活,可以根据需求进行各种设置。配置时需要注意语法的正确性,可以使用nginx -t命令检查配置文件的语法错误。配置文件修改后,需要使用nginx -s reload命令重载配置文件使其生效。 总之,Nginx配置文件是控制Nginx服务器行为的关键,掌握了配置文件的语法和基本设置,可以根据实际情况进行灵活配置,从而提升服务器性能和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值