SSL 보안인증서 설치(CentOS 7)

SSL 보안인증서는 한국·해외 웹사이트에서 필수 요소 중 하나입니다. SSL 보안인증서 설치 후 운영이 필요한 이유는 광고가 아닌 유기적 트래픽을 원할 경우 SSL(TLS) 인증서는 검색엔진최적화(SEO)에 필수 항목 중 하나이기 때문입니다.

SSL 보안인증서는 사용자와 서버의 통신이 암호화되어 중간에 해커가 데이터를 가로채지 못하도록 하는 방화벽입니다.

SSL 보안인증서 설치하기

SSL 보안인증서 설치 방법

  • 서버: CentOS 7

  • 설치전 준비 사항

    openssl 암호화 라이브러리 및 Mod_SSL 모듈 두개의 모듈이 설치되어 있어야 합니다.

위 두 항목이 웹서버에 설치되어 있다면 개인키를 생성하고 생성된 개인키를 바탕으로 CSR 파일을 생성합니다. 생성된 CSR 파일을 유서트, 한국전자인증 등과 같은 SSL 발급업체 등에 접수(발송)하여 인증서를 발급 받습니다.

발급된 인증서를 웹 서버에 설치하게 되면 SSL 설정을 완료하게 됩니다.

1. SSL 보안인증서 설치 전 모듈 확인

아파치 컴파일 mod_ssl 관련 옵션을 추가하였다면 ssl을 따로 설치할 필요는 없습니다. 먼저 모듈이 있는지 확인합니다.

~]# vi /usr/local/apache/conf/httpd.conf   # Httpd.conf 파일에서 모듈 확인 

LoadModule ssl_module modules/mod_ssl.so 

2. 개인키 생성 및 CSR 생성

conf 폴더 아래 ssl.key 폴더가 없다면 폴더를 생성해 줍니다. ssl.key(ssl_files 등 SSL이 적용될 폴더는 다르게 설정할 수 있음) 폴더로 이동합니다.

~]# cd /usr/local/apache/conf/ssl.key/

2.1 개인키 생성

Openssl 명령어를 이용하여 웹서버의 RSA키( 2048비트 암호화 )를 생성합니다. 패스워드를 지정하게 되는데 이때 입력된 패스워드는 추 후 여러 차례 사용되므로 본인만이 알 수 있는 패스워드로 지정해 줍니다.

~]# openssl genrsa -des3 -out www.domain.co.kr.key.com 2048 <=4096비트로 
Generating RSA private key, 2048 bit long modulus
.....................................++++++
......................................++++++
e is 65537 (0x10001)

Enter pass phrase for www.domain.co.kr.key:******

Verifying - Enter pass phrase for www.domain.co.kr.key:*******

▼ RSA 로 생성된 개인 KEY값을 확인 할 수 있습니다.

~]# openssl rsa -noout -text –in www.domain.co.kr.key.com
Enter pass phrase for www.domain.co.kr.key.com: ******
Private-Key: (2048 bit)
modulus:
    00:95:87:5b:fb:7a:ea:2f:a8:f5:77:1a:28:ba:03:
    38:91:29:21:1a:14:83:5f:9d:db:45:49:9a:55:ad:
    ea:85:66:d9:4d:e7:12:6a:c3:a5:f4:20:ed:4f:88:
    49:10:3f:c9:b3:44:5a:7f:a3:68:0c:3e:cf:2e:83:
    f2:01:75:c1:15:52:fe:ab:b2:62:ea:ad:42:59:b0:
    d9:03:61:4a:d4:95:67:6e:d2:c6:fd:8e:a6:f8:1c:
    00:28:78:1c:b5:7c:b1:f1:89:84:6e:18:4b:54:0c:
    26:4c:e3:de:45:91:ea:18:f3:18:95:39:6f:6c:6f:
    56:46:7c:b2:d5:a5:c5:d3:51
publicExponent: 65537 (0x10001)
중간생략
생성된 개인키는 반드시 백업을 받아 놓고 사용하는 것이 좋습니다. 그 이유는 차 후 연장 신청 시 바로 사용할 수 있기 때문입니다.

2.2 CSR 생성

개인키가 생성이 되었으면 이제 CSR 파일을 생성하겠습니다.

~]# openssl req -new -key www.domain.key.com -out www.domain.co.kr.csr
Enter pass phrase for www.domain.co.kr.key:******
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:KR
State or Province Name (full name) [Berkshire]:Seoul
Locality Name (eg, city) [Newbury]:eunpyeong | geumcheongu
Organization Name (eg, company) [My Company Ltd]:domain.co.kr Inc   
Organizational Unit Name (eg, section) []: 
Common Name (eg, your name or your server's hostname) []:www.domain.co..kr
Email Address []: w4231lhn125@google.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
  • Country Name (2 letter code) [GB] : 국가 코드 입력
  • State or Province Name (full name) [Berkshire] : 도시 이름
  • Locality Name (eg, city) [Newbury] : 지역이름 (업체가 위치한 곳)
  • Organization Name (eg, company) [My Company Ltd] : 회사이름 (사업자 등록증에 있는 회사명과 일치)
  • Organizational Unit Name (eg, section) [] : 부서이름
  • Common Name (eg, your name or your server’s hostname) [] : 도메인 입력 (앞에 www를 꼭 기입할 것 )
  • Email Address [] : 인증받을 메일
  • A challenge password []: 아무것도 입력하지 않는다 (Enter)
  • An optional company name []: 아무것도 입력하지 않는다 (Enter)

2.3 CSR 정보 확인

생성된 CSR 을 아래와 같은 명령어로 확인하면 입력된 CSR 정보를 확인 할 수 있습니다.

~]# openssl req -noout -text -in www.domain.co.kr.csr
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=KR, ST=Seoul, L=eunpyeong, O=xinet Inc, OU=seteam, CN=www.domain.co.kr/emailAddress=asef123@naver.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:95:87:5b:fb:7a:ea:2f:a8:f5:77:1a:28:ba:03:
                    중간 생략 

2.4 SSL 인증업체에 CSR 전송

이제 생성된 csr 정보를 도메인 인증 업체에 전송하게 됩니다. cat 명령어로 정보를 출력 시키며 이문서의 첫 줄부터 마지막 줄까지(— BEGIN부터 마지막 줄 —–END RSA PRIVATE KEY—– ) 모두 복사하여 지정된 SSL 접수 페이지에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송하면 접수가 완료 됩니다.

~]# cat www.domain.co.kr.csr
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,CAC3CF5FCD191B6D
FgLovl2PKotGmHCAPGLcGhmM2AKbydJCzgSw7oWtkS1/P3DwzP4SzOVjYzIWl6fC
VhSX6kyP40Afujh7zj5OLd7t8zmW3HcubcnzN39bPtxc1ObyL1+J8kGdYNOEBqmv
jWOnlWsCjSkUL4vzHAB1ECns3lEUDgQLFxJ05aqskR3gpVEPT8rDHS7OLQfJYFAu
TEXWpeXXD3IoTxL2IqrqORCtuGgcQZDWPZiYQksFOB9Vc6HewI/R4E8bMzdDpjpt
pDcuThrRHJLnJa9qA0/j9Y/HnybiIxZuv+Q5mh2f/K0aH8e/N4e4QFh7BtIZKrSG
-------------------중간 생략 ----------------------------------------------
M3NksVOsWvvYbfmQDYC3TRzdGv0IxlssXV7wiShYtGSXxtcXI5aQaiTQEo4TVJEy
UcTrxBq/7LjA/VkBu6UG0f6xrayseECPhgxg3vZhVexT/Aansliih+bmQGetRkJf
Gi9kSoCkvTJBnIkP3WGT/UQG9M0Eh9KF84AUpm4SfitM+tfKVWoRIy5120T/+S6r\
0/6nF5NT+WEgrbUfW2WL0jmq91QW3KuVDp3PsINTkH5QZkRBbZLeYw==
-----END RSA PRIVATE KEY-----

2.5 SSL 보안인증서 설치 후 서버 적용

서버에서 생성한 키 파일과 인증 업체에서 받은 www_domain_co_kr.crt 파일 및 www_domain_co_kr.ca-bundle 파일을 서버의 . usr/local/apache/conf/ssl.crt 폴더로 업로드 합니다. Key 파일은 usr/local/apache/conf/ssl.key 폴더로 이동합니다.

# 인증서 및 ca 퍼미션 변경 

~]#  chmod 611 www_domain* 

# 기존 SSL 설치된 파일이 있을 경우 www_domain_co_kr.crt 를 old_ www_domain_co_kr.crt로 미리 변경해 준다. # www_domain_co_kr.ca-bundle 도 기존 파일이 있을 경우 old_ www_domain_co_kr.ca-bundle로 미리 변경해 준다. 

# 개인키 퍼미션 변경 및 암호 해제 
~]# chmod 611 www.domain.co.kr.key 

~]# openssl rsa –in www.domain.co.kr.key.com -out www_domain_co_kr.key 
enter pass phrase for out www.domain.co.kr.key: (지정한 패스워드 입력) 
writing RSA key 

# SSL 세팅 
~]# vi /usr/local/apache/conf/extra/httpd-ssl.conf 

# 문서 제일 하단으로 이동한다. <VirtualHost *:3003>

DocumentRoot /free/home/ ID /html
ServerName www. domain.co.kr
ServerAlias domain.co.kr
CBandUser ID
RUidGid ID free
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl_crt/www_domain_co_kr.crt  SSL 인증서
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/www.domain.co.kr.key  개인키
SSLCertificateChainFile /usr/local/apache/conf/ssl_crt/www_domain_co_kr.ca-bundle  발급자를 확인할  있는 파일이라고 됩니다.

</VirtualHost>
위와 같이 설정 후에 /Listen 검색하여 Listen 3003 포트를 추가
<VirtualHost *:3003>  에서  3003 ”은 포트번호로 SSL이 접속할  사용되는 포트이다.

#Listen 3000
Listen 3001
Listen 3002
Listen 3003 

저장하고 나간  (:wq)

# 무결성 체크 및 아파치 재시작

~]# httld -t
syntax OK

~]# apaachectl restart 를 진행 해준다. (아파치 1.xx 버전은 apachectl stop 후에 apachectl start 

## 크롬 앱 등에서 https//www.domain.co.kr:3003 접속해서 인증서가 나타나는지 확인합니다. ## 

SSL 보안인증서 설치 방법에 대해 알아 봤습니다.

관련콘텐츠

SSL TLS 보안인증서

Similar Posts

  • 셸 스크립트: 셸 들여쓰기 및 확장 옵션명[long 옵션명]

    명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠1. 셸 들여쓰기: 백슬래시(\) 백슬래시-라인피드 문자열이며 LF(Line Feed)는 커서를 한칸 아래로 이동하여 새로운 라인을…

  • Apache 시작, 중지, 재시작 명령어 | 서비스 상태 확인

    리눅스에서 Apache를 설치하고 레드헷 계열과 우분투에서의 시작, 중지, 재시작 명령어를 자주 사용하게 됩니다. Apache 시작, 중지, 재시작 등의 명령어는 다음과 같습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ Apache 시작 및 중지, 재시작: Red Hat 계열 ✅ Apache 시작 및 중지, 재시작: Debian 계열 (Ubuntu,…

  • 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입니다….

  • [Linux] lsof 명령어: 실행 중 파일 정보 출력

    lsof 명령어는 lisf open files의 약자로 리눅스 시스템에서 열려 있는 파일의 정보를 출력해 주는 명령어입니다. lsof 명령어는 파일을 포함하여 디렉터리, 네트워크 소켓, 파이프 등 프로세스가 사용 중인 다양한 리소스도 조회할 수 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠 ✅ lsof 명령어 기본 구문 명령어만…

  • [Linux] 쉘(Shell)과 커널&쉘 스크립트 및 프롬프트

    리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및…

  • Apache MPM Module: Prefork, Worker, Event 3가지 방식 비교 및 Event Module 최적화 설정

    Apache MPM Module은 Apache HTTP Server의 중요한 부분으로, 서버의 요청 처리 방식을 결정합니다. MPM(Multi-Processing Module)은 서버의 성능과 확장성에 큰 영향을 미치는 역할을 합니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠 ✅ MPM Module(Multi-Processing Module) MPM 모듈은 서버가 요청을 처리하는 방식을 정의하며, 서버의 성능, 안정성, 확장성에…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   5   =