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

  • 리눅스 chage 명령어

    리눅스 chage 명령어는 change age의 줄임 말로 사용자 계정의 만료 및 비밀번호 만료 설정을 관리 할 때 사용합니다. 주요 기능과 목적은 비밀번호 만료일 설정, 비밀번호 최소 사용 기간 설정, 계정의 비활성화 날짜 설정 등이 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ chage 명령어 옵션…

  • 리눅스 커널 버전 확인 명령어 및 배포판 버전 확인 방법

    리눅스를 운영할 때 리눅스 커널 버전 확인과 배포판 버전을 확인해야 하는 경우가 있습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠✅ 리눅스 커널 버전 확인 명령어 리눅스에서 커널 버전을 확인하는 명령어는 uname 명령어를 사용해서 확인할 수 있습니다. 1. uname 명령어 uname -a는 모든 결과를 보여 줍니다….

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와 쉘에서 실행하는 모든 기능과…

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

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

  • WAS와 WEB 서버 차이

    웹서버는 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에 요청을 하면 요청을 받아 정적 콘텐츠를 제공하는 서버입니다. 정적 콘텐츠는 HTML, CSS, 이미지, 파일 등의 콘텐츠가 제공됩니다. WAS란 DB 조회 또는 다양한 로직의 처리가 요구되는 동적 콘텐츠를 제공하기 위해 만들어진 Application 서버입니다. 목차SSL 보안인증서 설치 방법1. SSL 보안인증서 설치 전 모듈 확인2. 개인키 생성 및 CSR 생성관련콘텐츠웹서버란…

  • 리눅스와 유닉스 차이점 9가지

    리눅스를 사용하는 사람이라면 리눅스와 유닉스 차이는 무엇인지 궁금점이 한번 씩 생기게 됩니다. 간단하게 차이점을 요약하자면, 리눅스는 유닉스의 오픈 소스 구현체로, 유닉스와 유사한 운영 체제를 제공하면서도 커뮤니티 기반의 개방적인 환경을 가지고 있습니다. 둘 다 안정적이고 다목적으로 사용되는 운영 체제이지만, 유닉스는 상용 운영 체제의 역사적인 뿌리를 가지고 있고, 리눅스는 개방성과 다양성 측면에서 강점을 가지고 있습니다….

답글 남기기

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

Prove your humanity: 6   +   9   =