0

我们正在我们的环境中实现在连接代理SonarQube后面运行。 在对应用程序(HP Fortify)运行安全扫描后,它返回了一些 cookie 安全问题,具体如下:IISHTTPS

Cookie Security: Cookie Not Sent Over SSL (4720)
CWE: 614

GET /sonarqube/ HTTP/1.1
Host: sonar
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
X-WIPP: AscVersion=16.20.608.0
X-Scan-Memo: Category="Crawl.EventMacro.Startup";
SID="F0A2B8712E7F609FAA4899C"; SessionType="StartMacro"; CrawlType="None";
X-RequestManager-Memo: sid="13442"; smi="0"; Category="EventMacro.Login";
MacroName="sonarqube-priv-loginmacro";
X-Request-Memo: ID="0e42a-fcf-4b6-a8f-0fbceb4c"; ThreadId="169";
Pragma: no-cache
Cookie: CustomCookie=WebInspect0
Response:
Report Date: 09/3/2017 38
HTTP/1.1 302 Found
Cache-Control: no-cache
Content-Type: text/html;charset=utf-8
Location: https://sonar/sonarqube/sessions/new
Server: Microsoft-IIS/10.0
Set-Cookie: JSESSIONID=XXX; Path=/sonarqube/; HttpOnly
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1...TRUNCATED...

您认为这是由于IIS配置造成的,还是只是SonarQube此处应用程序中的标准配置?
我不确定如何解释这里的结果或如何挖掘它。
任何建议将不胜感激。

4

2 回答 2

0

多亏了这个答案,我才能secureJSESSIONIDcookie 上设置标志。

在嵌入的tomcat实例中WEB-INF\web.xml,我添加了secure true以下行:

  <session-config>
    <!-- in minutes -->
    <session-timeout>20</session-timeout>
    <cookie-config>
      <http-only>true</http-only>
      <secure>true</secure>
    </cookie-config>
  </session-config>

这可能不是最安全的方法,因为它似乎secure在任何情况下都强制标志,但由于我在反向代理后面并且拒绝除https/443流量之外的任何传入连接,它应该可以工作。

于 2017-10-10T18:47:17.833 回答
0

使用 IIS 等反向代理,您必须配置反向代理以将以下标头发送到 SonarQube X-Forwarded-Proto: https:。

你可以看看这里:IIS Equivalent of "proxy_set_header X-Forwarded-Proto https;"

设置此标头后,会话将缺少安全标志。

于 2017-10-09T05:37:47.663 回答