OpenSSL + Apache2.2 으로 linux HTTPS(보안서버) 구성 > 서버관리 Tip

본문 바로가기
 

OpenSSL + Apache2.2 으로 linux HTTPS(보안서버) 구성

페이지 정보

작성자 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 10,902회 작성일 10-08-20 00:04

본문


OpenSSL + Apache2.2 으로 linux HTTPS(보안서버) 구성 Server ( WEB / WAS )

# 실습환경 : linux
# 필수요소 : gcc


1. OpenSSL 설치

(1) zlib 설치
* zlib : 압축 지원을 위한 라이브러리

혹시 zlib 가 설치되어 있는지 확인한다
[root@localhost ~] rpm -qa | grep zlib
zlib-devel-1.2.3-3
zlib-1.2.3-3

위와 같이 설치되어 있다면 zlib 를 설치할 필요가 없다.
설치되지 않았다면 아래와 같이 설치한다.

http://www.zlib.net/  에서 최신버전을 다운로드 받는다.

[root@localhost ~] tar xvf zlib-1.2.5.tar
[root@localhost ~] cd zlib-1.2.5
[root@localhost ~] ./configure
[root@localhost ~] make
[root@localhost ~] make install


(2) OpenSSL 설치

혹시 openssl 이 설치되어 있는지 확인한다.
[root@localhost ~] rpm -qa | grep openssl
openssl-0.9.8e-12.el5
openssl-devel-0.9.8e-12.el5

설치해야한다면 아래와 같이 진행한다.

http://www.openssl.org/  에서 [LATEST] 으로 표시된 최신 버전을 다운로드 받는다.


[root@localhost ~] tar xvf openssl-1.0.0a.tar
[root@localhost ~] cd openssl-1.0.0a
[root@localhost ~] LDFALGS=-L/usr/local/lib CPPFLAGS=-l/usr/local/include
[root@localhost ~] ./config --prefix=/usr/local --openssldir=/usr/local/openssl zlib
[root@localhost ~] make
[root@localhost ~] make install


(3) 인증서 생성

위에서 설치한 openssl 을 이용하여 인증서를 만든다.
인증서를 보관할 디렉토리를 정하고 해당 위치에서 명령어를 입력한다.

[root@localhost ~] cd /web/ssl-key/
[root@localhost ~] openssl genrsa -des3 -out ssl2010.key 1024
암호를 입력하라고 한다. 암호를 입력하고 꼭 기억해두자.
ssl2010.key 파일이 생성되었다. 개인키로서 암호화할때 이용된다.

이제 개인키로 CSR(Certificate Signing Request) 를 만들자.
CSR은 서명정보가 들어있는 파일이다.

[root@localhost ~] openssl req -new -key ssl2010.key -out ssl2010.csr
암호를 입력하라고 한다. 위에서 입력한 개인키 암호를 입력한다.
Country Name : 국가 - 예) KR

State or Province Name : /도/ - 예) Seoul or Kyunggi

Locality Name : /군 - 예) songpa or ganghwa

Organization Name : 회사명 - 예) dotname korea

Organizational Unit Name : 소속 - 예) developer

Common Name : 서버도메인 - 예) www.example.com

Email Address : 이메일 - 예) email@naver.com

A challenge password : 생략 (입력하지 않고 엔터)

An optional company name : 생략 (입력하지 않고 엔터)


ssl2010.csr 파일이 생성되었다. key 파일로 csr 파일을 추출한 것이다.

마지막으로 인증서를 만들 차례다.
[root@localhost ~] openssl x509 -in ssl2010.csr -out ssl2010.crt -req -signkey ssl2010.key -days 3560
암호를 물어본다. 위의 개인키 암호를 입력한다.
ssl2010.crt 파일인 인증서가 생성되었다.
인증서의 유효기간을 10년(3560일)로 설정했다.

3개의 파일을 잘 보관하자.

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

2. Apache 2.2 (HTTP Server) 설치

http://www.apache.org/  에서  Apache Projects의 HTTP Server를 클릭하여 http://httpd.apache.org/  접속한다.
2.2 버전을 다운로드 받아 설치한다.


[root@localhost ~] tar xvf httpd-2.2.16.tar
[root@localhost ~] cd httpd-2.2.16

설치하기전에 서버에 접속하는 클라이언트의 수를 256 에서 8192 로 늘려주자.
이렇게 하면, 설치 후 httpd.conf 파일에 기본값 256 으로 설정되어 있는데 8192 까지 조절할 수 있다.

[root@localhost ~] vi ./server/mpm/prefork/prefork.c

vi 에디터에서 ( vi 를 모른다면 "vi 명령어"로 검색해볼것)
#ifndef DEFAULT_SERVER_LIMIT
#define DEFAULT_SERVER_LIMIT 256
#endif
부분을 찾아 256을 8192로 바꿔준다.

[root@localhost ~] ./configure --prefix=/web/httpd --enable-modules=most --enable-mods-shared=most --enable-ssl
[root@localhost ~] make
[root@localhost ~] make install

--prefix= 부분에는 아파치가 설치될 경로를 입력
--enable-modules=most --enable-mods-shared=most 는 모든 모듈을 설치하기 위한 옵션
--enable-ssl 는 SSL 을 활성화 하기 위한 옵션 ( modules 디렉토리에 mod-ssl.so 파일이 설치된다 )

설치가 완료되면 conf/httpd.conf 파일을 수정해야한다.

[root@localhost ~] cd 아파치가 설치된 경로
[root@localhost ~] vi ./conf/httpd.conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ServerName www.example.com:80 의 아래에
ServerName 127.0.0.1 을 입력한다.

DocumentRoot "설치된경로/htdocs" 라고 되어있는 부분에 웹서비스할 디렉토리 경로를 입력하자.

LoadModule ssl_module modules/mod_ssl.so 가 있는지 확인하자. 없다면 SSL이 활성화되지 않은 것이다.
활성화 부분이 주석처리 되어 있다면 주석을 제거하자. ( # 으로 시작하는 라인은 주석이다. #을 제거 )
#include conf/extra/httpd-ssl.conf 부분을 찾아 # 를 제거하자. SSL 설정파일이다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

이제 SSL설정파일을 수정할 차례이다.

[root@localhost ~] vi ./conf/extra/httpd-ssl.conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Listen 443 은 httpd.conf 의 Listen 80 과 같은 내용이다.
http 는 80번 포트로, https 는 443 포트로 접속된다. 방화벽 설정이 되어있다면 443 포트를 열어주자.

<VirtualHost_default_:433> 안 에 있는 설정들을 수정해야한다.

DocumentRoot 는 httpd.conf 와 같으면 된다.
ServerName 에는 127.0.0.1:443 으로 해주자.

SSLCertificateFile 에는 우리가 생성했던 인증서를 연결시켜줘야한다.
예) SSLCertificateFile "/web/ssl-key/ssl2010.crt"

SSLCertificateKeyFile 은 암호키
예) SSLCertificateKeyFile "/web/ssl-key/ssl2010.key"

그외...
Jk (mod-jk.so) 를 이용하여 Tomcat 과 연동하는 경우는
<VirtualHost_default_:433> 안 에도 JkMount 를 써주면 되겠다.
예)  JkMount /* ajp13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

이제 아파치를 실행하고 접속해보자.

[root@localhost ~] /아파치가 설치된 경로/bin/apachectl -k start
암호를 물어본다. 인증서(개인키)의 암호를 입력하면
OK: Pass Phrase Dialog successful. 메시지가 출력되며 아파치가 구동된다.


우리가 생성한 인증서는 공인인증이 아니라 자체서명이므로 보안경고가 뜨거나 접속되지 않는다.
위 화면은 사파리 브라우저에서 접속한 화면이다. [계속] 버튼을 누르면 접속된다.

정상적으로 서비스를 운영하려면 공인인증서를 구입해야 한다.
국내 공인인증서 판매업체 http://www.anycert.co.kr/ 애니서트 같은 곳에서 구입할 수 있다.

우리가 생성한 CSR 정보를 공인인증 업체에 제출하고 계약하면 CRT 공인인증서 파일을 받을 수 있다.
업체로부터 받은 crt 파일을 httpd-ssl.conf의 SSLCertificateFile 설정에 연결해주고
ServerName 설정에는 [인증받은 도메인 주소(CSR 생성시 Common Name 에 입력했던 내용) ]를 입력하면 된다.

댓글목록

등록된 댓글이 없습니다.

Total 159건 5 페이지
서버관리 Tip 목록
번호 제목 글쓴이 조회 날짜
87 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 13645 02-28
86 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 8419 02-12
85 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 21023 02-11
84 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 16745 02-10
83 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 10003 02-09
82 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 9723 02-09
81 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 15597 02-09
80 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 9530 11-19
79 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 17098 10-30
78 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14629 10-29
77 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 15139 10-17
76 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 16257 10-17
75 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 15685 10-17
74 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 11709 10-13
73 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 14125 08-30
72 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 18352 08-20
71 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 1 08-20
열람중 no_profile 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 10903 08-20
게시물 검색