2.6. 인터넷 프로토콜 보안

2.6.1. Apache에서 mod_ssl을 이용하여 인증서 사용하기

절대로 루트 인증 기관 인증서를 Apache에서 사용하면 안된다. 왜냐하면 Apache의 Private Key는 암호문(Passphrase)을 제거해야만 사용할 수 있기 때문이다.

우선 인증 요구서를 발행해야 한다. 이 때 반드시 Common Name(CN)을 www.mysite.com과 같은 웹 도메인으로 해야 한다.

다음에 Apache가 정상적으로 작동하기 위해서 암호문을 제거해야 한다. 아래는 Private Key를 포함하고 있는 newreq.pem파일에서 암호문을 제거하는 방법이다.

openssl rsa -in newreq.pem -out wwwkeyunsecure.pem
   

Private Key가 제거된 상태이기 때문에 반드시 권한(Permission)등을 철저하게 체크해야 한다. 만약 다른 사람이 Private Key를 얻게 되면 그 사이트는 보안이 망가지게 되며, 그 사람이 악의로 키를 사용할 수 있다. 이 작업이 끝나면 newcert와 wwwkeyunsecure.pem을 Apache에서 사용하면 된다.

wwwkeyunsecure.pem과 newcert.pem을 /etc/httpd/conf/ssl/에 wwwkeyunsecure.pem 과 wwwcert.crt라는 이름으로 복사한다. (역주:이 때 wwwkeyunsecure.pem이 서버 유저에게 노출되지 않도록 퍼미션을 잘 관리한다.)

/etc/httpd/conf/ssl/ssl.default-vhost.conf 파일을 수정한다.

---- 
# Server Certificate: 
# Point SSLCertificateFile at a PEM encoded certificate. If 
# the certificate is encrypted, then you will be prompted for a 
# pass phrase. Note that a kill -HUP will prompt again. A test 
# certificate can be generated with `make certificate' under 
# built time. 
#SSLCertificateFile conf/ssl/ca.crt 
SSLCertificateFile wwwcert.crt
# Server Private Key: 
# If the key is not combined with the certificate, use this 
# directive to point at the key file. 
#SSLCertificateKeyFile conf/ssl/ca.key.unsecure
SSLCertificateKeyFile wwwkeyunsecure.pem 
----
   

httpd 프로세스를 죽이고(/etc/rc.d/init.d/httpd stop), 모든 프로세스가 죽었는지 확인한 후(killall httpd), 재시작한다. (etc/rc.d/init.d/httpd start)

(역주:Apache-SSL의 경우 Apache와 별도의 프로세스에서 돌아가며, httpd.conf에 SSL관련 설정이 내장되어 있다.)

2.6.2. IMAPS에서 인증서 사용하기

FIXME

2.6.3. POP에서 인증서 사용하기

FIXME

2.6.4. Postfix에서 인증서 사용하기

FIXME

2.6.5. Microsoft Key Manager로 키 생성과 서명하기

마이크로소프트 키 매니저(Microsoft Key Manager)에서 키를 만들기 위해서는 사용할 서비스(예컨데 IMAP이나 WWW)를 선택해야 한다. 새로운 키를 생성하려면 마법사(Wizard)를 사용하면 된다. 앞에서는 Common Name(CN)을 사이트 주소와 동일하게 적었으나, 여기서는 Distinguished Name을 다르게 적어도 된다. 마법사는 C:\NewKeyRq.txt 이란 파일에 인증 요구서를 저장하게 된다. 키 매니저는 그 키가 서명되지 않았다고 경고할 것이다.

/var/ssl 디렉토리에 그 파일을 받아와서 newreq.pem으로 이름을 바꾸고 서명한다.

CA.pl -sign
   

다음에 newcert.pem을 확인해보면 ---CERTIFICATE---부분과 다른 텍스트들이 있는 것을 볼 수 있다. ---CERTIFICATE---부분을 제외한 텍스트를 제거해야 비로소 키 매니저가 인식할 수 있게 된다. 아래와 같이 쉽게 제거할 수 있다.

openssl x509 -in newcert.pem -out newcertx509.pem
   

간단하게 텍스트 에디터를 이용해서 지워도 된다. (이 때 ---CERTIFICATE---부분이 지워지지 않도록 주의하자)

이런 작업을 거치면 newcertx509.pem에는 ---CERTIFICATE---부분만 남게 된다.

newcertx509.pem 파일을 키 매니저가 돌아가고 있는 컴퓨터로 전송하고, 마우스 오른쪽 버튼을 누르면 설치할 수 있다. 다음에 암호문을 입력하면 그 키는 완벽하게 작동하게 된다.