10/29 보안 정책 적용 내역

   조회 773  

 > 이전 글 : 금일 12시에 강제 로그아웃 예정 -> 완료  


금일 적용된 2가지는 다른 사이트 운영하시는 분들께도 참고가 되도록, 작업 내역을 정리해서 링크해두었습니다.


# 10/26 초기 대응
우선 2420님의 취약점 보고서를 기반으로 업로드 및 SQL Injection 취약점 등에 대해 회원K님의 소스 코드 개선이 이루어졌습니다.
이후 추가 보완 작업을 위해 apache 접근 로그, 웹에서 만들어진 의심 파일, 소스 변조 여부 등을 분석하여 공격 경로를 파악하고,

공격에 사용된 파일들을 제거하고 관련 접근 경로를 차단하는 작업들을 진행했습니다.

(이 부분은 케이스바이케이스라 따로 내역을 정리하지 못했고요)


# 10/29 추가 대응

추가 취약점이 나오더라도 피해를 최소화하기 위해, 다음 2가지 보안 정책을 개선하였습니다.

이로 인해 금일 12시(점심)에 기존 로그인을 모두 강제 로그아웃시켰었습니다.


## 1. XSS 방어를 위한 JavaScript의 세션 쿠키 접근 제한

> 목표 : XSS 공격 성공시에도 Javascript 에서 세션 쿠키에 접근할 수 없도록 하여, 피해를 최소화 합니다.

작업 내역 - https://www.php79.com/602


## 2. 비밀번호 해시 고도화 (BCRYPT)

> 목표 : 최악의 경우 서버내 해시된 비밀번호 데이터가 유출되더라도, bcrypt 알고리즘을 적용하여 실제 비밀번호를 유추하기 어렵게 만들었습니다.

작업 내역 - https://www.php79.com/595


* 혹 사이트에 보안 개선이 필요한 분들은 작업 내역에 단계별로 따라하시면서 테스트 및 보완하실 수 있도록 설명해두었습니다.



[이 게시물은 회원K님에 의해 2018-10-31 21:10:05 자유게시판에서 이동 됨]
박문형 10-29
수고하셨습니다..
일국 10-29
바쁘신와중에 ...
암튼 고생하셨습니다.
김준유 10-29
고생하셨습니다..
흠냐 10-29
수고하셨습니다.
명철이 10-29
감사드리고, 수고하셨습니다^^
회원K 10-29
bcrypt에 대해서 rainbow 테이블을 못 만드는 것은 아니지만
너무 많은 값이 나오기 때문에
생성해서 관리하는 의미가 없기 때문이라고 합니다.

https://www.reddit.com/r/AskNetsec/comments/43w417/why_is_it_too_expensive_to_make_a_bcrypt_lookup/
bcrypt produces a 60 byte hash. So, the resulting rainbow table would be 2480 bits or 3.12174855 × 10120 yottabytes. Even the NSA doesn't have this. And this is also for just one version of the rainbow table. With bcyrpt you can set the "cost factor" you want to use. Basically, how many rounds of of the key derivation algorithm you want to run. This means you need to produce a rainbow table for every possible value of the cost function. I don't know for sure; but, I would suspect most implementations will accept a cost value anywhere from 1 to 2,147,483,647 (max value for a 32 bit integer). That's a lot of rainbow tables. At 1.1ish exabytes per table, that's going to require a few extra disks in the datacenter. And this completely ignores the issue of salting and actually generating these tables. so ya, not really possible.
NeOpLe 10-29
고생했습니다.
2420 10-29
수고 많으셨습니다. 다만 csrf token이 없고 로그인 시도 제한이 구현되지 않아 1초에도 몇십 번씩 패스워드 유추 공격이 일어나는 점도 가능하면 수정 바랍니다.
     
회원K 10-29
쓰로틀링 기능은 있지만
설정값을 넣지 않아서 동작하지 않았던 것을
설정값을 추가했습니다.

60초에 20회 이상 try 하면, 차단 합니다.
     
빈경윤 10-29
소스 상에선 로그인 시도 제한 루틴이 있었는데...

설정이 안된 것인지, 내일 실제 테스트를 해봐야겠네요.

---

회원k님 댓글보니 설정 이슈였네요.
고생하셨습니다.
매번 ........ 대단 하세요.
고생하셨습니다~~^^
새총 10-30
수고하셨습니다.
공기방울 10-30
수고하셨습니다
박선주 10-30
수고 많으셨습니다.
임기호 11-08
고생하셨습니다~
큰고양이 11-10
한동안 못와서 이제야 봤네요
고생많으셨습니다




제목Page 1/1
2015-12   10522   백메가
05-29   146542   회원K
2014-04   2342321   회원K
2014-05   2624739   정은준1
10-29   774   빈경윤
05-29   146542   회원K
05-18   33926   회원K
2017-11   18503   회원K
2016-03   63209   회원K
2016-03   50261   회원K
2016-01   114067   회원K
2015-01   89128   MikroTik이진
2014-05   2624739   정은준1
2014-04   2342321   회원K
2014-04   322312   topschool