如何在Nexus 3中强制使用HSTS

时间:2019-06-11 12:45:46

标签: jetty-9 nexus3

在服务于Nexus 3.16.1-02的端口上的Nessus扫描中,HSTS并未显示为已启用

你好

首次发布-

我正在尝试在Nexus OSS 3.16.1-02上启用HSTS

根据我所阅读的内容,默认情况下在应用程序的jetty-https.xml文件中启用了此功能。

我已经创建了一个经过编辑的jetty-ssl.xml并将其添加到/etc/jetty/目录和nexus.properties args所要调用的xml文件中。

重新启动应用程序并查看日志后,一切看起来都很好。该应用程序可用,但是Nessus对HSTS漏洞的扫描仍然恢复正常。

当前在F5反向代理后面配置了默认https://localhost:443/nexus,并在F5上启用了HSTS,在应用程序中也启用了ssl,并在端口443上终止。

nexus.properties在应用程序启动时正在调用jetty.xmljetty-https.xmljetty-ssl.xmljetty-requestlog.xml

对于为什么会出现这种情况的任何其他信息,我们将不胜感激。

谢谢

MCarrica

这是nexus.properties

application-port-ssl=443
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-ssl.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/nexus

这是从jetty-https.xml中启用的HSTS

Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>

Nessus扫描仍显示在为应用程序提供服务的服务器上的端口443上未启用HSTS

1 个答案:

答案 0 :(得分:0)

以下是 rewrite.xml

的内容
<Configure id="Server" class="org.eclipse.jetty.server.Server">

    <!-- =========================================================== -->
    <!-- configure rewrite handler                                   --> 
    <!-- =========================================================== -->
    <Get id="oldhandler" name="handler"/>

    <Set name="handler">
     <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
      <Set name="handler"><Ref id="oldhandler"/></Set>
      <Set name="rewriteRequestURI">true</Set>
      <Set name="rewritePathInfo">true</Set>
      <Set name="originalPathAttribute">requestedPath</Set>

<Call name="addRule">
        <Arg>
          <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
            <Set name="pattern">/*</Set>
            <Set name="name">Strict-Transport-Security</Set>
            <Set name="value">max-age=31536000; includeSubDomains</Set>
          </New>
        </Arg>
      </Call>
     </New>
    </Set>

</Configure>