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

  • [Linux] ip 명령어 : 네트워크 인터페이스 및 설정 관리

    ip 명령어는 리눅스에서 네트워크를 관리할 때 사용되는 주요 도구로, 다양한 네트워크 작업을 수행할 수 있습니다. ip 명령어는 네트워크 인터페이스의 상태를 확인하거나 활성화 및 비활성화 할 수 있으며, IP 주소를 확인하거나 수동으로 추가 및 삭제하는 작업도 가능합니다. 또한 라우팅 테이블을 조회하고 경로를 추가하거나 제거하는 등의 라우팅 관리, ARP 테이블 확인 및 수정, 터널링 설정…

  • 리눅스 uniq 명령어

    리눅스 uniq 명령어는 “unique”의 약자이며, 텍스트 파일에서 중복된 행을 제거하고 하나의 행만 출력하는데 사용됩니다. 중복된 텍스트 데이터를 제거하고 몇 번의 반복이 있었는지 등을 확인할 때 매우 유용하게 사용할 수 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ 리눅스 uniq 명령어 기본 사용법 INPUT 파일은 대상…

  • 리눅스 sort 명령어: 파일 정렬

    종류 및 분류의 사전적 의미를 가진 리눅스 sort 명령어는 아스키 파일 내용(레코드)을 정렬할 때 사용하는 명령어입니다. 알파벳순이나 오름차순 또는 내림차순으로 정렬해야 하는 경우에 사용하는 명령어입니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ 리눅스 sort 명령어 기본 사용 방법 ✅ 리눅스 sort 명령어 옵션 ✅ 리눅스…

  • 리눅스 touch 명령어

    touch 명령어는 파일의 날짜 시간 정보를 변경하는 명령어입니다. 아무 옵션 없이 사용할 경우 파일의 최근 사용 시간, 변경 시간이 서버의 현재 시간으로 변경됩니다. 파일이 없는 파일명을 입력할 경우 새로운 크기가 0인 빈 파일이 생성됩니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ touch 명령어 기본 사용…

  • FTP 평가: vsftpd vs proftpd 차이점

    FTP는 파일을 광범위하게 전송하는데 사용되는 표준 프로토콜입니다. vsftpd 및 proftpd는 FTP 프로그램은 원격 서버에 저장된 파일을 엑세스하고 전송할 수 있도록 합니다. 서버를 사용하는 방법에 따라 ‘vsftpd vs proftpd’ 둘 중에 어떤 것이 더 적합할지 알아 보겠습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠 Vsftpd 개요…

  • 리눅스 디바이스 드라이버 | 장치 파일(Device File) | /dev 디렉토리

    리눅스는 모든 것을 파일로 관리합니다. 리눅스에는 장치 파일(Device File)은 여러 프로그램에서 시스템에 설치된 하드웨어에 접근할 수 있게 하는 파일입니다. 디바이스를 구동하기 위해 리눅스 디바이스 드라이버가 필수 요구 사항입니다. 리눅스 시스템이 마우스 장치 파일을 참조해서 마우스의 조작을 하게 하거나 프린트의 출력 등을 담당하는 것을 생각할 수 있으며, 주로 스토리지를 마운트 하는데 많이 사용된다고 할…

답글 남기기

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

Prove your humanity: 0   +   10   =