>> Edit article
이름
제목
패스워드
몇 가지 궁금한 점이 있어서 글을 올립니다. 리눅스머신에서 다음과 같은 환경 설정을 했습니다. open_SSL 설치 /tmp에 open_ssl 소스를 풀고 그 디렉토리로 가서 ./config --prefix=/usr/local --openssldir=/usr/local/openssl ./make ./make test ./make install vi /usr/local/openssl/openssl.cnf CA_default 부분에다가 /usr/local/openssl/MyCA 수정 usr_cert부분의 nsCertType에서 필요한 부분을 열어준다(#제거) server 랑 client email objsign keyUsage 부분의 #을 풀어준다. mkdir /usr/local/openssl/MyCA mkdir /usr/local/openssl/MyCA/certs mkdir /usr/local/openssl/MyCA/crl mkdir /usr/local/openssl/MyCA/newcerts mkdir /usr/local/openssl/MyCA/private echo "01" > /usr/local/openssl/MyCA/serial touch /usr/local/openssl/MyCA/index.txt rootCA의 비밀키 생성 openssl genrsa -des3 -out ca.key 1024 self sign한 인증서 생성 openssl req -new -x509 -days 365 -key ca.key -out ca.crt cp ca.key /usr/local/openssl/MyCA/private/cakey.pem cp ca.crt /usr/local/openssl/MyCA/cacert.pem 패키지 풀기(apache, mod_ssl, php를 /tmp에 푼다) 위의 3개 꼭 >tar zxvf [filename] 형태로 푼다. cd apache-1.3.x ./configure $ cd mod_ssl-2.6.2-1.3.12 $ ./configure --with-apache=../apache_1.3.12 $ cd .. # PHP를 컴파일 하기 전의 아파치 사전 설정 $ cd apache_1.3.12 $ ./configure --prefix=/usr/local/apache <= 설치할 곳 $ cd .. # PHP컴파일 하기 (DB,imap,gd,apache) $ cd ../php-4.0.0 $ CFLAGS='-O2(영문대문자O) -I(영문대문자I)/usr/local/openssl/include' ./configure --with-apache=../apache_1.3.12 --with-mysql=/usr/local/mysql <= 사용자가 설치한 위치 --enable-memory-limit=yes --enable-debug=no $ make $ make install $ cd .. # Apache 와 mod_ssl, PHP3, etc...컴파일하기.(마무리 하기) $ cd apache_1.3.x $ SSL_BASE=/usr/local ./configure --prefix=/usr/local/apache --enable-module=ssl --activate-module=src/modules/php4/libphp4.a --enable-module=php4 $ make $ make certificate (상식 수준에서 설정...Common Name은 공인_IP를 넣어준다. 나중에 만들어도 될거 같은데...) $ make install /usr/local/apache/conf/httpd.conf 파일을 수정 특정 포트(443)로 들어오는 것만 보안 웹엔진을 기동시키려고 합니다. ① Section 1 (Global Environment)부분에서 Listen 192.168.1.1:80 Listen 192.168.1.1:443 Listen 외부_IP:443 추가 ② Section 2 부분에서 Port 80 인지 확인 ServerName 192.168.1.1 ServerName 외부_IP ServerAdmin 부분을 수정(잘 알아서 하자...문제가 있을때 멜로 날라오니 까..) ③ Section 3 부분에서 <VirtualHost 외부_IP:443> SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key DocumentRoot /usr/local/apache/htdocs_ssl_out ServerName [외부_IP] ServerAdmin zip90028 at infino.co.kr ErrorLog /usr/local/apache/logs/error_log TransferLog /usr/local/apache/logs/access_log SSLCACertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLVerifyClient 2 </VirtualHost> <VirtualHost 192.168.1.1:443> SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key DocumentRoot /usr/local/apache/htdocs_ssl ServerName 192.168.1.1 ServerAdmin zip90028 at infino.co.kr ErrorLog /usr/local/apache/logs/error_log TransferLog /usr/local/apache/logs/access_log SSLCACertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLVerifyClient 2 </VirtualHost> 저장후 나온다. 443포트에 대한 디렉토리 설정 mkdir /usr/local/apache/htdocs_ssl mkdir /usr/local/apache/htdocs_ssl_out 두 디렉토리 안에다가 필요한 html파일을 넣어준다. #하나의 리눅스 머신안에 웹서버와 rootCA가 같이 있는 형태입니다. 웹서버의 비밀키 생성 openssl genrsa -des3 -out server.key 1024 웹서버가 rootCA에 보낼 인증요구서 생성 openssl req -new -days 365 -key server.key -out server.csr rootCA가 웹서버에게 줄 인증서를 생성 openssl ca -in server.csr -out server.crt - config /usr/local/openssl/openssl.cnf 웹서버의 키와 인증서를 다음에 위치시킨다. cp server.key /usr/local/apache/conf/ssl.key/server.key cp server.crt /usr/local/apache/conf/ssl.crt/server.crt ### 이 다음에 클라이언트(브라우저:익스플로어)를 위한 인증서를 만들고 그 인증서와 rootCA의 인증서를 클라이언트에 설치해야 하는데(위의 설정 중에서 SSLVerifyClient 2라는 옵션때문에) rootCA인증서는 인증서 설치 마법사를 통해서 설치를 했는데 클라이언트의 인증서를 어떻 게 만드는 지에 대한 방법과 클라이언트의 인증서도 똑같이 인증서 설치 마법사를 통해 어느부분에 설 치를 해야 하는 지 몰라서 글을 올립니다. 답변 꼭 부탁드립니다. ###
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved