포럼

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


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
글쓴이 제목 최종 글
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 세상의모든계산기
아기나옹이 아이템 - 서명(프로필) 접근 권한 애드온 만들어 보실분? [5] 2015.02.12 by 아기나옹이
다미아빠 블라인드 애드온? 모듈? [1] 2023.11.17 by KrteamENT
vAsurada 게시판 가로보기 레이아웃에 대한 여러분들의 의견이 궁금합니다 [19] file 2015.02.11 by Luatic™
충쌤 XE 입문 할때 도움 될만한 강좌네요 [3] 2015.02.11 by 숭숭군
socialskyo 왜 lang.xml을 분리 하지 않는지 모르겠어요. [14] 2015.02.10 by 노에르
kdp 이 프로그램이 쓸모가 있을까요? [7] file 2015.02.10 by kdp
ntrh 1.7.3 이후 모듈업데이트가 안되네요 [10] 2015.02.10 by 능현
도라미 XE에서 사라진 애드온, 모듈 히스토리 정보 Parsing 로직이 멀까요? [2] 2015.02.09 by misol
sejin7940 곧 자료실에 등록될 전체공지 애드온 소개글입니다 [9] 2023.11.17 by 샵사이드
노에르 혹시 1.7.10 버전 업데이트하고 위젯 로그인 잘되시나요? [12] 2023.11.17 by 노에르
정도길 휴 포기. [2] file 2023.11.17 by 다미아빠
socialskyo 위즈버 들어가지세요? [3] 2023.11.17 by KrteamENT
XESTUDIO xe 에서 ajax 로 게시글 제목, 내용 데이터 불러오는 방법 [7] 2015.02.08 by mAKEkr
redred xe 페이징 성능 향상을 위한 DB 구조 개선 제안 [25] 2015.02.08 by ひりゅう.
휘즈 개인서버 사용시 참고사항 [1] 2015.02.07 by Luatic™
가을풍경 요번 공모전 완전 대박입니다. [6] 2015.02.07 by karutian