어플리케이션보안

HTTP 쿠키의 보안 설정 방법

JihwanGo 2021. 10. 14. 16:54
반응형

쿠키(Cookie)를 간단하게 정의하면 클라이언트 개개인의 상태 정보를 담고 있는 데이터이다. 쿠키에 있는 정보를 해킹 당하게 된다면 자신의 개인 정보를 도난당하는 것이기 때문에 심각한 피해를 입을 수 있다. 이런 중요한 정보를 보호하기 위해서 어떤 보안 설정 방법이 있는지 알아보자.

 

1. HttpOnly

서버에서는 Set-Cookie 응답 헤더를 이용하여 쿠키를 설정하는데, 이 설정을 Set-Cookie에 추가하게 되면 클라이언트의 환경(웹 브라우저)에서 스크립트(Java 등)로 쿠키에 접근하는 것을 차단할 수 있다. 이 설정을 함으로써 XSS(Cross Site Script)공격에 대응이 가능하다.

 

2. Secure

이 설정 역시 Set-Cookie 응답 헤더에서 설정한다. 클라이언트의 환경(웹 브라우저)에서 HTTPS(SSL/TLS) 통신일 때만 쿠키를 전송하는 방식이다. HTTP를 이용한다면 쿠키를 전송하지 않는다.

즉, 평문으로 쿠키를 전송하지 않기 때문에 기밀성이 보장되는 방법이다.

 

 

3. HttpOnly 및 Secure 속성 설정 방법

1) Servlet 3.0 환경 : web.xml 파일에 아래 내용 추가

<session-config>

<cookie-config>

   <http-only>true</http-only>

   <secure>true</secure>

</cookie-config> ... 생략 = cookie.setHttpOnly(true)

    

2) 제우스(JEUS) : WEBMain.xml 이나 jeus-web-dd.xml에서 설정

<session-config>

<secure>true</secure>

<http-only>true</http-only>

</session-config>

 

3) JBoss

<Context cookies="true" crossContext="true">

<SessionCookie secure="true" httpOnly="true">

 

반응형