RadarURL

웹 프로그래밍
2013.03.01 07:17

Apache2 openssl on Winows XP (https 접속)

조회 수 3051 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

테스트 환경

System : Windows NT 5.1 build 2600
Apache Version 2.2.11 (Win32)
mod_ssl 2.2.11
OpenSSL 0.9.8i
PHP 5.2.9-1 

 

※ Windows- XP에 Apache SSL 보안서버 적용 방법

Apache2에는 기본적으로 openssl이 포함되어 있습니다. 따라서 별도의 설치 없이 바로 인증서를 설치 하 실 수 있습니다.

openssl의 실행파일은 Apache2/bin에 있으며, openssl.cnf 파일은 Apache2/conf에 있습니다.

따라서 작업을 하시기 전에 openssl.cnf 파일을 bin파일로 복사를 해주시면 됩니다.

또한 openssl의 버젼과 apache 버젼과는 어느정도 상관관계가 있으므로 서로 호완이 되는 버젼을 가지고 작업을 해야 하는 것 같습니다.

따라서 위의 버젼이 아니라면 아래의 내용이 적용되지 않을 수 있습니다.

 

※ SSL (Secure Socket Layer)
어플리케이션 계층과 TCP 사이에 놓인 계층으로 전송 데이터를 암호화하는 프로토콜입니다. 웹 브라우저와 웹 서버 사이에 보안 접속 통신을 말하며 데이터가 암호화되어 전송됩니다.  암호화 방식은 공개키, 개인키 방식으로 암호화하며 한쪽은 암호화, 다른 한쪽은 복호화 과정을 거쳐 데이터를 전송합니다. SSL은 인증서(certificate) 방식으로 동작합니다. SSL을 적용해야 할 페이지는 로그인 페이지, 개인 정보 페이지, 쇼핑몰의 구매 페이지등 개인정보나 보안에 신경써야 할 부분에 적용해야 합니다. 

 

준비 

우선 apache2/bin 폴더에서 libeay32.dll 과 ssleay32.dll 파일을 /windows/system32로 복사를 해줍니다.

 

1. csr 파일을 생성

cmd 명령어를 이용하여 openssl이 설치된 폴더로 이동한 후 아래의 명령어를 입력합니다.

 openssl  req -config openssl.cnf -new -out server-scmlab.csr

 

...

Enter PEM pass pharse : [개인키 생성 비번]

...

CSR 은 다음과 같은 항목을 가지고 있습니다.

- 국가 (country) : KO

- 구/군 (state or province)

- 시/도 (locality or city) 

- 회사명 (organization)

- 부서 (organizational unit)

- 도메인 주소 (common name) 

 

위 명령어를 수행한 후 CSR에 필요한 항목을 모두 작성하면 server-scmlab.csr 파일과 privkey.pem 파일이 생성됩니다. 

 

※ .csr 파일

CSR( Certificate Signing Request)의 약자로 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서 파일입니다.

 

2. 개인키 생성

openssl rsa -in privkey.pem -out server-scmlab.key

...

Enter pass phrase for privkey.pem : [위에서 입력한 비밀번호]

writing RSA key.

위 명령어를 수행하면 server-scmlab.key 파일이 생성됩니다.

 

3. 인증서 생성 

 openssl x509 -in server-scmlab.csr -out server-scmlab.crt -req -signkey server-scmlab.key -days 365

위 명령어를 수행하면 server-scmlab.crt 파일이 생성됩니다.

 

이렇게 생성한 피일 중 server-scmlab.crt와 server-scmlab.key 파일을 {아파치 경로}/conf 디렉토리에 복사합니다.

이제 아파치 서버에는 인증서와 개인키가 있습니다. 이 키를 사용하여 아파치 서버가 SSL로 동작할 수 있게

아파치 서버의 httpd.conf 파일을 수정합니다.

 

4. htpd.conf 수정

 

4.1 httpd에 80 밑에 아래 443 추가

Listen 80

Listen 443


 

4.2 Directory 주석 처리

<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
</Directory>


주석 처리 해줍니다.

 

4.3 주석 해제

include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-ssl.conf
의 주석은 해지 합니다.

 

5. httpd-ssl.conf 수정

apache2/conf/extra 폴더의 httpd-ssl.conf를 수정합니다.

아래와 같이작성을 하면 ssl을 적용하면, vhost를 사용하지 않아도 다중도메인에 일괄적으로 80과, 443을 사용 하실 수 있습니다.

즉 기존에는 두개의 도메인에 ssl을 적용하기 위해서는 442, 443 등 여러개의 포터를 이용해야 했으나 아래와 같이 적용을 하면

여러개의 도메인 모두 ssl 사용시 443 포터를 공용으로 이용 하실 수 있습니다.

 

------------------------------------------------

NameVirtualHost *:80
NameVirtualHost *:443

 

<VirtualHost *:80>
    ServerAdmin webmaster@aaa.com
    DocumentRoot /www/aaa
    ServerName  aaa.com

    ServerAlias www.aaa.com
</VirtualHost>

 

<VirtualHost *:80>
    ServerAdmin webmaster@bbb.com
    DocumentRoot /www/bbb
    ServerName  bbb.com

    ServerAlias www.bbb.com
</VirtualHost>

.....

......

 

<VirtualHost *:443>
ServerAdmin webmaser@aaa.com

DocumentRoot /www/aaa
ServerName aaa.com
ErrorLog /apache2/logs/ssl-aaa-error_log
CustomLog /apache2/logs/ssl-aaa-access_log common
SSLEngine on
SSLCertificateFile /apache2/conf/server-aaa.crt
SSLCertificateKeyFile /apache2/conf/server-aaa.key
</VirtualHost>

 

 

위와 같이 적용을 한 후 apache2를 재 실행 합니다.

 

아파치를 다시 실행한 후 https://도메인명을 입력하시면 다음과 같은 메지시가 나옵니다.

fece4161d25c83bde91faee305ab13bb.jpg

 

 

735a1ba32334835f6dec79c6f25c23b4.jpg

 

이러한 에러를 해결하시려면......돈을 주고 신뢰기관으로 부터 인증을 받으시면 됩니다.;;;

단순히 테스트를 해보시고 싶으시면 설치를 해보시는 것도 좋을 듯합니다. 

 

참고 사이트 :

 

1. http://blog.daum.net/question0921/765

2. http://junemp.tistory.com/entry/Apache-SSL-%EC%84%A4%EC%B9%98-2

 

출처 : http://www.scmlab.com/4588

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927912
1206 웹 프로그래밍 EUC-KR 서버에서 저장된 DB(데이터베이스) UTF-8 서버로 이전 방법 JaeSoo 2013.02.26 3045
1205 보안 "신뢰되지 않은 Root 인증서" 신뢰할 수 있게 만들기 file JaeSoo 2013.02.27 4886
1204 보안 구글 크롬 Https:// 보안 경고 창에 대하여~! file JaeSoo 2013.02.27 4775
1203 사업 사업자등록번호 조회 하는법 file JaeSoo 2013.02.27 5008
1202 블로그 알라딘 TTB2 티스토리 광고 달기 file JaeSoo 2013.02.27 4040
1201 보안 야동과 악성코드의 상관 관계 (느려진 내 컴퓨터, 야동이 원인?) file JaeSoo 2013.02.28 3861
1200 웹 프로그래밍 Apache Redirect 설정 팁 - http또는 https로 접속 시 www를 항상 자동으로 붙히기 JaeSoo 2013.02.28 3528
1199 웹 프로그래밍 SSL 운영(https)시 도메인기반 Virtual host가 안되는 이유 file JaeSoo 2013.03.01 3652
1198 웹 프로그래밍 VirtualHost SSL 가능해진다? JaeSoo 2013.03.01 2557
1197 웹 프로그래밍 Apache 2.0 에서 여러 도메인에 SSL 인증서 적용하기 JaeSoo 2013.03.01 3415
1196 윈도우즈 '안전하게 제공된 콘텐츠만 보시겠습니까?' 보안 경고창 없애기 file JaeSoo 2013.03.01 8239
1195 웹 프로그래밍 한 서버에 여러개의 SSL 인증서 사용 하는 방법 JaeSoo 2013.03.01 3778
1194 웹 프로그래밍 SSL 구축 및 OpenSSL 설명 JaeSoo 2013.03.01 3660
» 웹 프로그래밍 Apache2 openssl on Winows XP (https 접속) file JaeSoo 2013.03.01 3051
1192 논문 한글 띄어쓰기, 어려우시죠? JaeSoo 2013.03.03 4784
1191 논문 띄어쓰기 (국립국어원) JaeSoo 2013.03.03 4352
1190 논문 어려운 '띄어쓰기' 원칙을 알면 보인다! JaeSoo 2013.03.03 4997
1189 웹 프로그래밍 스타일을 이용한 input 한영키 자동전환 JaeSoo 2013.03.04 4087
1188 건강 이호선 교수에게 물었다 "야동 보는 아이와 남편 어떡하죠?" - 女교수, 딸에게 '콘돔' 주면서 하는 말이 file JaeSoo 2013.03.04 3559
1187 보안 CPPG 시험대비 자료입니다. 2 file JaeSoo 2013.03.06 9979
Board Pagination Prev 1 ... 59 60 61 62 63 64 65 66 67 68 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너