문제

쿠키 보호 : HttpOnly 에 대한 Jeff의 블로그 게시물을 읽은 후.웹 애플리케이션에 HttpOnly 쿠키를 구현하고 싶습니다.

Tomcat에게 세션에 http 전용 쿠키를 사용하도록 어떻게 지시합니까?

도움이 되었습니까?

해결책

httpOnly는 Tomcat 6.0.19 및 Tomcat 5.5.28부터 지원됩니다.

버그 44382에 대한 changelog 항목을 참조하세요.

버그 44382 에 대한 마지막 댓글은 "이것은5.5.x에 적용되며 5.5.28 이후에 포함될 것입니다. "그러나 5.5.28이 출시 된 것으로 보이지는 않습니다.

conf / context.xml 의 모든 웹앱에 httpOnly 기능을 사용하도록 설정할 수 있습니다. 라코 디스

내 해석은 conf / server.xml 의 원하는 컨텍스트 항목에 설정함으로써 개별 컨텍스트에서도 작동한다는 것입니다 (위와 같은 방식으로).

다른 팁

<인용구>

업데이트 : 여기에 JSESSIONID 항목은 오래된 컨테이너에만 해당됩니다. 사용하시기 바랍니다 jt는 현재 허용되는 답변입니다.

앱에서 쿠키를 설정할 때 라코 디스

그러나 많은 웹앱에서 가장 중요한 쿠키는 컨테이너에 의해 JSESSIONID 쿠키로 자동 설정되는 세션 식별자입니다.

이 쿠키 만 사용하는 경우 ServletFilter를 작성하여 나가는 동안 쿠키를 다시 설정하여 JSESSIONID를 HttpOnly로 강제 설정할 수 있습니다. http://keepitlocked.net/archive의 페이지 /2007/11/05/java-and-httponly.aspx http : //alexsmolen.com/blog/?p=16 은 필터에 다음을 추가 할 것을 제안합니다. 라코 디스

그러나 이렇게하면 모든 쿠키를 덮어 쓰고이 필터에서 여기에 명시한 내용 만 설정합니다.

JSESSIONID 쿠키에 추가 쿠키를 사용하는 경우이 코드를 확장하여 필터의 모든 쿠키를 설정해야합니다. 이것은 쿠키가 여러 개인 경우 훌륭한 솔루션은 아니지만 JSESSIONID 전용 설정에 허용되는 빠른 수정일 수 있습니다.

시간이 지남에 따라 코드가 발전함에 따라이 필터를 잊어 버리고 코드의 다른 곳에 다른 쿠키를 설정하려고 시도 할 때 당신을 기다리는 불쾌한 숨겨진 버그가 있다는 점에 유의하십시오. 물론 설정되지 않습니다.

이것은 정말 해킹입니다. Tomcat을 사용하고 컴파일 할 수 있다면 HttpOnly 지원을 Tomcat에 패치하라는 Shabaz의 훌륭한 제안을 살펴보십시오.

https 세션에서 "; secure"쿠키 플래그를 덮어 쓰지 않도록주의하십시오.이 플래그는 브라우저가 암호화되지 않은 http 연결을 통해 쿠키를 보내는 것을 방지하여 기본적으로 합법적 인 요청에 대해 https 사용을 무의미하게 만듭니다. 라코 디스

웹 서버가 tomcat 7.0+와 같은 Serlvet 3.0 사양을 지원하는 경우 아래의 web.xml를 다음과 같이 사용할 수 있습니다. 라코 디스

문서에 언급 된대로 : <인용구>

HttpOnly : 이 웹 응용 프로그램은 HttpOnly로 표시됩니다

보안 : 이 웹 애플리케이션에서 생성 된 세션 추적 쿠키가 있는지 여부 요청을 시작한 경우에도 보안으로 표시됩니다. 해당 세션은 HTTPS 대신 일반 HTTP를 사용합니다.

httponly 설정 방법을 참조하십시오.및 자바 웹 애플리케이션 용 세션 쿠키

또한 HttpOnly를 켜면 jvm에 대한 상태 저장 액세스가 필요한 애플릿이 중단된다는 점에 유의해야합니다.

애플릿 http 요청은 jsessionid 쿠키를 사용하지 않으며 다른 바람둥이에 할당 될 수 있습니다.

명시 적으로 설정하는 쿠키의 경우 SimpleCookie Apache Shiro 에서 제공합니다.javax.servlet.http.Cookie에서 상속되지 않으므로 모든 것이 올바르게 작동하려면 조금 더 많은 노력이 필요하지만 속성 세트 HttpOnly를 제공하며 Servlet 2.5에서 작동합니다.

응답에 쿠키를 설정하려면 response.addCookie(cookie)를 수행하는 대신 cookie.saveTo(request, response)를 수행해야합니다.

Tomcat6에서는 HTTP Listener 클래스에서 조건부로 활성화 할 수 있습니다. 라코 디스

이 수업 사용 라코 디스

OWASP 에서 찾았습니다. 라코 디스

"구성의 httponlycookies"보안 문제도 수정되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top