본문 바로가기

서버/UBUNTU 18.04

HTTP to HTTPS

만약 여러분의 웹서버가 HTTP 연결을 사용한다면 보안에 매우 취약하며, 실제로 호스팅하는 브라우저에서 보안 취약 아이콘을 띄우거나 심할 경우 접속이 거부당할 수 있습니다. HTTPS 보안 연결을 사용하여 이러한 취약점을 보완해봅시다 !

 

준비물 : 먼저 웹서버가 도메인과 연결되어있어야 하고, 정상적으로 A 레코드가 생성되어있어야 합니다. (참고 : TAKE ROUTE53 FOR DOMAIN !)

 

STEP 1 : ACM(Amazon Certificate Manager)에서 인증서 발급

HTTPS 보안 연결을 하기위해 먼저 공인된 인증서를 발급받아야합니다. AWS 자체에서 발급 가능한 무료 인증서를 이용할 것이므로 Certificate Manager 콘솔에 접속한 후, 인증서 요청을 클릭합니다. 이용해본 적 없다면 인증서 프로비저닝 > 시작하기를 클릭합니다.

다음 인증서 요청 단계에서 공인 인증서 요청 > 인증서요청을 클릭합니다.

 

여러분의 도메인을 등록할 때, 호스팅영역에서 생성했던 A레코드를 참고하여 도메인 이름을 추가합니다. 아래와 같이 설정했을 때 studioblueprints-official.com, www.studioblueprints-official.com, … 등 특정 도메인의 접속이 인증서로 보호됩니다. 설정을 확인하고 다음을 클릭합니다.

 

검증방법은 DNS 검증을 선택합니다. 도메인을 등록할 때 사용했던 이메일을 이용해 인증을 받아도 되지만, DNS 검증이 훨씬 간단하고 빠르게 진행됩니다. 다음을 클릭한 후 적절한 네임태그를 입력하고 최종설정을 검토 및 인증서를 요청합니다.

 

아래의 화면에서 Route53 에서 레코드 생성을 클릭하여 CNAME 레코드 생성합니다. 등록한 도메인 네임 모두 레코드를 생성하여 검증해야하며 Amazon의 검증까지 약간의 시간이 소요됩니다. 검증 후 검증완료로 전환되며, 그 전까지는 검증보류로 표시됩니다.

 

검증이 완료되었다면 이제 로드밸런서를 설정해야 합니다. 해당 탭은 EC2 콘솔 > 로드 밸런싱 > 로드 밸런서에서 확인할 수 있습니다. Load Balancer 생성을 클릭합니다.

 

세가지의 로드밸런서 중 Application Load Balancer를 생성합니다. 적절한 네임태그를 입력하고 아래와 같이 HTTPS 리스너와 가용영역을 설정한 후 보안 설정 구성으로 이동합니다.

 

다음 화면에서는 ACM에서 발급받은 인증서를 선택합니다. 인증서유형은 권장사항대로 두고 이전에 생성한 인증서를 드롭다운 메뉴에서 선택합니다.

보안 그룹 설정에서는 기존 보안 그룹 선택에서 로드밸런서를 연결할 인스턴스의 보안그룹을 선택합니다. 라우팅 구성에서는 적절한 이름을 입력한 후 대상 등록을 클릭합니다. 대상 등록은 여러분이 구성하고 있는 로드밸런서를 연결할 인스턴스를 선택하는 과정입니다.

 

인스턴스 항목에서 해당 인스턴스를 선택하고 등록된 항목에 추가를 클릭하여 등록된 대상으로 옮깁니다. 이후 검토 > 생성을 클릭합니다.

 

STEP2 : 일단 로드밸런서가 생성되었으면 추가로 3가지의 설정 과정이 필요합니다.

먼저 첫째로 로드밸런서의 리스너를 설정합니다. 생성한 로드밸런서의 탭 아래에서 리스너 > HTTP:80 선택 후 편집을 클릭합니다. 기본작업을 삭제하고 작업 추가 + 를 클릭합니다.

 

리디렉션 대상 > HTTPS 에서 443 포트를 입력한 후 업데이트를 클릭합니다. 이 과정을 완료했다면, HTTP 접속 요청은 모두 HTTPS:443 포트로 리디렉션될 것입니다.

 

이제 인스턴스 보안그룹 설정에서 HTTPS:443 포트를 허용해야합니다. 아래의 화면과 같이 HTTPS:443 포트를 허용하고, 만약 설정되어있지 않다면 HTTP:80번 포트 또한 허용합니다.

 

이제 마지막으로 로드밸런서를 Route53 콘솔의 해당 도메인 호스팅 영역에서 연결해야 합니다. 이전에 도메인을 인스턴스와 연결하기 위해 인스턴스 IP와 함께 A레코드를 생성했습니다. 해당 레코드를 선택 > 편집을 클릭하고 해당 A레코드를 아래와 같이 수정합니다.

레코드 유형에 따라 IP 주소 또는 다른 값 > Application / Classic Load Balancer에 대한 별칭으로 변경하고, 생성했던 로드밸런서를 선택합니다.

 

FINISH !

이제 여러분의 웹서버에 HTTPS 보안 연결을 통해 접속할 수 있습니다. Amazon에서 발급받은 인증서는 특별히 관리할 필요 없이 자동으로 관리됩니다. 다음에는 개인용 설치형 블로그인 WordPress를 설치해보겠습니다.

읽어주셔서 감사합니다 !

준비물 : 먼저 웹서버가 도메인과 연결되어있어야 하고, 정상적으로 A 레코드가 생성되어있어야 합니다. (참고 : TAKE ROUTE53 FOR DOMAIN !)