보안서버 구축 - ssl
Linux/Apache : 2007/04/20 10:53
2.2 아파치 서버에서의 설치 과정
가. 아파치 서버에 Openssl과 MOD_SSL의 설치 방법
아파치 서버에서 SSL 통신을 가능하게 하기 위해서는 OpenSSL과
mod_ssl이 필요합니다.
우선, 현재 서비스 중인 Apache 서버에 Mod_SSL이 설치되어 있는지를
httpd -l 옵션을 사용하여 Mod_SSL.c 또는 Mod_SSL.so가 있는지 확인하시기
바랍니다. 만일 설치되어 있다면 ‘나. 개인키 생성 및 CSR 생성 방법’ 과정으로
이동하시기 바랍니다.
<그림 3-3> Mod-SSL 설치 확인 예
OpenSSL은 최신버전으로 설치하는 것을 권장하지만 서버의 환경에
따라서 적합한 버전으로 설치하는 것이 좋습니다. 서버 환경에 맞는
OpenSSL 버전은 www.openssl.org 에서 확인할 수 있습니다.
또한 Mod_SSL은 반드시 Apache 버전에 맞는 것을 설치하셔야 하며
www.modssl.org 에서 Apache 버전을 확인 한 후 그에 맞는 mod_SSL을
다운받아 설치하시기 바랍니다.
① OpenSSL의 설치(www.openssl.org )
압축풀기
$ gzip -cd openssl-0.9.6.tar.gz | tar xvf -
$ ./config$ make$ make installconfig
☞ prefix를 주지 않았을 때에는 /usr/local/ssl 디렉토리에 설
치가 됩니다.
다른 디렉토리에 설치를 하고자 한다면 다음과 같이 합니다.
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
☞ OpenSSL의 실행파일은 /usr/local/ssl/bin에 설치되고
인증서비스를 위한 파일들은/usr/local/openssl 아래의
디렉토리에 생성됩니다.
② mod_ssl의 설치 (www.modssl.org )
압출풀기
$ gzip -cd apache_1.3.19.tar.gz | tar xvf
$ gzip -cd mod_ssl-2.8.1-1.3.19.tar.gz | tar xvf
파일의 다운로드와 압축풀기가 끝나면 mod-ssl 설정을 합니다.
mod-ssl 설정
$ cd mod_ssl-2.8.1-1.3.19
$ ./configure \
--with-apache=../apache_1.3.19 \
--with-ssl=../openssl-0.9.6 \
--prefix=/usr/local/apache
③ Apache Server 설치(www.apache.org )
$ cd ../apache_1.3.x
$ SSL_BASE=../openssl-0.9.6 \
./configure \
--prefix=/usr/local/apache \
--enable-module=ssl \
$ make
$ make certificate
$ make install
나. 개인키 생성 및 CSR 생성 방법
① 랜덤 넘버 생성
$ openssl md5 * > rand.dat
② 키 쌍 생성
$ openssl genrsa -rand rand.dat -des3 -out 1024 > key.pem
☞ 개인키 비밀번호를 입력하며 반드시 기억해야 합니다. (암호를
분실할 경우 SSL 사용을 위한 apache를 구동할 수 없습니다)
③ 생성된 키 쌍을 이용하여 CSR생성
$ openssl req -newkey key.pem > csr.pem
☞ 여기서 key.pem은 단계 ②에서 생성한 키 이름이며 csr.pem은
출력 CSR 파일의 이름입니다.
다음 정보를 입력하라는 메시지가 나타납니다. (모든 내용은 영문으로
작성해야 하며, 아래는 입력 예입니다)
Country(국가 코드) KR
State/province (시/도의 전체 이름) Seoul
Locality(시,구,군 등의 이름) Songpa-gu
Organization(회사 이름) test (이니셜 또는 약자 금지. Full name입력)
Organization Unit(부서명) : team
Common Name (host name + domain name) : cert.kisa.or.kr
"추가 속성"을 입력하라는 메시지가 나타나면 그냥 넘어가셔도 무방합니다.
④ CSR 제출
생성된 CSR(예:csr.pem)의 내용은 다음과 같습니다.
-----BEGIN CERTIFICATE REQUEST-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEh
MB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNAQkB
FgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV1LQG
fcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE REQUEST-----
CSR 내용을 인증기관에게 메일로 송부하시던지 인증서 신청화면에
붙여넣으신 후 인증서 신청을 진행하시면 됩니다.
인증기관의 발급 절차에 따라서 인증서가 발급됩니다.
다. 인증서 설치 방법
① 메일로 받은 인증서를 복사하여 파일로 저장합니다.(예: Cert.pem)
-----BEGIN CERTIFICATE-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0Z
TEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNA
QkBFgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV
1LQGfcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwE
AAaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE-----
② 아파치 서버에 적절한 위치에 저장합니다.
③ 환경설정 파일(httpd.conf 또는 ssl.conf)을 수정합니다.
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot /Apache/htdocs
ServerName @@ServerName@@:443
ServerAdmin cs@crosscert.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLCertificateFile /Apache/ssl/cert.pem → 인증서 파일 경로
SSLCertificateKeyFile /Apache/ssl/key.pem → 개인키 파일 경로
④ 아파치를 재구동합니다.
./apachectl startssl
아파치 서버에서 SSL을 사용하기 위한 시작 명령어인 startssl을
실행하면 개인키의 비밀번호를 묻는데, 이 비밀번호는 이전의
설치과정 중 ‘나. 개인키 생성 및 CSR 생성 방법’ 중 ② 키 쌍 생성시
입력한 개인키 비밀번호를 입력하시면 됩니다.
이제 SSL 인증서의 설치가 완료되었습니다. Ⅵ장으로 이동하셔서
실제 웹페이지를 어떻게 수정해야 하는지 알아보겠습니다.
Trackback Address :: http://jjangu.pe.kr/blog/trackback/420
guide_v09.pdf



