작성일: 2024년 4월 11일
새로 만든 Web 서비스를 운영하기 위해서 인터넷 도메인을 등록했다.
"YesNIC.com" 에서 .KR 도메인을 등록했고,
새로 등록한 Domain name에 맞는 서버 인증서(Certificate)도 발급했다.
SSL Certificate(인증서)을 발급하는 순서를 간단하게 정리하면 이렇다.
- "https://yesnic.com/" 에서 인터넷 도메인 등록하기 (예: sejong.kr)
- "https://www.sslcert.co.kr/" 에서 *.sejong.kr 도메인을 위한 서버 보안 인증서 발급 요청
- DNS, Email 인증 방식 중에서 DNS 인증 방식으로 Domain name 소유자 임을 증명.
- Domain name 소유자 증명이 끝나면, 바로 내 Certificate과 Root/Chain Certificate 파일이 압축 파일 1개로 묶여서 Email 첨부로 수신됨.
- 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 과 같은 주소로 접속하면 보안 경고 없이 웹 페이지가 보일 것이다.
'IT General' 카테고리의 다른 글
블로그 추천 - 톨티의 공작소 (0) | 2024.04.16 |
---|---|
VIM Editor에 YAML Jinja 파일에 대한 Highlight 설정 (0) | 2024.04.12 |
TOR(The Onion Router) 브라우저, Dark Web 시스템 작동 원리 (0) | 2024.03.07 |
Web Authn, FIDO2 관련 문서 정리 (0) | 2024.01.22 |
동영상 캡처, 녹화/라이브 방송, 편집, 변환 프로그램 (macOS) (0) | 2024.01.12 |