SSL 인증서 설치(Sectigo)
Apache 웹 서버에 Sectigo SSL 인증서 설치를 진행합니다. 테스트 URL로 서브 도메인 tozisin.com으로 하여 설치 테스트를 진행합니다. 설치할 인증서는 설치 후 30일 간 이용 가능한 ‘Free 30Days SSL‘ 설치를 진행합니다.
AlmaLinux 9.4는 Rocky Linux 9.4와 완전히 호환되는 RHEL 계열의 클론입니다. 따라서 Apache 설치 및 모듈 구성 방식도 Rocky Linux와 동일합니다. Apache 버전은 2.4.57입니다.
개인키 생성과 CSR 생성, DVC 인증, 서버에 적용하는 내용들을 순차적으로 진행하고 기록합니다.
✅ SSL 인증서 설치를 위한 호스팅 계정 생성
계정 생성 및 접속 가능하도록 퍼미션과 소유권 설정을 진행합니다. 기존에 만들어 놓았던 virtual.conf 파일에 기본적인 연결 설정을 합니다.
home]# useradd tozisin
home]# chmod 755 tozisin/
home]# cd /home/tozisin
tozisin]# mkdir www
tozisin]# chown -R tozisin.nobody www/
tozisin]# vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
ServerName tozisin.com
ServerAlias www.tozisin.com
DocumentRoot /home/tozisin/www
SuexecUserGroup tozisin nobody
</VirtualHost>
✅ SSL 모듈: mod_ssl
현재 서버에는 mod_ssl 모듈이 설치되어 있습니다.
~]# rpm -qa | grep mod_ssl
mod_ssl-2.4.57-8.el9.x86_64
~]#ll /etc/httpd/modules/mod_ssl.so
-rwxr-xr-x 1 root root 264080 Apr 3 2024 /etc/httpd/modules/mod_ssl.so
~]# vi /etc/httpd/conf.modules.d/00-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
# 모듈이 없을 경우 dnf 명령어로 설치
~]# dnf -y mod_ssl
✅ 30일 Free SSL 사용
cyberssl.com에서 30일 무료 SSL 설치 신청을 진행합니다.
정보 입력 후
다음 단계로 넘어갑니다.
🔲 CSR 생성
CSR을 생성합니다.
관리자 및 기술담당자 정보 요청페이지에서 정보 입력.
🔲 소유권(DCV) 인증
tozisin]# mkdir -p www/.well-known/pki-validation/
tozisin]# vi www/.well-known/pki-validation/E161C9E18DFC7B31F319C05F24E60076.txt
폴더 생성 및 파일 생성 후 다운로드한 파일 안의 값을 넣은 후 테스트를 진행합니다.
정상적으로 확인되면 다음 단계로 넘어갑니다. 이후에 대기 중 상태로 확인되고 1~2분 후에 F5를 눌러줍니다.
인증서를 확인합니다.
인증서를 다운로드 받습니다.
✅ SSL 인증서 설치 진행
tozisin]# cd /etc/httpd/conf.d/
conf.d]# mkdir ssl_tozisin.com
conf.d]# chmod 700 ssl_tozisin.com/
conf.d]# cd ssl_tozisin.com/
ssl_tozisin.com]# unzip tozisin_com_cert.zip
# 일부 파일은 삭제
ssl_tozisin.com]# ll
total 16
drwxr-xr-x 2 root root 28 May 30 00:21 apache
-rw-rw-rw- 1 root root 2166 May 29 14:57 ca_intermediate_certificate.pem
-rw-rw-rw- 1 root root 2041 May 29 14:57 certificate.pem
drwxrwxrwx 2 root root 91 May 29 14:57 IIS_Microsoft
-rw-rw-rw- 1 root root 2166 May 29 14:57 intermediate_certificates.pem
drwxrwxrwx 2 root root 51 May 29 14:57 java
drwxrwxrwx 2 root root 51 May 29 14:57 nginx
drwxr-xr-x 2 root root 70 May 30 00:01 other
-rw-rw-rw- 1 root root 1704 May 29 14:57 privatekey.pem
vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
ServerName tozisin.com
ServerAlias www.tozisin.com
DocumentRoot /home/tozisin/www
SuexecUserGroup tozisin nobody
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://tozisin.com$1 [R=301,L]
</VirtualHost>
vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443>
ServerName tozisin.com
ServerAlias www.tozisin.com
DocumentRoot /home/tozisin/www
SuexecUserGroup tozisin nobody
<Directory /home/tozisin/www>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/httpd/conf.d/ssl_tozisin.com/apache/certificate.pem
SSLCertificateKeyFile /etc/httpd/conf.d/ssl_tozisin.com/apache/privatekey.pem
SSLCertificateChainFile /etc/httpd/conf.d/ssl_tozisin.com/apache/intermediate_certificates.pem
SSLCACertificateFile /etc/httpd/conf.d/ssl_tozisin.com/ca_intermediate_certificate.pem
ErrorLog logs/tozisin_ssl_error.log
CustomLog logs/tozisin_ssl_access.log combined
</VirtualHost>
항목 |
의미 36026_d01463-b5> |
역할 36026_072d90-73> |
---|---|---|
|
ⓐ 서버 인증서 36026_60dd15-cb> |
도메인에 발급된 실제 인증서 36026_9ba24a-1c> |
|
ⓑ 개인 키 36026_0f7d21-f1> |
도메인 인증서와 짝을 이루는 비공개 키 36026_c665bd-0a> |
|
ⓒ 중개(체인) 인증서 36026_91df48-6d> |
서버 인증서와 루트 CA를 연결해주는 중간 인증서 36026_d65e49-57> |
|
ⓓ 루트 인증서 (CA 인증서) 36026_ae9d7f-41> |
클라이언트가 최종적으로 신뢰하는 루트 인증서 36026_4b3b26-14> |
ssl_tozisin.com]# httpd -t
Syntax OK
ssl_tozisin.com]# apachectl graceful
사이트에 접속해서 SSL 인증서 설치가 정상적으로 되었는지 확인합니다.