chika0801 / sing-box-examples

sing-box 配置示例
https://github.com/SagerNet/sing-box
1.61k stars 270 forks source link

几个nginx配置的疑惑 #91

Closed yoshyv closed 6 months ago

yoshyv commented 6 months ago

你好,

能否解释下以下几个 nginx 配置在代理环境下带来的性能提升,以及是否有牺牲安全性的代价。 以为例

  1. ssl_session_tickets on;

Mozilla 建议 1.23.2 以前版本 nginx 禁用此选项因为会损坏前向保密 PFS。次选项是否对代理环境下有性能提升以及是否可能被用来代理识别? https://github.com/mozilla/server-side-tls/issues/135

  1. ssl_early_data on; 在拒绝非证书内域名连接的 nginx block 中是否有意义?是否会安全性影响? 看 v2ray issue 现在还不支持 early data。xray 的 websocket 支持,是否可以添加到 https://github.com/chika0801/sing-box-examples/blob/main/VMess-WebSocket-TLS/config_server.json ,如果没有安全性影响。

  2.         proxy_set_header X-Real-IP          $remote_addr;
            proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

websocket 反向代理部分是否两个都必要,一个不够还原IP么?

  1. 网站代理部分,地址还原配置是否是引用 https://www.nginx.com/resources/wiki/start/topics/examples/forwarded/ 的?

这部分和

            proxy_set_header X-Real-IP            $remote_addr;
            proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto    $scheme;
            proxy_set_header X-Forwarded-Host     $host;
            proxy_set_header X-Forwarded-Port     $server_port;

有没重复?重复是否会造成负面影响?

5. 是否应该强制服务端支持AEAD加密算法 ssl_prefer_server_ciphers on;

6. http2 on; 注释里面也写到只有1.25.1后才支持此directive。是否应该默认用旧写法,考虑到大部分用户都非手动编译最新版nginx。

谢谢

chika0801 commented 6 months ago

ssl_session_tickets on;

用它,要么我当时是抄的 https://www.digitalocean.com/community/tools/nginx 生成的,要么是以前到处谷歌搜学nginx时抄来的习惯,要么是为了去跑 https://www.ssllabs.com/ssltest 时看哪些没用上,就加上的,用不用看你自己。具体哪一个原因忘记了。

ssl_early_data on;

这参数理由同上

问题3 问题4

应该是抄的 https://www.digitalocean.com/community/tools/nginx 中的

问题5

这参数没研究过,如果 https://www.digitalocean.com/community/tools/nginx 生成中没有的话我也不知道它。这配置跑 https://www.ssllabs.com/ssltest 我记得是A+

问题6

写了一句注释,太新手我也没法,网上自学,都是要有一定自己解决问题能力才来的。

yoshyv commented 6 months ago

sslabs和digitalocean的配置文件也是反对加 ssl_session_tickets on; 的,毕竟是个安全隐患。 如果在代理环境下没有什么性能提升的话这个应该 off 更安全。

early_data 这个没有搜到安全方面的影响,不过xray的ws实现能0-rtt,也许这个开了有正面作用?

ssl_prefer_server_ciphers on; 应该在所有配置生成工具里都是强制开启的。如果不开就可能用客户端指定的非安全的加密套件。

sslabs 如果 ssl_session_tickets 和 ssl_prefer_server_ciphers on 都开启了肯定是没法 A+的。不过问题在于这是针对网站的安全性测评,是否适用于代理环境值得商榷。是否应该和技术安全大佬们商量后修改一下模版呢?

chika0801 commented 6 months ago

sslabs和digitalocean的配置文件也是反对加 ssl_session_tickets on; 的,毕竟是个安全隐患。

谢谢你提,你不提我也不知道,我改一下。

early_data 这个没有搜到安全方面的影响,不过xray的ws实现能0-rtt,也许这个开了有正面作用?

我也不清楚,当时这参数看到它时,有兴趣学加哪,就加上了。暂时不动吧,我懒了。应该对ws实现能0-rtt无帮助,我觉得。纯是别人正常访问你网站用?

ssl_prefer_server_ciphers on;

我搜了下它,开不开看个人吧,我有空改改,客户端都是自己在用,没人专门设置它的值吧,我是这样想的。

sslabs 如果 ssl_session_tickets 和 ssl_prefer_server_ciphers on 都开启了肯定是没法 A+的。不过问题在于这是针对网站的安全性测评,是否适用于代理环境值得商榷。是否应该和技术安全大佬们商量后修改一下模版呢?

我是菜鸟 ,东西内容是个人自用和方便自己复制粘贴放网上的。。。

chika0801 commented 6 months ago

谢谢你的建议,我弄下

chika0801 commented 6 months ago

有什么再回复或开ISS找我。