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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

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

  • ps 명령어(프로세스 명령어)

    ps 명령어는 현재 실행 중인 프로세스를 출력하는 명령어입니다. 1. ps 명령어 옵션 ps에서 주로 사용되는 명령어입니다. 기본 사용 옵션은 아래와 같습니다. 2. ps -ef 명령어 ps -ef 명령어는 모든 프로세스를 포멧 리스트로 출력해 줍니다. 2.1 출력 필드 ps 출력 필드 기본 설명입니다. 3. ps -aux 사용 3.1 ps -aux의 필드 4. 프로세스 상태…

  • [Ubuntu] apt 명령어 | apt-get 명령어 사용법과 차이점

    Red Hat 계열 리눅스에서는 패키지 관리를 위해 dnf 명령어를 사용하며, Debian 계열에서는 apt 명령어를 사용합니다. Ubuntu와 같은 Debian 기반 배포판에서는 두 명령어가 모두 사용 가능하지만, 목적과 사용 방식에 따라 약간의 차이가 있습니다. 이 글에서는 apt와 apt-get의 차이를 간단히 비교하고, apt 명령어에서 자주 사용하는 명령어 예제를 함께 정리해보겠습니다. ✅ apt & apt-get 명령어 차이점…

  • Linux: crontab 설정

    윈도우 스케줄러와 비슷한 개념의 리눅스 crontab은 주기적으로 홈페이지 및 DB 데이터를 백업해야 하거나 특정 시간에 로그 파일 등을 삭제해서 서버 유지 관리가 필요한 경우에 사용되는 스케줄러입니다. 크론탭은 특정 시간에 주기적으로 작업이 자동으로 이루어지도록 설정하는 것을 의미합니다. 1. 크론탭 자주 사용되는 명령어 vi 명령어처럼 편집할 수 있는 명령어입니다. 직접 편집한 후에 콜론(:) 입력 후…

  • Apache&Nginx에 Varnish Cache 설치 및 설정

    기존 Apache와 Nginx 조합의 서버에 Varnish Cache를 추가로 설치하고 적용 해 보도록 하겠습니다. Nginx에 Varnish Cache를 추가로 설정하는 작업이기 때문에 기존의 서버에 적용된 사항을 체크 해 보겠습니다. AlmaLinux release 9.4 버전에 Apache/2.4.57, nginx/1.28.0 , PHP 8.3.22를 사용하기 때문에, 설치는 varnish, collectd-varnish, varnish-modules 총 3개의 모듈 설치를 진행합니다. ✅ Varnish Cache 설치 php83-php-pecl-varnish의 경우는…

  • 리눅스 ls 명령어

    ls 명령어는 list의 약자이며, 리눅스 파일과 디렉토리를 볼 수 있는 명령어입니다. 파일의 종류와 파일의 크기, 만들어진 날짜 등의 정보를 확인할 수 있습니다. ✅ ls 명령어 기본 사용 방법 ls 명령어 사용 시 [파일 or 디렉토리]를 입력하지 않으면 현재 디렉토리를 검색합니다. ✅ ll 명령어(ls -l) ll 명령어는 일반적으로 리눅스에서 ls -l 명령어를 간편하게 쓰기…

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

    리눅스를 운영할 때 리눅스 커널 버전 확인과 배포판 버전을 확인해야 하는 경우가 있습니다. ✅ 리눅스 커널 버전 확인 명령어 리눅스에서 커널 버전을 확인하는 명령어는 uname 명령어를 사용해서 확인할 수 있습니다. 1. uname 명령어 uname -a는 모든 결과를 보여 줍니다. 2. /proc/version 에서 확인 3. hostnamectl ✅ 리눅스 배포판 버전 확인 리눅스의 배포판 버전을…

답글 남기기

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

Prove your humanity: 10   +   5   =