Apache-SSL

Last updated: June 20, 2002


IMPORTANT! Please read this Security Advisory - June 20, 2002

IMPORTANT! Please read this Security Advisory - March 1, 2002


차례


주요 특징

Apache-SSL이란?

Apache-SSLApacheSSLeayOpenSSL을 기반으로 하는 보안 웹서버이며 페이지상에 Copyright만 명시한다면 사용 목적이 상업적인지 비상업적인지의 여부에 관계없이 자유롭게 사용할 수 있습니다(이를 BSD 형식의 license라 합니다). 해당 license는 Apache 0.8.15버전부터 사용되고 있습니다.

다운로드

파일 : apache_1.3.19+ssl_1.44.tar.gz
배포일 :
Jun 4, 2001

openssl-0.9.5a나 그 이후의 버전이 필요한 경우에는 여기서 구할 수 있습니다.

Apache-SSL 소스 패치는 다음의 사이트에서 구할 수 있습니다.

패치를 구할 수 있는 FTP 미러 사이트의 목록입니다.  


패치를 구할 수 있는 HTTP 미러 사이트의 목록입니다. 

특정 O/S 버전의 목록입니다.  

수취해야하는 파일

아파치(1.2.0+ 과 1.3.0+ 버전에서 가능) 패치와 README, 설정 예제, 별도의 소스 파일을 얻게 됩니다. 패치는 아파치 소스에 적용된 후에 컴파일 되고, SSLeay(버전 0.5.1b+) 또는 OpenSSL과 연결됩니다. 변경된 소스는 Apache-SSL 뿐만아니라 표준 Apache 또한 컴파일할 수 있습니다.

최신버전 다운로드

메일링 리스트에 가입하시면 최신 버전이 나올 때마다 업그레이드에 대한 내용을 메일로 보내드립니다.

버그 리포팅

프로그램 상의 버그를 발견했거나 개선사항이 있는 경우에는 ben@algroup.co.uk로 메일을 주시기 바랍니다.

상업적 지원

ApacheApache-SSL 둘다 상업적인 지원이 가능합니다. 관심있으시면 ben@algroup.co.uk로 메일을 주시기 바랍니다.

전자 인증서

페이지에 링크를 요청한 인증서 발급회사의 목록입니다. 저는 여기있는 회사들과 아무 관계도 없고 특정 업체를 따로 추천하지도 않습니다.

Apache-SSL 인증서의 발급이 가능한 업체 목록 :

PGP Key

ben@algroup.co.uk으로 메일을 주시는 경우에 제 PGP키를 사용하실 수 있습니다. 꼭 필요한 경우가 아니라면 이용을 삼가해 주시기 바랍니다.

FAQ

Apache-SSL이 한동안 업데이트 되지 않은걸로 알고있는데 더 이상 이용되지않아서 그런건가요?

아닙니다, 그만큼 따로 개선할 필요가 없다는 얘기죠. 저희는 분명한 버그가 발견되거나 새 버전의 Apache가 나왔을 때, 또는 새로운 기능에 대해 요청을 받았을 때에만 업데이트를 합니다.

왜 내 브라우저는 Apache-SSL에 접속하면 계속 멈춰있죠?

https: 대신에 http://를 사용했기 때문입니다.

또, 에러 로그에서 다음과 메시지가 나오는 경우에도 같은 문제점으로 볼 수 있습니다.

SSL_Accept failed error:140760EB:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol

패치가 적용이 안되는데, 뭐가 잘못된겁니까?

다음과 같은 결과가 나온다면,

$patch < SSLpatch
  Looks like a new-style context diff.
  File to patch:
패치가 구 버전이기 때문에 나타나는 결과입니다. 2.1 이상의 버전으로 바꾸고 다시 시도해 보십시오.

HTTP가 포트(port) 80을 쓰는건 아는데, HTTPS는 어떤 포트를 씁니까?

HTTPS는 아무 포트에서나 돌릴 수 있지만, 대부분의 브라우저가 기본으로 찾는 표준 포트는 443입니다. 다음과 같이 URL에 포트번호를 지정하면 브라우저가 다른 포트를 찾도록 설정할 수 있습니다. https://secure.server.hell:666

한 머신에서 보안(secure), 비보안(non-secure) 서버를 같이 돌리고 싶은데 가능한가요?

두가지 방법이 있습니다. 두개의 서버 대몬을 돌리거나, 한 대몬에서 두가지 서비스를 동시에 하면 됩니다. 보통은 간단하게 한 서버를 돌리고 SSL이 필요없는 부분은 가상 호스트로 그 기능을 꺼 버리는 경우가 많습니다. 만약 두개의 대몬을 돌리는 경우에는 각 서버가 정해진 포트(보통 비보안은 포트 80, 보안은 443)에만 연결되도록 해야 합니다. 하나의 대몬만 돌리고 싶다면, 어떻게 설정하는지 예제 설정을 참고해주시기 바랍니다.

이제 막 서버를 설치 했는데 테스트 인증서는 어떻게 만들죠?

1. 키(key)와 요청(request)를 만듭니다.

  openssl req -new > new.cert.csr

2. 키에서 패스문(passphrase)를 지웁니다.

  openssl rsa -in privkey.pem -out new.cert.key

3. 요청(request)을 서명된 증명(cert)으로 바꿉니다.

  openssl x509 -in new.cert.csr -out neww.cert.cert -req -signkey new.cert.key -days 365

4. 위 결과를 Apache-SSL의 지시자로 다음과 같이 사용합니다.

  SSLCertificateFile /path/to/certs/new.cert.cert
  SSLCertificateKeyFile /path/to/certs/new.cert.key

클라이언트 증명서는 어떻게 만듭니까?

1. 위 처럼 CA 증명/키 쌍을 만듭니다.

2. CA 키로 고객 요청에 서명한다.

  openssl x509 -req -in client.cert.csr -out client.cert.cert -signkey my.CA.key -CA my.CA.cert -CAkey my.CA.key -CAcreateserial -days 365 

3. 'client.cert.cert' 파일을 신청자에게 전달합니다.

4. Apache-SSL은 다음 내용을 입력하면 해당 증명서의 확인이 가능합니다.

  SSLCACertificateFile /path/to/certs/my.CA.cert
  SSLVerifyClient 2

내 CGI로 어떻게 클라이언트 증명에 접근할 수 있죠?

릴리즈 apache_1.3.2+ssl_1.27 이상에서는 다음 지시자를 사용합니다.

  SSLExportClientCertificates
이 지시자를 입력하면 클라이언트 증명의 내용을 포함하는 환경변수가 생성됩니다. 더 자세한 사항은, docs 섹션의 SSLExportClientCertificates를 보시면됩니다. 작동 예제는 https://www.apache-ssl.org/cgi/cert-export입니다.

FrontPage98 Extensions with Apache-SSL은 어떻게 설치합니까?

Bertrand Renuart가 이에 대한 자세한 내용을 http://www.itma.lu/howto/apache에 기술해 놓았습니다.

Verisign 인증서를 설치할 때, 왜 "getca", "getverisign"을 찾을 수 없는거죠?

Verisign의 최근 아파치SSLhttp://www.verisign.com/support/install/apache/v01.html에서 찾으실 수 있습니다.

어떻게 하면 Apache-SSL을 공유가능한 (DSO) 모듈로 돌릴 수 있나요?

우선, 다음과 같이 소스내의 공유모듈을 설정합니다.

 ./configure --enable-shared=apache_ssl

그리고 httpd.conf에서 모듈을 활성화 시킵니다.

  LoadModule apache_ssl_module modules/libssl.so

일반적인 컴파일 에러 

  gcc -c  -I../os/unix -I../include -I/usr/local/ssl/include   -funsigned-char -DTARGET=\"httpsd\" -DAPACHE_SSL `../apaci` -DAPACHE_SSL buff.c
  buff.c: In function `ap_read':
  buff.c:259: structure has no member named `stats'
  buff.c:267: structure has no member named `stats'
  buff.c:268: structure has no member named `stats'
  buff.c:269: structure has no member named `stats'
  buff.c:271: structure has no member named `stats'
  buff.c: In function `ap_write':
  buff.c:346: warning: passing arg 2 of `SSL_write' discards `const' from pointer target type
  *** Error code 1
이 경우에는 OpenSSL을 업그레이드 해야 합니다. 

Y2K 문제는 없나요?

Apache-SSL 하부의 컴포넌트에는 날짜와 관련된 내용이 없어서 시스템의 전체적인 컴플라이언스는 영향을 받지 않습니다. 아파치에서는 Y2K에 대해서 이렇게 이야기 하고 있습니다. OS와 하드웨어, 다른 모듈을 검사해보시는 것이 좋습니다.

아파치는 제대로 구동되었는데, 보안된 페이지를 볼떄 다음과 같은 에러가 납니다

만일 다음과 같은 에러로그가 난다면

  [Fri Apr 28 16:24:08 2000] [error] SSL_accept failed
  [Fri Apr 28 16:24:08 2000] [error] error:24064064:random number generator:SSLEAY_RAND_BYTES:prng not seeded
  [Fri Apr 28 16:24:08 2000] [error] error:04069003:rsa routines:RSA_generate_key:BN lib
  [Fri Apr 28 16:24:08 2000] [error] error:1409B444:SSL routines:SSL3_SEND_SERVER_KEY_EXCHANGE:error generating tmp rsa key

random number generator가 필요합니다(OpenSSL 0.9.5a 버전부터 지원가능). 상세한 정보는http://www.apache-ssl.org/docs.html#SSLRandomFile에 있습니다.

어떻게 하면 Apache-SSL과 EGD를 같이 사용할 수 있죠?

Ben Srour 가 여기에 설명해 놓았습니다. 조작과정은 Unix 호환기종과 매우 유사합니다.  

메일링 리스트

Apache-SSL 메일링 리스트는 총 2개가 있습니다. Apache-SSL 동호회로부터 일반적인 지원을 원하시는 경우에는 apache-ssl-help@lists.aldigital.co.uk로 메일을 보내시면 됩니다. 단, 문의 메일을 보내시기 전에 궁금하신 내용에 대한 답이 archive에 나와 있는지 확인해주시기 바랍니다.

새로운 제품에 대한 안내나 공지사항만을 받아보길 원하신다면 apache-sslannounce-help@lists.aldigital.co.uk를 참조해주시기 바랍니다.

Apache-SSL과 mod_SSL

Apache-SSL과 mod_SSL을 혼동하시는 분들이 많습니다. 정확하게 말씀드리자면 mod_SSLApache-SSL의 단순한 대체품이 아니라 Apache가 Netscape/Microsoft 서버의 대안이 되었듯이, 또 Linux가 FreeBSD의 대안이 되었듯이 Apache-SSL의 대안으로서의 역할을 합니다. 어떤 것을 선택해서 실행하는지는 사용자의 자유입니다. mod_ssl은 흔히 부산품으로 알려져있는데, 원래 Apache-SSL로부터 나왔지만 별도의 재개발 과정을 거쳤기 때문에 코드 자체로만보면 Apache와 별 관계는 없습니다.

관련링크

미러 웹사이트

제작자

본 내용은 Apache core team member / OpenSSL core team memberBen Laurie가 썼습니다. 
Apache-
SSL의 개발은 A.L. Digital Ltd.로부터 지원 및 호스트를 받고 있습니다.
FTP 미러 사이트에 대한 정보나 CA, 링크에 관한 정보는
The Web Slaves로 보내주시기 바랍니다.


Apache-SSL 로고는 Randy Terbush가 작업한 것을 기본으로하여 Jamie Harrison과 The WoW Foundation에서 제작하였습니다. 또한 그래픽 애니메이션은 A.L. Digital의 Katherine Cleave가, 미니버튼은 King Monty가 제작하였습니다. 해당 제작물은 복제하여 사용할 수 있습니다. 



Team A.L. Digital && Apache-SSL Distributed Computing

A.L. Digital Ltd.가 하는일에 대해서 알고 싶으시면 상단의 로고를 클릭해주시기 바랍니다. 그리고 수행중인 cracking 프로젝트에 대해서 알고 싶으시면 상단의 배너를 클릭해주시면 됩니다. 만약 우리팀에 합류하고 싶으시다면 팀 No. 5209로 회원가입을 해주십시오. 개인정보 보호를 위해 팀 멤버 명단은 공개되지 않으며 그 정보는 절대 무단으로 사용되지 않습니다.



Copyright © 1995,6,7,8,9;2000,1 Ben Laurie, Adam Laurie.

 

Contact ben@algroup.co.uk for more information.