RadarURL

웹 프로그래밍
2013.02.26 07:33

SSL 의 적용 Apache 2.2

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

우리가 일반적으로 알고 있는 http 프로토콜은 포트 번호가 default 로 80 이다. http를 통해 인터넷 web page를 이용할 경우 사용자가 입력한 값들이 string 의 형태로 바로 network을 통해 나가기 때문에 hacker들이 패킷을 중간에 가로챌 경우 보안 정보의 유출이 될수 있다.
예를 들면 웹 사이트에서 ID와 PASS를 입력 할때 이 내용들이 string 으로 바로 network 로 송신 되는 것이다. 따라서 이러한 정보의 경우 암호화를 할 필요 성이 있다. 이 때문에 나온것이 SSL(Secure Sockets Layer) 이다. 이거외에 TLS 도 있는데, 이건 잘 모르겠다.ㅡㅡ;ㅋ

대표적인 web server 인 Apache에서는 이러한 SSL 를 지원한다. SSL를 통한 web의 접근은 https:// 라는 프로토콜을 이용하면 된다. 이때 접속 되는 포트는 443 이다.

그럼 Apache에서 SSL 키값을 활용한 SSL 적용 방법을 알아 보자.

 Download link(oepn SSL를 지원하는 apache down load link)
http://apache.tt.co.kr/httpd/binaries/win32/apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi     

일반적으로 ssl 인증 key 활용에는 돈이 들기 때문에 apache 에서 제공하는 open ssl 를 적용하도록 한다.
=        Apache Installation
 -  설치는
기존 Apache 설치와 동일.하다 먼저 다운받은 프로그램을 실행시켜 아파치를 설치한다.
 - Apache2.2/bin
폴더의 ssleay32.dll, libeay32.dll 파일을 시스템디렉토리(Windows 2000의 경우 C:\WINNT, Windows XP, 2003등은 C:\Windows)아래 system32 디렉터리로 복사한다.

Copy ssleay32.dll C:\WINDOWS\system32
Copy libeay32.dll C:\WINDOWS\system32

=        Openssl.cnf
Apache2.2/conf
폴더의 openssl.cnf 파일을 Apache2.2/bin폴더로 copy한다

=        CSR생성 (privekey.pem, www.hello.csr 파일 생성)

- Apache2.2/bin 위치에서 openssl 을 실행한다.
- OpenSSL> req config openssl.cnf new out www.hello.csr 을 입력한다.
- 정상적으로 진행되면 Generating a 1024 bit RSA private key Writing new private key to privkey.pem 라는 메시지가 나온다.
- Common Name 부분에는 config에 등록된 server name 을 넣자.
- 젤밑에 extra 머시기는 걍 엔터 엔터..

openssl.jpg

=       
privekey.pem 파일에서 pass phrase 제거

-         이 과정은 private key에서 pass phrase를 제거하는 과정.
-         Key 값은 아파치 서버와 관리자만 읽을 수 있어야 한다. 


OpenSSL> rsa
in privkey.pem out www.hello.key 을 입력한다

=        Self Sign
-   CA로부터 실제 인증서를 받기 전까지 사용할 수 잇는 self-signed 인증서 생성하는 과정.
- 
이 인증서는 1년 후에 expire된다. –days 옵션을 통해 날짜를 증가시킬 수 있다.


OpenSSL> x509 in www.hello.csr out www.hello.crt req -signkey www.hello.key days 365

 

'') 요까지가 끝이다. 이렇게 되면 bin 안에 key값이 생성되어 있을 것이다.

인제 apache config 에서 key 값을 활용한 ssl 처리를 하면 된다.
나 같은 경우 httpd.conf 에서 바로 ssl을 설정 하지 않고 extra folder에 있는 httpd-ssl.conf 를 활용하였다.

따라서 httpd.conf 에서 LoadModule ssl_module modules/mod_ssl.so 이부분의 비활성화(#)을 풀어 주고 Include conf/extra/httpd-ssl.conf 이놈을 include 해준다.
이놈들은 apache 깔면 다 작성되어 있으니까 걍 #만 제거 해주면 된다.
그리고 물론 httpd-ssl.conf 도 기본적인 부분은 다 작성되어 있다.

걍 고대로 쓰고 server setting 만 httpd에서 해 줬던 것 처럼 해주면 된다.
참 server name 은 아까 common name 으로 하고..(common name 으로 안하면 어찌 되는지는 모름... ㅋ 테스트 안해 봐서리) server admin 은 mail 주소를 쓰자.

이제 apache를 내렸다 올리면 끝이다.
확인은 https://www.hello.com 으로 들어가보면 된다.

ps. Esclipse 에는 port로 통신하는 경우 그 정보를 모니터링 할수 있다.(단, eclips 에서 web을 열고 테스트해야 한다.) 즉 패킷 데이터를 확인 할수 있는 것이다. ssl이 적용 되어 있다면 이 패킷 정보가 이상한 글자로 튀어 나올것이고 일반 http로 적용 되어 있다면 그냥 일반 문자로 튀어 나올 것이다.

모니터링 하는 정보는 Window->Show View->Other에서 TCP/IP Monitor로 검색하면 된다. 설정하는 부분은 생략한다.

 

 

출처 : http://interwater.tistory.com/entry/SSL-%EC%9D%98-%EC%A0%81%EC%9A%A9-Apache-22

?

공부 게시판

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

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928100
    read more
  2. WIndows Application의 실행 속도 측정

    Date2023.09.06 Category응용 프로그래밍 ByJaeSoo Views3185
    Read More
  3. 메모리 부족 현상 (allowed memory size of 134217728 bytes..)

    Date2023.08.01 Category웹 프로그래밍 ByJaeSoo Views2207
    Read More
  4. Guzzle - cURL error 60: SSL certificate problem: unable to get local issuer certificate 문제 해결

    Date2023.07.30 Category웹 프로그래밍 ByJaeSoo Views2188
    Read More
  5. XE 캐시파일 재성생후 404 Oops, Sorry. Page is not found! 나올때

    Date2023.07.29 Category웹 프로그래밍 ByJaeSoo Views2117
    Read More
  6. [Apple] 엔터프라이즈 계정신청 (Enterprise Program)

    Date2023.03.27 Category응용 프로그래밍 ByJaeSoo Views267
    Read More
  7. XE - " Fatal error: Class 'Object' not found in " / class 낫파운드 오류

    Date2023.03.20 Category웹 프로그래밍 ByJaeSoo Views147
    Read More
  8. [MSA] MSA란 무엇인가? 개념 이해하기

    Date2023.01.26 Category응용 프로그래밍 ByJaeSoo Views210
    Read More
  9. iOS 앱 개발을 위한 인증서 생성 및 관리

    Date2023.01.18 Category웹 프로그래밍 ByJaeSoo Views218
    Read More
  10. [ iOS ] 앱 스토어 개인, 회사, 엔터프라이즈 차이점

    Date2023.01.09 Category프로그래밍 ByJaeSoo Views237
    Read More
  11. PHP 파서 이해하기 (<?php의 php를 생략하고 간단히 <? 태그 와 ?> 태그를 사용하는 방법)

    Date2016.08.10 Category웹 프로그래밍 ByJaeSoo Views322
    Read More
  12. SVN의 cleanup 에러시 해결방법

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views728
    Read More
  13. [오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views611
    Read More
  14. TortoiseSVN 계정변경

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views582
    Read More
  15. SVN passwd 설정 : 계정 (users/passwd)

    Date2016.05.04 Category프로그래밍 ByJaeSoo Views543
    Read More
  16. XE 비회원 글쓰기 항목 지우기

    Date2016.04.28 Category웹 프로그래밍 ByJaeSoo Views499
    Read More
  17. 메모리 영역 (code, data, stack, heap)

    Date2016.03.23 Category응용 프로그래밍 ByJaeSoo Views747
    Read More
  18. [SVN] Subversion 명령들

    Date2016.02.06 Category응용 프로그래밍 ByJaeSoo Views967
    Read More
  19. IBM JDK 1.6 에서 Spring 2.5.2를 사용할 때 GenericTypeResolver 에서 NullPointerException이 발생하는 문제

    Date2016.01.27 Category응용 프로그래밍 ByJaeSoo Views787
    Read More
  20. 오른쪽 마우스 금지 소스 / 드래그 금지 소스

    Date2016.01.20 Category웹 프로그래밍 ByJaeSoo Views475
    Read More
  21. [전자정부 표준프레임워크] 톰캣(Tomcat) 설치하기

    Date2016.01.02 Category응용 프로그래밍 ByJaeSoo Views535
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 18 Next
/ 18


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

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

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

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

JServer.kr

제이서버 메타블로그

재수 티스토리


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

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너