我们在SonarQube
IIS
代理HTTPS
代理后面的环境中实施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...
。
在应用程序(HP Fortify)上运行安全扫描后,它返回了一些cookie安全问题,具体如下:
IIS
您认为这是由于SonarQube
配置还是RDDs
应用程序中的标准配置?
我不确定如何解释这里的结果或如何挖掘它
任何建议都将不胜感激。
答案 0 :(得分:0)
使用IIS等反向代理,您必须配置反向代理以将以下标头发送到SonarQube:X-Forwarded-Proto: https
。
您可以在此处查看:IIS Equivalent of "proxy_set_header X-Forwarded-Proto https;"
使用此标头集,会话将具有缺少的安全标志。
答案 1 :(得分:0)
感谢this answer,我可以在secure
Cookie上将标记设置为JSESSIONID
。
在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
之外的任何传入连接交通,它应该工作。