90년대 후반 우리나라에도 인터넷이 보편화되고 다양한 IT 기술들이 등장하고 사용되지만 당시에는 많은 IT 기술 문서들이 대부분 영문들이고 한글로 된 기술문서들이 부족했던 시절이었는데, 이에 따라서 KLDP와 같은 다양한 기술문서 한글화 작업 프로젝트들이 많이 시작되었으며 젊은 엔지니어들은 오픈소스 프로젝트와 더불어 이러한 한글화 프로젝트에 contribution 하는 의무감이 유행하던 적이 있었다.
당시 나도 공부도 할겸 RFC나 암호 관련 문서들을 꽤 많이 번역하고 일부는 KLDP 등에 쾌척하면서 스스로 뿌듯함을 느끼던 적도 많았는데, 점점 나이를 먹고 조직에서 직급도 올라가면서 소위 관리 업무들이 많아지니 점점 예전의 그러한 열정을 잃어가고 그 때는 그렇게 재미있게 느껴지던 공부들이 이젠 관심조차 가지 않는 나를 보며 스스로 많이 느슨하게 살고 있다는 느낌을 받을 때가 많아진다.
지금도 예전의 그 열정을 유지할 수 있다면 삶이 조금은 더 나아질 수 있지 않을까....

오랜만에 PC 정리하다가 찾은 그 시절에 아르바이트 겸 공부 겸 해서 번역했었던 Mod_SSL 기술 문서들...
지금 올라와 있는 문서들과 비교하면 introduction 정도 변경이 있는 것 같긴 하지만 핵심 내용은 거의 변경이 없는 듯 하니 혹시나 도움이 되실 분들이 있을까 하여 한번 정리해 올려본다.
지금 보면 짧은 지식에 번역하면서 해석이 이상한 것도 많고 대충 대충 한 것도 많지만 다 과거의 기록이라는 핑계로, 귀찮기도 하니 그냥 올리니 혹시 이상한 부분이 있으면 댓글로 남겨주시면 감사하겠다.

mod_ssl의 최종 문서 주소는 아래와 같다.

http://www.modssl.org/docs/2.8/index.html 

암호 기술 분야의 좋은 점 중 하나는 15년이 지나도 사용되는 기술이 변하지 않는다는 점이 아닐까 싶다. 기껏해야 보안성 강화를 위해 RSA의 키 길이를 1024에서 2048 bit 로 올리는 정도의 변화가 있었을 뿐...
아마도 단언하건데 앞으로 15년 후에도 지금과 동일한 스키마에 동일한 알고리즘이 그대로 사용되고 있을 것이라고 강하게 추정하는 바이다.

Chapter1 OverView

module Eric A. Young Tim Hudson 구현한 SSL/TLS 라이브러리인 SSLeay 이용하여 Secure Socket Layer(SSL v2/v3) Transport Layer Security(TLS v1) 통한 Apache 웹서버의 강력한 암호화 기능을 제공한다.

mod_ssl package 1998 4 Ralf S. Engelschall 의하여 만들어졌으며, Ben Laurie 개발한 Apache-SSL package로부터 구현되었다. Mod_ssl Apache Group 사용한 라이센스와 동일한 BSD 스타일의 라이센스가 적용되며, author copyright 적절한 credit 표시하는 상업적, 비상업적 목적에 모두 사용될 있음을 의미한다.

Module Architecture


Mod_ssl package SSL module mod_ssl 사용하는데 필수적인 요소인 EAPI(Extended API) Apache add하기 위한 소스 패치들의 모음(set)으로 구성된다. Apache 핵심코드(core code) EAPI 포함하고 있어야만 mod_ssl 사용할 있다. 그러나 mod_ssl Apache 소스 트리에 적용할 EAPI 자동으로 add되기 때문에 보통 이것에 신경을 필요는 없으며, 이부분은 Apache 다른 package들과 mod_ssl building하고자 하는 package vendor들에게 중요한 부분이다. Mod_ssl Apache 소스 트리에 적용하는 방법에 대한 자세한 내용은 mod_ssl 배포판 안에 있는 INSTALL 파일을 참조한다.

 

Module Building

SSL module(mod_ssl) Apache 소스 트리의 src/modules/ssl 디렉토리에 위치하게 되며, 이것은 일반적인 Apache module이다. 이는 mod_ssl 다른 Apache module처럼 configure, build, install 있음을 의미한다. 보통 과정은 APACI command 사용하여 수행된다.

$ cd apache_1.3.x/

$ SSL_BASE=/path/to/ssleay ./configure --enable-module=ssl

혹은 src/Configuration 파일에서 SSB_BASE 변수를 직접 수정하고 해당 AddModule directive 주석처리를 없앤 후에 다음의 명령으로 수행할 수도 있다.

$ cd apache_1.3.x/src

$ ./Configure

다른 방법으로 APACI configure command line에서 ?enable-shared=ssl 옵션을 주거나 src/Configuration 파일에서 AddModule ssl_module module/ssl/libssl.a 라인을 SharedModule ssl_module modules/ssl/libssl.so 수정함으로써 Dynamic Shared Object(DSO) 지원을 가능하게 있다.

Mod_ssl DSO building하는 것은 run-time flexibility 향상시킬 있는데 예를 들면 build-time 아니라 run-time에서 SSL 사용할 것인가 사용하지 않을 것인가를 결정할 있다. 그러나 mod_ssl DSO building하는 것은 OS compiler DSO 지원하는가에 따라 달라지며, 모든 platform DSO 지원하지는 않는다.



  
Posted by Golmong
: