반응형
작성일: 2024년 4월 11일

 

새로 만든 Web 서비스를 운영하기 위해서 인터넷 도메인을 등록했다.

"YesNIC.com" 에서 .KR 도메인을 등록했고,

새로 등록한 Domain name에 맞는 서버 인증서(Certificate)도 발급했다.

 

SSL Certificate(인증서)을 발급하는 순서를 간단하게 정리하면 이렇다. 

  1. "https://yesnic.com/" 에서 인터넷 도메인 등록하기 (예: sejong.kr)
  2. "https://www.sslcert.co.kr/" 에서 *.sejong.kr 도메인을 위한 서버 보안 인증서 발급 요청
    1. DNS, Email 인증 방식 중에서 DNS 인증 방식으로 Domain name 소유자 임을 증명.
    2. Domain name 소유자 증명이 끝나면, 바로 내 Certificate과 Root/Chain Certificate 파일이 압축 파일 1개로 묶여서 Email 첨부로 수신됨.
  3. Email로 수신한 Certificate을 Web server에 등록하기

 

자세한 발급 절차는 아래 Web docs를 참고하면 좋다.

    https://www.sslcert.co.kr/supports/usage

 

 

SSL Certificate(인증서) 발급 비용

인증서 용도 및 도메인 범위에 따라 다르지만, 나는 Wildcard 도메인 옵션을 포함해서 10만원에 발급했다.

인증서 발급 기관, 기관 인증 범위, 도메인 범위에 따른 자세한 금액은 아래 문서를 참고하길~

    https://www.sslcert.co.kr/products

    https://www.sslcert.co.kr/products/wildcard-ssl-certificate-comparison

 

SSL Certificate 발급 심사 수준에 따른 Level 

DV(Domain Validation)

인터넷 도메인 네임의 소유 여부를 검사하고 Certificate을 발급한다.

해당 웹 사이트를 운영하는 회사의 실존 여부를 확인하지 않고 Certificate을 발급하기 때문에 신뢰성이 낮다.

OV(Organization Validation)

사업의 적법성을 검증하고 인터넷 도메인 네임의 소유 여부를 확인하고 Certificate을 발급한다.

이 OV Level의 Certificate을 설치한 Web site는 믿고 거래할 수 있다.

EV(Extended Validation)

Certificate 발급 기관(CA)이 까다롭게 기업 실체를 확인하고 EV Level의 Certificate을 발급한다.

 

지식 공유하는 수준으로 개인 웹 사이트를 운영하는 경우라면, DV Level의 Certificate도 충분하다.
그러나 기업 홍보, 신뢰성이 필요한 기관의 웹 사이트라면 OV Level의 Certificate이 있어야 Client가 믿고 접속할 수 있을 것이다.

 

 


 

 

Apache2 웹 서버에 SSL 인증서 설치하기

 

 

발급 받은 인증서 파일을 Apache2 Web Server에 복사

인증서 관련 파일을 Apache2 Web Server에 복사한다. (아래와 같은 Path에 복사)

파일 종류 파일 경로
CA Root Chain 통합 파일 /etc/apache2/ssl.crt/root-chain-bundle.pem
SSL Certificate 파일 /etc/ssl/certs/_wildcard_.my-domain.kr_20240312.crt.pem
SSL Sertificate Key 파일 /etc/ssl/private/_wildcard_.my-domain.kr_20240312.key.pem

 

mod_ssl 모듈을 활성화

아래 a2enmod 명령을 실행하여 mod_ssl 모듈을 활성화한다.

$ a2enmod ssl

$ cd /etc/apache2/sites-enabled

$ ln -s ../sites-available/default-ssl.conf

 

 

SSL 관련 설정을 추가

$ cd /etc/apache2/sites-enabled

$ vi default-ssl.conf

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin sejong-kanadaramabara-king@gmail.com
                ServerName my-domain.kr
                ServerAlias my-domain.kr
                SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
                
                ... 중간 생략 ...
                
                SSLEngine on
                
                ... 중간 생략 ...
                
                SSLCertificateFile      /etc/ssl/certs/_wildcard_.my-domain.kr_20240312.crt.pem
                SSLCertificateKeyFile   /etc/ssl/private/_wildcard_.my-domain.kr_20240312.key.pem

... 중간 생략 ...

        </VirtualHost>
</IfModule>

 

 

Apache2 Web Server를 재기동

$ systemctl restart apache2

$ systemctl status apache2

$ netstat -anp | grep apache2
tcp6       0      0 :::80                   :::*                    LISTEN      369206/apache2
tcp6       0      0 :::443                  :::*                    LISTEN      369206/apache2

 

위와 같이 TCP 443 포트를 LISTEN하고 있으면 정상적으로 SSL 적용된 것이다.

Web browser를 이용해서 https://my-domain.kr 과 같은 주소로 접속하면 보안 경고 없이 웹 페이지가 보일 것이다.

 


 

+ Recent posts