公开分享nginxconfiguration – 可以吗?

我是nginx的新手,我想与其他人分享我已经创build的configuration以获得反馈。 从安全的angular度来看,假设我的服务器的其余部分是适当的安全和最新的,可以共享我的nginxconfiguration吗? 公开发布?

我使用这个命令创build各种configuration片段的连接版本:

tail -n +1 *.conf conf.d/*.conf sites-enabled/*.conf &> /home/ubuntu/nginx.txt 

我已经浏览了这个文件,并试图找出任何潜在的安全缺陷:

  • 好:没有embeddedSSL证书/密钥
  • 糟糕?:有各种文件夹的path(例如SSL证书的位置)
    • 但这些都是非常标准的path…
  • 不好?:有公共的IP和域名 – 是否应该被编辑?
  • 不好?:我们接受的ssl_ciphers的列表包括…但是这可以被发现吗?
  • 未知:是否有其他设置不应该发布(如client_max_body_size – 也许可以通过发送大型有效载荷来利用?)

我知道安全性的一个方面就是不共享不需要共享的信息,但假设您需要帮助,您将共享什么和多lessconfiguration?

我不认为你需要分享你的整个Nginxconfiguration来反馈安全性。 您可以更广泛地谈论这些概念,就像您在post中所做的一样。 如果你发布你的Nginxconfiguration,除非你公开重要的信息,否则不应该太担心。 但是最好用占位符信息replace您的特定信息,以确保您不会泄露任何可被利用或使用的内容。 几个月前我在Nginx上发布了求助信息; 你可以看看我在这里做了什么: 在Nginx上指定自定义域到服务器 。 我只发布了与我的问题相关的configuration部分。

关于你的具体问题:

  • 不好?:有不同文件夹的path(例如,SSL证书所在的地方),但这些都是非常标准的path。

这不会对发布有害,因为有人需要访问您的机器,但再次更安全。 用~/my_cert.pem这样更通用的pathreplacepath。 您也不必包含每个SSL证书path。 如果你正确地处理其中的一个,那么你应该将相同的做法应用于其他人。

  • 不好?:有公共的IP和域名 – 是否应该被编辑?

这里一样的交易。 将您的IPreplace为“127.0.0.1”之类的通用名称,使用“www.example.com”replace您的域名。 任何帮助你的人都不需要知道你确切的域名。

  • 不好?:我们接受的ssl_ciphers的列表包括…但是这可以被发现吗?

我不认为这是值得关注的,因为密码是公开的,并且它们的性质不会在没有你的私钥的情况下危害encryption。

通常,最好不要泄露任何应用程序或服务器特定的信息。 无论如何,任何帮助你的人都不需要它,特别是对于Nginxconfiguration。