HTTPS 를 쉽게 설명하면 우리가 특정 사이트를 접속할 때 주고 받는 데이터를 암호화하여 전송할 수 있게 해주는 규약이다
예를 들어 네이버 쇼핑에서 주문 화면으로 들어가면 나의 이름, 주소 등이 자동으로 입력되어 있다
이런 정보를 중간에서 해커가 가로채서 볼 수 없도록 암호화한다고 생각하면 된다
HTTPS 를 사용하지 않고 HTTP 를 사용할 경우 중간에 데이터를 암호화하는 작업이 생략되므로 속도가 더 빠르다
그래서 예전에는 중요한 데이터를 주고받는 부분만 HTTPS 로 구현한 적도 있지만 요즘에는 인터넷 속도가 기본적으로 빠르므로 모든 화면을 HTTPS 로 구현하고 있다
프로그램 개발자 입장에서도 HTTP 또는 HTTPS 로 단일 개발하는게 더 신경쓸 일 없고 편하다
또한 HTTPS 를 일부만 지원하도록 웹사이트를 개발하였다면 HTTP 를 이용하는 화면에서 쿠키 정보가 노출되지 않는지 검토해야 한다
추가로 쿠키에 민감한 정보를 저장하는 경우 HttpOnly 속성을 설정하는게 좋다
그렇다면 HTTPS 는 어떻게 설정할까?
HTTPS 를 위한 SSL 인증서를 준비
HTTPS 에 필요한 인증서는 SSL 인증서라고 부르며 무료부터 5만원 이상의 유료 인증서가 있다
무료 SSL 인증서는 3개월 기간 제한이 있으며 유료 인증서는 1년 유효기간이다
큰 차이점은 문제 발생 시 손해 보상 관련이다
SSL 인증서 적용
HTTP 또는 HTTPS 를 적용한 웹 사이트가 있다면 웹 사이트가 동작하기 위한 웹서버가 존재한다
각 웹서버마다 SSL 인증서를 적용할 수 있는 방법이 다르며 아래는 일반적인 웹서버 종류다
Apache, Nginx, IIS, HAProxy 등
참고문헌) 화이트 해커를 위한 웹 해킹의 기술
참고솔루션) 봄즈 봄보라
'봄보라' 카테고리의 다른 글
CSRF 공격이란? (0) | 2021.09.19 |
---|---|
Kanban System 의 간략 정의와 역사 (0) | 2021.09.12 |
대형 프로젝트에서 kanban 적용 시 참고할 점 (0) | 2021.08.29 |
웹 해킹 커맨드 인젝션 공격 개념 (0) | 2021.08.22 |
웹 해킹의 공격 단계 (0) | 2021.08.15 |