如何使用apache配置获取由java应用程序服务器生成的原始Web页面,并将set-cookie会话标头转换为具有额外标志。
即
发件人
Set-Cookie:JSESSIONID=f232xxx; path=/moedev-wss; secure
要
Set-Cookie:JSESSIONID=f232xxx; path=/moedev-wss; secure; httponly
不幸的是我的java代码不能轻易更新,但如果我可以在Apache中更改标题,我的问题就解决了。
注意我已调查过以下模块:
为什么我要这样做?简而言之:安全问题请参阅OWASP on the subject
答案 0 :(得分:0)
在MOD_SECURITY框架中找到答案
在我离开上面的问题后,我想到了apache模块可以提供哪些帮助。
然后我在mod_security上搜索了这些信息。
我找到了Ryan Barnett的优秀文章和规则集。
Helping Protect Cookies with HTTPOnly Flag
上面链接的规则集:
# Identifies SessiondIDs without HTTPOnly flag and sets the "http_cookie" ENV
# Token for Apache to read
SecRule RESPONSE_HEADERS:/Set-Cookie2?/ "!(?i:\;? ?httponly;?)" "chain,phase:3,t:none,pass,nolog"
SecRule MATCHED_VAR "(?i:(j?sessionid|(php)?sessid|(asp|jserv|jw)?session[-_]?(id)?|cf(id|token)|sid))" "t:none,setenv:http_cookie=%{matched_var}"
# Now we use the Apache Header directive to set the new data
Header set Set-Cookie "%{http_cookie}e; HTTPOnly" env=http_cookie
我要感谢Ryan Barnett和mod_security。
现在我将继续在我的环境中测试此解决方案。