** 이 문서의 내용대로 설정을 하면 아웃룩 익스프레스에서는 정상적으로 사용이 가능하지만 이상하게도 아웃룩에서는 안된다.
여러 사람들이 PC에서 Outlook Express와 같은 메일러를 이용하여 메일 서버로부터 메일을 받아 온다. 그러나 이를POP3를 이용하여 가져올 경우 패스워드가 그대로 네트워크에 노출되게 된다. 이에 대한 해결책으로 기존의 POP3에TLS/SSL을 추가한 Secure POP3가 있다.
Qpopper는 4.0 이상의 버전에서 부터 TLS/SSL 기능을 제공하고 있다. 여기서는 Qpopper를 이용하여 Secure POP3 서비스를 사용하기 위한 설정과 인증서 발급 및 설치 방법을 설명하고자 한다.
- OpenSSL 설치 (openssl-0.9.7c 또는 openssl-0.9.6i)
설치방법은 너무 간단하여 생략한다. 그냥 설치하면 /usr/local/ssl 아래에 설치된다.
- Qpopper 설치 (qpopper-4.0.5)
% ./configure --with-openssl=/usr/local/ssl
% make
# make install
"/etc/inetd.conf"에 다음을 추가한다.
# QPOPPER - pop3 + TLS/SSL
pop3 stream tcp nowait root /usr/local/sbin/popper qpopper -s -t /var/adm/pop3
pop3s stream tcp nowait root /usr/local/sbin/popper qpopper -s -t/var/adm/pop3 -f /usr/local/etc/qpopper.conf -R
"/etc/services"에 pop3s에 995번 포트를 할당한다.
# pkill -HUP inetd
위에서 -t 옵션은 로그 파일을 지정하는것이고 -R 옵션은 Reverse DNS를 disable 시키는 옵션이다.
/usr/local/etc/qpopper.conf 설정
set clear-text-password = tls
set tls-support = alternate-port
set tls-version = SSLv23
set tls-server-cert-file = /etc/mail/certs/cert.pem
위 설정 내용에서 첫번째 줄에서는 평문 비밀번호를 tls 세션에서만 전달하라고 지정했고 두번째에서는 110번 포트가 아닌 다른포트를 사용하도록(일반적으로 995번) 지정했다. 세번째 줄에서는 SSL 버전 2와 3 중에 하나를 사용하도록 했고 네번째줄에서 개인키와 인증키 파일의 위치를 지정했다.
- 메일 서버 인증서 발급 및 설치
우선 주의할 점은 여기서 다루는 인증서에는 루트 CA 인증서(CA.crt)와 메일 서버인증서(Signed_Req.pem) 2종류가 있다는 점이다. 2종류의 혼동을 피하기 위하여 서로 다른 색을 사용하여 표기하기로하겠다. 메일 서버 인증서와 비밀키를 "/etc/mail/certs/" 아래에 저장한다고 가정하자.
# mkdir -p -m665 /etc/mail/certs
# chown root:mail /etc/mail/certs
# chmod 660 /etc/mail/certs
* 루트 CA 인증서 (Root Certificate: CA.crt) 만들기
루트 CA 인증서는 자기 자신의 비밀키를 이용하여 서명을 만든다 (self signed certificate).
% /usr/local/ssl/bin/openssl req -x509 -days 365 -newkey rsa:1024 -keyout CA.key -out CA.crt
-x509: self signed certificate 생성
-days: 루트 CA 인증서 유효기간 (365일)
-newkey: 사용할 키의 종류와 길이 (RSA 1024bit)
-keyout: 비밀키(private key) 저장 (CA.key)
-out: 인증서 저장 (CA.crt = 공개키(public key) + 서명(sign))
* 인증서 요청서 (Certificate Request: Req.pem) 만들기
# /usr/local/ssl/bin/openssl req -new -nodes -out Req.pem -keyout /etc/mail/certs/cert.pem
-new: 새로운 인증서 요청서 발급
-nodes: 비밀키를 암호화하지 않는다.
-out: 인증서 요청서 저장 (Req.pem = 공개키)
-keyout: 비밀키 저장 (cert.pem)
Note: OpenSSL이 요구하는 정보 중 Common Name은 반드시 메일 서버의 호스트명을 입력해야 한다. (예: theory.snu.ac.kr)
* 메일 서버 인증서 발급하여 설치하기
% /usr/local/ssl/bin/openssl x509 -req -days 365 -CA CA.crt -CAkey CA.key -in Req.pem -out Signed_Req.pem -CAcreateserial
-req: 입력으로 인증서 요청서를 받는다.
-days: 발급할 인증서 유효기간 (365일)
-CA: 서명에 사용할 CA 인증서 (CA.crt)
-CAkey: CA 인증서 비밀키 (CA.key)
-in: 인증서 요청서 (Req.pem)
-out: CA 비밀키를 이용하여 만든 메일 서버 인증서 (Signed_Req.pem)
-CAcreateserial: 만약 존재하지 않는다면 CA 일련 번호 파일 만들기
* 메일 서버 인증서를 비밀키 뒤에 붙여서 설치한다.
# /bin/cat Signed_Req.pem >> /etc/mail/certs/cert.pem
- 루트 CA 인증서 설치 ( 이 과정을 안해도 아웃룩 익스프레스에서 메일을 받을 수 있다)
이제 루트 CA 인증서를 PC에 설치해야 이를 이용하여 메일 서버 인증서를 인증할 수 있게 된다. 위에서 만든 CA.crt 파일을 PC로 가져와서 마우스 오른쪽 클릭 후 인증서 설치에서 PC에 저장하면 된다.
여러 사람들이 PC에서 Outlook Express와 같은 메일러를 이용하여 메일 서버로부터 메일을 받아 온다. 그러나 이를POP3를 이용하여 가져올 경우 패스워드가 그대로 네트워크에 노출되게 된다. 이에 대한 해결책으로 기존의 POP3에TLS/SSL을 추가한 Secure POP3가 있다.
Qpopper는 4.0 이상의 버전에서 부터 TLS/SSL 기능을 제공하고 있다. 여기서는 Qpopper를 이용하여 Secure POP3 서비스를 사용하기 위한 설정과 인증서 발급 및 설치 방법을 설명하고자 한다.
- OpenSSL 설치 (openssl-0.9.7c 또는 openssl-0.9.6i)
설치방법은 너무 간단하여 생략한다. 그냥 설치하면 /usr/local/ssl 아래에 설치된다.
- Qpopper 설치 (qpopper-4.0.5)
% ./configure --with-openssl=/usr/local/ssl
% make
# make install
"/etc/inetd.conf"에 다음을 추가한다.
# QPOPPER - pop3 + TLS/SSL
pop3 stream tcp nowait root /usr/local/sbin/popper qpopper -s -t /var/adm/pop3
pop3s stream tcp nowait root /usr/local/sbin/popper qpopper -s -t/var/adm/pop3 -f /usr/local/etc/qpopper.conf -R
"/etc/services"에 pop3s에 995번 포트를 할당한다.
# pkill -HUP inetd
위에서 -t 옵션은 로그 파일을 지정하는것이고 -R 옵션은 Reverse DNS를 disable 시키는 옵션이다.
/usr/local/etc/qpopper.conf 설정
set clear-text-password = tls
set tls-support = alternate-port
set tls-version = SSLv23
set tls-server-cert-file = /etc/mail/certs/cert.pem
위 설정 내용에서 첫번째 줄에서는 평문 비밀번호를 tls 세션에서만 전달하라고 지정했고 두번째에서는 110번 포트가 아닌 다른포트를 사용하도록(일반적으로 995번) 지정했다. 세번째 줄에서는 SSL 버전 2와 3 중에 하나를 사용하도록 했고 네번째줄에서 개인키와 인증키 파일의 위치를 지정했다.
- 메일 서버 인증서 발급 및 설치
우선 주의할 점은 여기서 다루는 인증서에는 루트 CA 인증서(CA.crt)와 메일 서버인증서(Signed_Req.pem) 2종류가 있다는 점이다. 2종류의 혼동을 피하기 위하여 서로 다른 색을 사용하여 표기하기로하겠다. 메일 서버 인증서와 비밀키를 "/etc/mail/certs/" 아래에 저장한다고 가정하자.
# mkdir -p -m665 /etc/mail/certs
# chown root:mail /etc/mail/certs
# chmod 660 /etc/mail/certs
* 루트 CA 인증서 (Root Certificate: CA.crt) 만들기
루트 CA 인증서는 자기 자신의 비밀키를 이용하여 서명을 만든다 (self signed certificate).
% /usr/local/ssl/bin/openssl req -x509 -days 365 -newkey rsa:1024 -keyout CA.key -out CA.crt
-x509: self signed certificate 생성
-days: 루트 CA 인증서 유효기간 (365일)
-newkey: 사용할 키의 종류와 길이 (RSA 1024bit)
-keyout: 비밀키(private key) 저장 (CA.key)
-out: 인증서 저장 (CA.crt = 공개키(public key) + 서명(sign))
* 인증서 요청서 (Certificate Request: Req.pem) 만들기
# /usr/local/ssl/bin/openssl req -new -nodes -out Req.pem -keyout /etc/mail/certs/cert.pem
-new: 새로운 인증서 요청서 발급
-nodes: 비밀키를 암호화하지 않는다.
-out: 인증서 요청서 저장 (Req.pem = 공개키)
-keyout: 비밀키 저장 (cert.pem)
Note: OpenSSL이 요구하는 정보 중 Common Name은 반드시 메일 서버의 호스트명을 입력해야 한다. (예: theory.snu.ac.kr)
* 메일 서버 인증서 발급하여 설치하기
% /usr/local/ssl/bin/openssl x509 -req -days 365 -CA CA.crt -CAkey CA.key -in Req.pem -out Signed_Req.pem -CAcreateserial
-req: 입력으로 인증서 요청서를 받는다.
-days: 발급할 인증서 유효기간 (365일)
-CA: 서명에 사용할 CA 인증서 (CA.crt)
-CAkey: CA 인증서 비밀키 (CA.key)
-in: 인증서 요청서 (Req.pem)
-out: CA 비밀키를 이용하여 만든 메일 서버 인증서 (Signed_Req.pem)
-CAcreateserial: 만약 존재하지 않는다면 CA 일련 번호 파일 만들기
* 메일 서버 인증서를 비밀키 뒤에 붙여서 설치한다.
# /bin/cat Signed_Req.pem >> /etc/mail/certs/cert.pem
- 루트 CA 인증서 설치 ( 이 과정을 안해도 아웃룩 익스프레스에서 메일을 받을 수 있다)
이제 루트 CA 인증서를 PC에 설치해야 이를 이용하여 메일 서버 인증서를 인증할 수 있게 된다. 위에서 만든 CA.crt 파일을 PC로 가져와서 마우스 오른쪽 클릭 후 인증서 설치에서 PC에 저장하면 된다.

comments
comments rss (+댓글 쓰러가기)