본문 바로가기

개발이야기

인증서 설치하기

RPM 찾기 - www.rpmfind.net

 

아파치 웹 서버 설정

- 보안 모듈 설치 (SSL)

 

rpm -Uvh mod_ssl-2.0.46-25.ent.i386.rpm

-> 아마존의 경우 : yum install mod_ssl

-> mod_ssl-2.2.29-1.4.amzn1.x86_64 설치

 

root] # ls httpd-2.0.54.tar.bz2

root] # tar jxf httpd-2.0.54.tar.bz2

root] # cd httpd-2.0.54

root] # ./configure --enable-ssl

root] # pwd

/usr/local/apache2/bin

root] # ./httpd -l

compiled in modules:

 

/etc/httpd/conf/

테스트키 생성 확인

rm ssl.key/server.key

rm ssl.crt/server.crt

 

키생성절차

cd /usr/share/ssl/certs/

make genkey

Enter pass phrase: <- 암호 입력

cd /etc/httpd/conf

ls -al ssl*

more ssl.key/server.key

 

키 생성

보안 서버 시작할 때마다 키의 생성 시 입력한 암호를 매번 입력해야 하는데, 보안 서버의 시작 암호를 입력하지 않으려면 사용한 make geneky 명령 대신 다음 키 생성하면 됨.

# /usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key

# chmod go-rwx /etc/httpd/conf/ssl.key/server.key

 

server.key 분실시 재발급 (추가 비용)

server.key 파일은 루트 사용자만 소유하도록 변경 후 안전한 곳에 보관 필요

 

인증 기관으로 key 전달용 진행

 

/usr/share/ssl/certs 이동

make certreq

/usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key ...

password :

 

정상 생성 확인

pwd

/etc/httpd/conf/ssl.csr

 

이 인증서 요구서를 인증기관의 웹사이트에 전달

이메일로 받을 수 있음.

 

이 인증서를 /etc/httpd/conf/ssl.crt/server.crt로 저장

 

정상 설치 이후 httpd 443으로 기동

conf/httpd.conf 에서 수정

웹서버 재기동

 

참고: openssl 암호화 - 대칭키: 암호화를 위한 키 동일

암호화: openssl enc -e -des3 -salt -in plaintext.txt -out ciphertext.bin;

복호화: openssl enc -d -des3 -in ciphertext.bin -out plaintext2.txt;

 

비대칭키(공개키) : 키가 쌍으로 존재

openssl genrsa -out private.pem 1024; -> 비밀키 생성

openssl rsa -in private.pem -out public.pem -outform PEM -pubout; -> 공개키 생성

echo 'coding everybody' > file.txt -> 대상 파일 생성

openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl; -> 공개키를 사용하여 암호화

openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt -> 비밀키(개인키)를 통한 암호화

 

CA(Certificate authority) 인증 기관

브라우저가 선정한 목록을 자사의 브라우저에 탑재

개인에게 공개키 배분하는 역할 개인브라우저에서 서버 접속시 서버에서는 비밀키가지고 인증

 

인증서는 반대 개념: 공개키를 배포하고 접속을 위해서는 개인들이 가지고 있는 비밀키로 접속

이는 https는 보안을 하면 되는 것이고, 인증서는 개인 접속의 확인이 필요하기 때문임.

 

인증서 내용

- 서비스 정보 (도메인)

- 서버측의 공개키

 

https로 접속을 하면 인증서 전달

'개발이야기' 카테고리의 다른 글

[Linux] rpm 패키지 설치/삭제하기  (1) 2018.09.20
[인프라][리눅스] 압축 풀기 / 압축하기 tar  (0) 2018.09.20
svn 설치 절차  (0) 2018.09.20