IT/Django

SameSite=Lax set-cookie was blocked because it was not sent over a secure connection 보안이슈

bepuri 2021. 2. 26. 16:07
728x90

ifuwanna.tistory.com/223

 

Cookie SameSite 설정하기 (Chrome 80 쿠키 이슈)

20년 2월 4일 릴리즈된 구글 크롬(Google Chrome)80버전부터 새로운 쿠키 정책이 적용 되어 Cookie의  SameSite 속성의 기본값이 "None"에서 "Lax"로 변경되었습니다. SameSite 를 None 으로 설정할 경우 모..

ifuwanna.tistory.com

황당하게도 잘 돌아가던 코드가 안되서 갑자기 동작하지 않는 일이 생겼습니다.

도무지 뭐가 문제인지 알수 없어서 이것저것 찾으며 응답헤더, 요청헤더 등도 살펴보길 몇시간...

 

Set-Cookie 쪽에 노란색 느낌표가 떠잇고 쿠키를 덮어썼다는 내용이 있었습니다.

 

구글링을 한참 한뒤에야 뭐가 문제인지 알았습니다.

 

결론은 CSRF 공격을 막기 위해 SameSite 설정이 추가되면서 생긴 문제였습니다.

결정적으로 알게된건 파폭에서는 해당 문제가 발생하지 않는 것을 알고, 크롬의 헤더에 뭔가 문제가 있다고 판단해서 들여다보고 알게 됐구요.

 

가장 간단하게 해결하려면 SameSite가 크롬의 Default값인 Lax로 설정된 경우 SSL을 적용하는 방법이였습니다.

이 사실을 모르고 SameSite를 None으로 바꿔보기도하고 HTTP ONly로 헤더를 보내도록 해보기도하였지만

역시 크롬은 강력했습니다.

 

바꿀때마다 보안 네트워크 상에서 데이터를 전송해야한다는 둥 여러 경고메시지를 보내며 기존에 잘 되던 로그인 기능의 동작을 허용해주지 않았습니다.

 

저는 강력한 크롬의 보안에 무릎꿇고 개발용 서버에도 ssl을 적용 하였고 현재는 정상적으로 동작하는 것을 확인했습니다.

728x90