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

  • 리눅스 파일 시스템(File System)과 스토리지

    리눅스 파일 시스템File System은 모든 파일 및 디렉토리를 큰 트리 구조 하나로 관리합니다. 리눅스는 Ext(Extended File System)를 사용합니다. OS는 파일 스토리지에 있는 파일을 효율적으로 관리하기 위해 파일 시스템을 구축하게 됩니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ 대표적인 리눅스 파일 시스템 종류 저널링 시스템은 파일 시스템의…

  • Syslog란 무엇인가? | rsyslog.conf 설정

    Syslog는 원래 Sendmail의 일부로 개발되었으며, 이후 로그 관리의 편리함이 인식되면서 독립적인 표준으로 발전하게 되었습니다. System Logging의 약자로, 로그를 기록하고 관리하는 표준 서비스 또는 프로토콜을 의미합니다. 메일 서버, FTP 서버 등 다양한 프로그램이 생성하는 메시지를 중앙에서 수집하여 로그 파일로 저장하고, 이를 분석할 수 있도록 지원합니다. 시스템을 효율적으로 모니터링하고, 잠재적인 문제를 신속하게 식별 및 해결하며,…

  • GeoIP 국가 코드표 정리 목록

    아파치 서버에서 사용할 수 있는 GeoIP 국가 코드표 정리 목록입니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠GeoIP란? GeoIP는 maxmind에서 제공하는 모듈과 IP 정보 DataBase를 이용해서 웹에 접근하는 IP를 국가 별로 확인할 수 있는 오픈소스솔루션입니다. 필요에 따라 특정 IP 및 국가를 차단 및 허용할 수 있습니다….

  • 리눅스 데몬이란? 독립형(Standalone) 방식과 슈퍼데몬 방식(xinetd)

    리눅스 데몬(Daemon)이란 사용자가 직접 제어하지 않고 백그라운드에서 실행되는 여러 작업을 하는 프로그램을 뜻 합니다. 뒤에 ‘d’로 끝나며 보통 프로세스로 실행됩니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ 리눅스 데몬의 2가지 방식 리눅스에서 데몬이 운영되는 방식은 독립형이란 뜻을 가진 Standalone 방식으로 단독으로 실행되는 데몬과 슈퍼 데몬…

  • 리눅스 트러블 슈팅(Trouble Shooting).INDEX

    리눅스 서버를 공부 할 때 트러블 슈팅(Trouble Shooting)이란 단어를 접하게 되는데 서버 엔지니어와 개발자가 서버를 운영하면서 듣게 되는 단어로 말 그대로 ‘문제 해결’을 뜻 한다. 리눅스에서 Trouble Shooting은 문제가 발생한 시점에서 시스템, 소프트웨어 및 하드웨어, 네트워크 등에서 문제를 진단하고 해결하는 과정이다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성…

  • 레드햇 자격증: RHCSA, RHCE, RHCA

    레드햇 자격증(Red Hat Certification)은 레드햇 리눅스를 운영하는데 필요한 역량을 확인하고 입증하는 자격증입니다. 레드햇 웹사이트에서 확인한 RHCSA, RHCE, RHCA 3개 자격증의 정보입니다. 자격증의 기본적인 취득 조건은 RHCSA 자격증 취득 후 RHCE, RHCA 순서로 취득할 수 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠1. 레드햇 자격증: RHCSA RHCSA(Red…

답글 남기기

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

Prove your humanity: 9   +   5   =