반응형

3장. 웹서버 구축 및 설정(HTTPS 설정)

 

학습 목표

- HTTPS 접속이 가능하도록 SSL 설정을 할 수 있다.

 

 


HTTPS(HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS)는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발했으며, 전자 상거래에서 널리 쓰인다.

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다. HTTPS의 기본 TCP/IP 포트는 443이다.

보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다. 


- 출처 : 위키백과

 

HTTPS는 SSL, TLS를 적용하여 서버와 클라이언트 간의 데이터를 암호화하여 보안성을 한층 높인 프로토콜로 공인된 발급기관으로부터 인증서를 발급받아서 서버에 적용하는 것이 일반적입니다. 우리가 인터넷뱅킹을 위해서 공인된 발급기관으로부터 공인인증서를 발급받아 사용하는 것과 같습니다.

 

실습에서는 공인인증서를 발급해 줄 기관이 없기에 본인이 스스로 서명하여 만든 Self Sign Certification 인증서를 통해 https 접속 테스트를 진행할 예정이며 앞서 웹서버 가상머신을 그대로 이어서 사용할 예정입니다.

 

일반적 인증서(.crt) 생성 방식

key 생성 ->CSR(Certification Signing Request) 생성 -> 인증서 발급 기관에 신청 후 CRT 발급 -> 웹서버(mod_ssl)에 적용

 

여기서 CSR은 키 값에 서명한 파일이며 인증서인 CRT파일은 보안 수준에  따라 가격차이가 많이 나며 아파치 웹서버에 인증서를 적용하기 위해서는 mod_ssl 패키지 설치와 관련 환경설정 파일의 수정이 필요합니다. 실습에서는 key 값을 생성 후 셀프 인증서를 만들어 적용하도록 하며 현재 기본적으로 httpd 서비스가 설치되어 있어야 됩니다. 

 

- 키 값을 보관할 디렉토리 생성 및 Key 값 생성

#mkdir /etc/httpd/conf/ssl

#cd /etc/httpd/conf/ssl

ssl]#openssl genrsa -des3 -out test.com.key 2048

 

생성될 키의 길이와 키의 이름 및 암호화 알고리즘을 지정( 키 생성을 하고 비밀번호는 잊지 않도록 합니다.)

 

 - Self Sign 인증서 생성

ssl]#openssl req -new -x509 -nodes -sha1 -days 365 -key test.com.key -out test.com.crt

 

생성될 인증서의 유효 기간은 365일, 인증서 알고리즘은 x509, sha1을 사용한다는 것이며 이 단계에서 키 생성 시의 비밀번호를 입력 후 CSR생성 시와 같은 정보들을 입력하면 되고 여러 정보 중 Common Name 부분에 사용하는 도메인 정보가 입력되므로 가장 중요합니다.

 

 - 생성된 인증서(crt) 정보 확인

ssl]#openssl x509 -noout -text -in test.com.crt

 

 

[ 그림 3-1. crt 인증서 정보 확인 ] - 후티(출처)

 

 

여기까지 진행하면 인증서 생성까지의 과정은 끝나게 되며 아파치에서 SSL설정을 위해 필요한 mod_ssl 패키지를 yum을 통해 설치하고 /etc/httpd/conf.d/ssl.conf 파일에서 서버네임, 키 및 인증서 파일의 경로를 환경에 맞게 설정해주면 됩니다. 

 

#yum install -y mod_ssl 

#vi /etc/httpd/conf.d/ssl.conf

 

ServerName www.test.com : 서버 도메인 설정

SSLCertificateFile "/etc/httpd/conf/ssl/test.com.crt" : 인증서 파일 경로 설정

SSLCertificateKeyFile " /etc/httpd/conf/ssl/test.com.key" : 키 파일 경로 설정

 

위의 주요한 몇 가지 외에 변경할 부분을 수정 후 httpd 서비스를 stop한 후 start하면 SSL 비밀번로를 묻게 되는데 비밀번호를 정상적으로 입력하게 되면 웹서버가 동작이 되며 호스트 컴퓨터의 웹브라우저를 열어 웹서버의 IP주소( 예 : https://172.16.1.207)를 입력하여 정상적으로 접속이 될 경우 HTTPS설정이 잘 된 것입니다.

 

물론 사전에 방화벽 설정을 통해 https 서비스에 접속 가능하도록 설정이 되어 있어야 하며 이런 내용은 앞선 글을 참조하면 알 수 있습니다.

 

 

 

후티와 떠나는 서버 여행 - 3장. 웹서버 구축 및 설정(feat. APM)

3장. 웹서버 구축 및 설정(APM) 학습 목표 - APM을 통해 웹서버를 구축하고 간단하게 테스트할 수 있다. 웹서버 구축 시 많이 알려진 오픈소스 기반의 Apache를 설치하고 PHP, MySQL(MariaDB)을 함께 설치하여 기..

edushare.tistory.com

 

HTTPS 설정 내용은 유튜브 채널 "youtube.com/에듀쉐어'를 통해 영상으로 확인이 가능하며 구독 및 좋아요 항상 감사드립니다.

 

 

[ Apache 웹서버 https설정 : CentOS 7 ] - 에듀쉐어

 

[에듀쉐어-강좌공유]

반응형

+ Recent posts