0

我怎样才能拥有一个 apache 配置,它采用由 java 应用程序服务器生成的原始网页并将 set-cookie 会话标头转换为具有额外标志。

IE

Set-Cookie:JSESSIONID=f232xxx; path=/moedev-wss; secure

Set-Cookie:JSESSIONID=f232xxx; path=/moedev-wss; secure; httponly

不幸的是,我的 java 代码不能轻易更新,但如果我可以在 Apache 中更改标头,我的问题就解决了。

注意我调查了以下模块:

  • mod_headers:无法搜索其他生成器生成的内容。
  • mod_rewrite:不编辑未代理的内容。
  • mod_proxy:不编辑未代理的内容。

我为什么要这样做?简而言之:安全问题请参阅OWASP 关于该主题

4

1 回答 1

0

在 MOD_SECURITY 框架中找到的答案

在我离开上面的问题之后,我想到了 apache 模块可以提供哪些帮助。

然后我在 mod_security 中搜索了这些信息。

我找到了 Ryan Barnett 的优秀文章和规则集。

使用 HTTPOnly 标志帮助保护 Cookie

来自上面链接的规则集:

# 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。

现在我将继续在我的环境中测试这个解决方案。

于 2013-02-20T02:53:49.710 回答