SK shieldus Rookies/클라우드 기반 시스템 운영ㆍ구축 실무

[SK shieldus Rookies 16기] HTTPS 구성 실습

su. 2024. 1. 8. 14:59
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합보안 과정
클라우드기반 시스템 운영 구축 실무 #04

 

 

Self-Singed Certificate HTTPS server

자체 서명 인증서를 이용해 HTTPS 서버 구성하기

1)  HTTP Server 구성
2)  HTTPS Server 구성
3)  HTTPS Client 적용

 

 

 

1)  HTTP Server 구성

[WebServer - CentOS]

su - root

 

Step 1.  Apache 패키지 설치 확인

rpm -qa | grep httpd

# 없는 경우 설치

yum install –y httpd

# 패키지 버전 확인

httpd –v

 

 

Step 2. OpenSSL과 mod_ssl 설치 확인

❶ openssl 패키지 확인

rpm -qa | grep openssl

# 없는 경우 설치

yum -y install openssl-*

 

❷ mod_ssl 모듈 확인

httpd -l

# 동적으로 설치된 경우 ❷에 mod_so.c 확인 후 디렉터리 내에 mod_ssl.so 확인

ls /etc/httpd/modules/mod_ssl.so

 

 

# mod_ssl.so 없는 경우

rpm -qa | grep mod_ssl

yum -y install mod_ssl*

ls /etc/httpd/modules/mod_ssl.so

 

 

Step 3. httpd.conf 파일 확인 후 index.html 파일 만들기

# 환경 설정 확인

gedit /etc/httpd/conf/httpd.conf

 

 

# 홈페이지 작성

gedit /var/www/html/index.html

 

 

 

Step 4. http 프로토콜 방화벽 설정

iptables -I INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT

service iptables save

 

 

 

Step 5. http 서비스 활성화

service iptables start

service httpd start

 

 

 

Step 6. 클라이언트에서 확인

[Sysmon - Win10]

 

C:\windows\system32\drivers\etc\

메모장 관리자 권한 실행, host 파일 열어 도메인명을 지정한다

192.168.10.30  www.open.net

 

 

 

 

2)  HTTPS Server 구성

[WebServer - CentOS]

 

# 웹 서버의 작업

Step 1. 개인키(private key) 생성

(공개키/개인키를 생성해야 하나, 이 실습에선 개인키이자 공개키로 사용하겠다)

cd /etc/pki/tls/certs

openssl genrsa -out www.open.net.key 2048

 

 

 

Step 2. 인증요청서(CSR) 생성

openssl req -new -key www.open.net.key -out www.open.net.csr

# 생성 파일 확인

ls -l ww*

 

 

 

# 인증기관(CA)의 작업

Step 3. 개인키와 CSR을 이용해 인증서(CRT) 생성

openssl x509 -in www.open.net.csr -out www.open.net.crt -req -signkey www.open.net.key -days 365

# 설치된 파일 확인

ls -l ww*

 

 

 

Step 4. ssl.conf 파일에 인증서 경로 설정

# ssl.conf 파일 확인

cd /etc/httpd/conf.d

ls -l

 

# 인증서 경로 설정

gedit ssl.conf

SSLCertificateFile /etc/pki/tls/certs/www.open.net.crt

SSLCertificateFile /etc/pki/tls/certs/www.open.net.key

 

 

 

Step 5. 방화벽 설정

iptables -I INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 443 -j ACCEPT

service iptables save

iptables -L

 

 

 

Step 6. 서비스 활성화

service iptables restart

service httpd restart

 

 

 

 

3)  HTTPS Client 적용

[Sysmon - Win10]

 

Step 1. https://www.open.net 접속

안전하지 않아도 계속하기를 누르면 사이트 화면이 뜬다

 

 

자체 발급 인증서이므로 신뢰성 문제가 해결되지 않는다.

자체 발급 인증서를 신뢰된 루트 인증기관 저장소에 저장해 안전한 연결로 강제해본다.

 

Step 2. 인증서 설치

 

인증서 오류 클릭
인증서 클릭
내보내기
저장
인증서 클릭 > 인증서 설치
'신뢰할 수 있는 루트 인증기관'에 인증서 저장

 

 

Step 3. 브라우저 설정

 

Win10 가상머신의 MS Edge 브라우저는 보안이 향상되어 실습 적용을 볼 수 없다.

따라서 다음 설정으로 Internet Explorer 브라우저를 이용하도록 한다.

 

1) 브라우저 우측 상단 메뉴 > 설정 > 기본 브라우저

 

 

2) Edge에서 사이트 열기 안 함 / IE에서 다시 로드 허용 / IE모드 페이지에 https://www.open/net 추가

 

 

 

Step 4. https://www.open.net 재접속

안전한 연결을 확인할 수 있다.