포럼

(공모전 때문인가요? 모듈이나 애드온을 만들면 자료실에 올리기만 하지 않고 포럼에 소개글을 쓰는 게 유행이 된 것 같네요.)


XSS 공격의 피해를 줄이기 위해서는 세션 쿠키에 httpOnly 속성을 주어야 하고, SSL 사용시에는 세션 탈취를 막기 위해 secure 속성도 주어야 하고, 세션 고정(session fixation) 공격을 피하려면 세션 식별자를 정기적으로 ( + 로그인/로그아웃 시점에) 갱신해 주어야 합니다.


이 3가지는 세션 보안의 기초 중에서도 가장 기초가 되는 원칙들입니다.


그러나 XE는 SSO 및 가상사이트 등 기존 기능과의 호환성 문제, 안 그래도 탈이 많은 업로더 세션 유지 문제, 그리고 그 밖에도 몇 가지 어려움이 있어서 세션 보안을 강화하지 못하고 있는 실정입니다.


그래서 PHPSESSID는 전혀 건드리지 않고, 세션과 연동되는 별도의 쿠키에 httpOnly, secure 속성을 적용하고 그것들을 정기적으로 교체해 주는 방식으로 애드온을 만들어 보았습니다. 이름하여 세션 쉴드!



md.png



그러나 사실 이런 게 언제까지나 애드온으로 돌아다녀서는 안됩니다. 세션을 안전하게 처리해 주는 것은 제3자가 만들어 뿌리는 일개 애드온이 아니라 XE 코어에서 공식적으로 해줘야 할 일이라고 생각하거든요.


안 그래도 로그인이 안 된다, 로그인이 풀린다는 버그 신고가 잦은 상황에서 코어를 잘못 건드리면 골치아파지니까 일단 애드온으로 만들어 본 것 뿐입니다. 안정성이 검증되면 곧바로 해당기능을 코어로 옮겨달라고 PR을 넣을 예정입니다.


그러려면 특수한(?) 환경을 포함하여, 광범위한 상황에서 테스트를 해봐야 합니다.


보안에 관심 있으신 분, 모험심이 강하신 분, SSO와 가상사이트 등 특수한 환경을 운영하고 계신 분, SSL을 절반쯤 적용하다 마신 분, IE8 방문자 비율이 비정상적으로 높은 사이트를 운영하시는 분, 그냥 어벤져(S.H.I.E.L.D.)를 좋아하시는 분 모두 환영합니다. 운영하시는 사이트에 가차없이 적용하고, 문제가 생기면 사정없이 투덜거려 주세요.


※ 곧 자료실에 게시될 v1.2 이상 버전을 사용하신다면 REFRESH_TIMEOUT = 0 으로 설정하여 세션 식별자의 정기적인 갱신을 막을 수 있습니다. (로그인/로그아웃시에는 여전히 갱신됩니다.) 로그인이 풀리는 문제가 여전히 발생한다면 이 설정을 변경해서 사용해 주세요.


원래 AJKJ님의 아이디어였습니다.


기술적 참고내용


※ git 사용이 가능하신 분은 테스트 기간 동안 자료실보다는 github에서 clone하여 사용하시고, github에 새 커밋이 등록되면 그때그때 pull해서 쓰시기를 권합니다. 자료실은 업데이트가 하루 정도 늦어지는 경우가 많아서요.

https://github.com/kijin/xe-session-shield

태그 연관 글
  1. [2014/09/17] 묻고답하기 xe첨부이미지파일 접속경로 (디도스방안 급함) by Piche *3
  2. [2012/02/01] 묻고답하기 XE 1.4.5.10에서 1.5.1.4로 업데이트 후 관리자 로그인 안됌.ㅜㅜ해결책?? by 포토올/wow *2
  3. [2011/10/06] 웹마스터 팁 로그인이 안되는 문제를 겪고 계시면 참고해볼만 합니다. by 안구건조 *2
  4. [2011/01/25] 묻고답하기 (기초) 세션 아이디를 알려주세요 HELP!! by 알 파치노 *1
  5. [2009/06/18] 묻고답하기 외부 페이지와 레이아웃 사이에 변수 값 전달... by Cityhunter
글쓴이 제목 최종 글
XESniper XML Query 에 대하여 [7] 2015.02.24 by misol
히나토아휴 지나간 컨텐츠를 다시 재노출시키는 방법에 대해 여쭤봅니다 [2] 2015.02.23 by WLIKR
히나토아휴 계정 용량 및 트래픽 용량 크기는 어떻게 예상해야 하나요? [2] 2015.02.23 by 노에르
강하레 유료 자료를 선뜻 구입하기가 힘드네요. [6] 2015.02.21 by ひりゅう.
도라미 여러분은 디렉토리 리스팅이 되는 사이트를 발견하면 어떻게 하시나요? [3] 2015.02.20 by 닉이
POSTZI 공통통합네임서버  
misol [방문기] XE Hub 에 왔습니다. [6] file 2015.02.17 by 노에르
KTK 회원가입 이용약관/개인정보취급방침 애드온 가입할때 맨트.. [2] 2015.02.16 by KTK
아기나옹이 [ 아이템 ] 지정일 이전 게시물 잠김 애드온 - 만들어 보실분 [9] 2015.02.15 by 꾸링
기진곰 세션보안 애드온 광범위한 테스트를 부탁드립니다. [10] 2015.02.15 by 기진곰
hsjaa 저만 이런지 모르겟습니다 [29] 2015.02.15 by 진사형
휘즈 spam  
댑펑 XE 업데이트에 대해서 궁금합니다. [4] 2015.02.14 by XE
銀童 XE 개발자들의 모임을 해볼까 합니다. [38] 2015.02.14 by forest535
아기나옹이 정말 오래된 염원? -->회원 가입 후 이동할 페이지 [11] 2015.02.13 by 키스투엑스이
능현 1.7.10 업데이트후 로그인 오류문제 차기 버전에서는 해결될 가능성이 있을까요? [4] file 2015.02.13 by 능현
GG 개인정보 보호 따위.... [1] 2023.11.17 by 도라미
ひりゅう. XE디렉토리내 lang.xml을 다이어트시켜주는 php소스 [3] 2015.02.13 by ひりゅう.
newi 동영상 섬네일 애드온 좀 부탁드립니다. [2] 2015.02.12 by newi
oscarmike 조금 당황스럽고 속상하네요 [12] 2015.02.12 by 세상의모든계산기