아파치 2.2 버전에 SSL 보안서버를 등록하는 방법이다. 아파치 배포 버전에 보면 Openssl이 포함된 설치 파일이 있다. 이 버전을 다운로드 받아 설치해야 한다. 아파치 2.2 버전에 SSL이 지원하는 않는 버전에서 mod_ssl.so 모듈을 다운로드 받아 아파치 모듈이 등록하는 방법은 mod_ssl.so 모듈이 아파치버전과 호환이 되어야 SSL이 적용된다.
※ SSL (Secure Socket Layer)
* 아파치 2.2 버전 mod_ssl.so 모듈 다운로드 ( 모듈을 따로 등록하는 방법은 추천하지 않음)
■ 인증서 생성
우선, 아파치 2.2버전에 SSL을 적용하기 전에 인증서와 개인키를 생성해야 한다. 아파치2.2버전은 Openssl 이라는 인증서 생성 프로그램을 같이 배포하고 있다. Openssl 프로그램이 생성한 인증서는 공인 기관의 인증서와 달리 브라우저에서 신뢰되지 않는 인증서로 분류하지만 일단 Openssl 로 인증서를 생성하는 방법이다.
1. {아파치 경로}/bin
bin 디렉토리에 가보면 openssl, openssl.exe, libeay32.dll, ssleay32.dll 파일이 있다. 여기서 libeay32.dll 과 ssleay32.dll 파일은 /windows/system32 폴더에 복사한다. 만약, openssl 파일이 없다면 openssl.exe 파일이 실행되지 않기 때문에 아파치 설치 경로에서 openssl 파일을 찾아서 bin 폴더로 복사한다. openssl 파일이 설정파일이다.
2. 명령어창으로 {아파치 경로}/bin 접근 csr 파일을 생성
> openssl req -config openssl.cnf -new -out test-server.csr
...
Enter PEM pass pharse : [개인키 생성 비번]
...
위 명령어를 실행 후 CSR에 필요한 항목을 모두 작성하면 test-server.csr 파일과 privkey.pem 파일이 생성된다.
※ .csr 파일
CSR( Certificate Signing Request)의 약자로 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서 파일이다.
CSR 은 다음과 같은 항목을 가지고 있다.
- 국가 (country) : KO
- 구/군 (state or province)
- 시/도 (locality or city)
- 회사명 (organization)
- 부서 (organizational unit)
- 도메인 주소 (common name)
3. 개인키 생성
> openssl rsa -in privkey.pem -out test-server.key
...
Enter pass phrase for privkey.pem : [위에서 입력한 비밀번호]
writing RSA key.
위 명령어를 수행하면 test-server.key 파일이 생성된다.
4. 인증서 생성
위 명령어를 수행하면 test-server.crt 파일이 생성된다.
이 두 파일을 {아파치 경로}/conf 디렉토리에 /ssl 디렉토리를 생성하여 복사한다. 이제 아파치 서버에는 인증서와 개인키가 있다. 이 키를 사용하여 아파치 서버가 SSL로 동작할 수 있게 아파치 서버의 httpd.conf 파일을 수정한다.
■ 아파치2.2 버전 httpd.conf 설정에 SSL 모듈 등록하기
1. mod_ssl.sl 모듈 로드하게 등록
2. SSL 설정 파일 포함시키기
3. {아파치 경로}/conf/extra/httpd-ssl.conf 파일 수정
#SSLCertificateFile "C:/server/Apache2.2/conf/server-dsa.crt"
# Server Private Key:
# If the key is noe combined with the certificate, use this
# directive to point at the key file. Keep you can configure
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile "C:/server/Apache2.2/conf/ssl/test-server.key"
#SSLCertificateKeyFile "C:/server/Apache2.2/conf/server-dsa.key"
아파치2.2 버전을 설치하면 {아파치 경로}/conf/extra 디렉토리에서 httpd-ssl.conf 파일을 수정한다. 인증서 위치와 키 파일의 위치를 수정한다.
설정 변경을 마치면 아파치 서버를 재 가동한다. 가동 후에 설정파일 로딩에 오류가 없고 "http://..." 과 "https://..." 의 두 프로토콜로 같은 페이지를 요청했을 때 똑같이 출력된다면 SSL이 동작하고 있는 것이다.
'운영체제 관리 > 톰캣(Tomcat)' 카테고리의 다른 글
windows-xp에 아파치-톰캣 연동 후 아파치 SSL 인증서로 톰캣 SSL 연동하기 (0) | 2010.04.07 |
---|---|
windows-xp에 아파치 - 톰캣 연동하기 (PHP, JSP 같이 사용하기) (0) | 2010.04.05 |
Windows-xp에 아파치2.2 PHP5.2 설치 후 연동방법 (0) | 2010.04.01 |
톰캣에 작성한 웹 어플리케이션 연결하기 (0) | 2009.11.20 |
톰캣 웹 컨테이너에서 서블릿 사용을 위한 web.xml 수정 (0) | 2009.11.20 |