XE 공식 자료실

제작자
기진곰
등록일
2015-02-17
다운로드 수
162
링크2
kijin/xe-session-shield

XSS, CSRF 및 세션 고정 공격에 방어하고, 선택적 SSL 사용시 세션 탈취 가능성을 줄여 주는 애드온입니다. 세션과 쿠키를 함께 사용하여 공격 여부를 판단하며, 세션에 이상이 있을 경우 강제 로그아웃 조치합니다.

라이선스
LGPL v2
설치경로
./addons/session_shield
최초 등록일
2015-02-11
전체 다운로드
3,345

상세 설명

XSS 및 세션 고정 공격에 방어하고, 특정 상황에서의 세션 탈취 가능성을 줄여 주는 애드온입니다. @AJKJ 님의 XSS Session Protector 애드온을 바탕으로 SSL 선택적 사용시의 세션 보안을 강화하고, 일부 IE 버전과의 호환성을 개선하고, 정기적으로 세션 식별자를 교체해 주는 기능을 추가했습니다.

XSS 방어를 위해 httpOnly 속성을 가진 xe_shield 쿠키, 세션 탈취 피해를 줄이기 위해 secure 속성을 가진 xe_shield_ssl 쿠키를 생성합니다. (스크린샷 참조) 이 쿠키들은 세션 고정 공격을 막기 위해 5분마다 자동 갱신되며, 로그인시에는 즉시 갱신됩니다. 세션에 저장된 쿠키 정보와 실제 전송된 쿠키값이 일치하지 않을 경우 해킹으로 간주하고 강제 로그아웃 조치합니다.

XE에서 사용하는 세션 식별자(PHPSESSID)는 건드리지 않으므로, 로그인이 풀리거나 파일 업로드가 되지 않는 문제는 발생하지 않을 것으로 예상됩니다. 단, SSO, 가상사이트, 같은 도메인 아래에 XE를 2개 이상 설치한 경우의 호환성은 충분히 테스트되지 않았으므로 주의하시기 바랍니다.

세션 식별자 갱신시 로그인이 풀리는 문제가 있다면 REFRESH_TIMEOUT = 0 으로 변경해 주시면 되지만, 기본 설정보다는 보안이 조금 약해질 수 있습니다. 꼭 필요하신 경우에만 변경해 주시고, 가능하면 SSL 환경에서 사용해 주십시오.

아직 완전히 안정화되지 않은 애드온이므로 쉬운설치는 허용하지 않고 있습니다.

만약 여전히 정상적인 사용자의 로그인이 풀리는 일이 있다면 사용 환경(브라우저 종류, 인증세션 DB 사용 여부 등)에 대해 가능한 많은 정보를 포함하여 버그 신고를 해주시기 바랍니다.

 

포럼 4

로그인 후 작성할 수 있습니다.
  • 2015-03-08 02:17:21 Paul

    바쁘신 중에도 테스트 해주셔서 감사합니다. 제 환경은 Mysql + PHP 5.5.20 + XE 1.7.11 입니다. 그런데 역시 제 문제였군요. 죄송합니다. ^^ 사실 저도 왜 관리자에게 메일이 전달이 안되는지 의아해 했었습니다. 로그인이 풀리거나 그러지는 않더라구요. 다시한번 꼼꼼히 확인해 보겠습니다. 그리고 항상 상세한 설명을 덧붙여 주셔서 너무 감사드립니다. 글 쓰는것도 쉬운 일이 아닌데 항상 글 남기신것 보면 깔끔하게 잘 정리된 글을 쓰셔서 읽을 때마다 감탄할 때가 많습니다. ^^ 감사합니다. ^^

  • 2015-03-07 11:51:40 제작자 기진곰

    @Paul 조금 전 NGINX + PHP 5.5.9 + XE 1.8.0-beta + 세션 쉴드 1.3 버전으로 자체 테스트 결과, Full SSL 설정 상태에서도 게시판 새글 등록시 관리자 메일 발송에 아무 문제가 없습니다. 비회원이나 로그인된 회원 모두 마찬가지이며, 로그인이 풀리지도 않습니다. 님의 경우에는 어딘가 다른 부분에 문제가 있는 것 같습니다.

  • 2015-03-07 11:06:37 제작자 기진곰

    @Paul Full SSL 환경에서도 사용할 수 있습니다. 사용자가 실수로 http URL을 방문하거나 제3자가 고의로 http URL 방문을 유도할 경우 세션이 탈취되는 것을 막아줍니다.

    그러나 Full SSL 환경을 계속 유지하실 계획이라면 php.ini 또는 .htaccess에서 session.cookie_secure 설정을 켜주고, http URL을 방문할 경우 자동으로 https URL로 redirect되도록 해주면 이 애드온을 사용하지 않고도 동일한 효과를 거둘 수 있습니다. Strict-Transport-Security 헤더까지 사용하면 더 좋고요.

    새글 등록시 관리자에게 메일이 전달되지 않는 것은 이상하네요. 메일 전송 기능과는 아무 상관이 없는데요... 혹시 그런 증상이 발생할 때 로그인이 풀리나요?

  • 2015-03-07 07:45:44 Paul

    이 애드온을 사용중에 한가지 이상한 점을 발견했습니다. Full SSL 을 사용하는 웹사이트에서 이 애드온을 사용할 경우에는, 게시판 설정에 등록된 관리자 메일로 (게시물 등록시에) 이메일 전송이 안되고 있습니다. 이 애드온을 끄면 위의 동작이 정상 작동합니다. Full SSL 을 사용하지 않는 웹사이트에서는 이상없이 동작합니다. 이참에 한가지 여쭙고 싶은게 이 애드온을 Full SSL 을 적용한 웹사이트에 사용해도 되는건지 궁금하네요. 항상 XE 보안에 신경써주셔서 감사드립니다!!!