2011. 2. 11. 15:23

APMSETUP7 버젼 기준입니다.


우선  인증서 파일이 필요하기에 간단하게 만들기 위한 방편으로 OpenVPN을 깔면 같이 깔리는 easy-rsa 를 사용하고자 합니다.
http://www.openvpn.se
이 글을 쓰는 시점에서의 최신 안정(stable)버젼은 openvpn-2.0.9-gui-1.0.3-install.exe 입니다.


0. 준비
C:\Program Files\OpenVPN\easy-rsa
cmd창을 열어서 위의 폴더로 이동한 다음 다음과 같이 타이핑 합니다.

init-config

vars

clean-all
(처음이면 상관없지만, 나중에 다시 이 명령을 하게되면 /keys 폴더내용이 통째로 날아가므로 미리 백업해주세요)


1. 기본 CA(인증기관??) 인증서 만들기...
build-ca
그냥 엔터 엔터 하시고...
Common Name 에는 Apache-CA 라고 입력합니다. (다른거로 임의로 주셔도 상관 없습니다.)


2. 서버에서 사용할 인증서 및 KEY 생성
build-key-server server
역시 그냥 엔터 엔터 하고...(단, CA 작성시 내용을 기술 하셨다면 똑같이 하셔야 합니다.)
Common Name 에는 자신이 사용할 도메인주소를 입력하고 나머지는 똑같이 입력합니다
(도메인 주소는 localhost, 127.0.0.1 mydomain.com 등이 될수 있습니다)

하단에 y/n 묻는게 나오는데 당연히 y 를 선택합니다.


정상적으로 완료 시, /keys 폴더 안에

ca.crt
ca.key
servet.crt
server.csr
server.key
... 
이런 파일들이 있을겁니다.

아파치의 conf 폴더에
server.crt
server.key
위 2개의 파일을 복사 합니다.


httpd.conf 파일 내용
LoadModule ssl_module modules/mod_ssl.so

...

Include conf/extra/httpd-ssl.conf
위 2줄의 주석을 제거 합니다.


extra/httpd-ssl.conf

##
## SSL Virtual Host Context
##

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "C:/APM_Setup/htdocs"
ServerName localhost:443
ServerAdmin
webmaster@localhost
ErrorLog "C:/APM_Setup/Server/Apache/logs/error_log"
TransferLog "C:/APM_Setup/Server/Apache/logs/access_log"

...

CustomLog "C:/APM_Setup/Server/Apache/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

진하게 표시된 부분을 찾아서 자신의 환경에 맞도록 수정 합니다.
(제 경우 이 상태로 로컬 주소인 192.168.0.3 으로 테스트 하였는데 정상적으로 표시 됩니다.)


그리하여 테스트를 위해 https:// 로 접속을 시도해 보았습니다.
보안 인증서에 문제가 있다...?

중요한건 2번째 라인이죠..

이 웹사이트에서 제시한 보안 인증서는 신뢰할 만한 인증기관에서 발급한 것이 아니다...

그렇습니다... OpenSSL 로 임의로 발급한 것이기 때문에 인증기관에 등록이 되어있지 않으니 신뢰할수 없다는 경고입니다.

1.인증기관
2.도에인
3.인증서 유효기간
이 3가지를 충족해야 저 시뻘건 X방패 경고가 뜨지 않는데 우리는 1번 항목을 충족하지 못하고 있습니다.

뭐 돈내고 인증기관에 등록하시면 저 메시지는 안뜹니다.

그냥 써도 저 메시지 뜰뿐... 암호화 기능은 정상적으로 수행됩니다.

일단 https 접속을 위해서
이 웹사이트를 계속 탐색합니다(권장하지 않음) <- 이것을 클릭합니다.

주소 부분을 보면 정확하게 https:// 로 시작함을 확인할 수 있습니다.

다만... 시뻘건 색으로 뜰 뿐이죠;;

페이지 우클릭 후 속성 들어가보면... 암호화가 되고있음을 알 수 있습니다.
여기까지 https 설정은 끝입니다.



여기서부터는 추가 작업...
여기서 부터는 각 개별 클라이언트에서 설정 잡아야 하는 부분입니다.

저 시뻘건 문구 뜨지 않고 자물통이 보이도록 해 보는것이 목표입니다.

현재 우리가 충족하지 못한 항목이 1번의 신뢰된 인증기관에 등록... 되지 않았다는게 문제지요..

내 익스플로러에 저 인증서의 발급기관 CA 를 신뢰된 기관으로 등록함으로써 해결할 수 있습니다.
(이것은, 등록한 컴퓨터에서만 동작하고, 다른 컴퓨터에서는 마찬가지로 별도로 각각 개별로 등록 해야 합니다.)


익스플로러 설정으로 들어갑니다.
여기서 서버 인증서 작업전에 먼저 만들었던 CA 인증서를 등록합니다.


찾아보기를 눌러서 신뢰할 수 있는 루트 인증기관에 해당 인증서가 설치될 수 있도록 합니다.


우리가 임의로 만든 기관 Apache-CA 에 대한 출처를 확인할 수 없다고 합니다. 뭐 당연하겠지요 임의로 만든거니..;;
당연히 예 를 눌러 설치 합니다.


우리가 만든 임의의 기관 Apache-CA 가 다른 신뢰업체들과 어깨를 나란히? 하고 있는 모습입니다.


모든 익스플로러를 닫고 다시 접속을 시도하면??
아까 까지의 시뻘건 경고는 사라지고 정상적으로 위에 자물통? 아이콘이 채워져 있는것을 확인 할 수 있습니다. 





p.s. 이것은 어디 까지나 개인 컴퓨터에 강제로 Apache-CA 라는 인증서를 신뢰할수 있는 루트 기관에 포함시켜서 이렇게 보이도록 한 것이며, 다른 컴퓨터에서는 아까와 같은 시뻘건 화면이 뜹니다.

이렇게 뜨게 하고 싶으시다면 각각 CA 인증서 설치를 해 주거나...

아니면...

돈... 돈내고 진짜 신뢰된 루트 인증기관에 등록 하는 방법 뿐입니다.
Verisign 등등... 업체들 많죠...;;
비용이 얼마나 드는지는 모름니다 -_-;;



p.s. 2 직접 해보고 작성한 글 이기에 뭐 안되는 경우가 있으면 댓글 남겨주세요... 시간날때 확인해보고 답 드리도록 하겠습니다...
잘못된 내용 지적도 받아요~~ ^^

Posted by 해비