보안 서버 구축 ( mod_ssl )
SSL 은 보안서버라고 하며, 보통 웹브라우저 (Explorer, Chrome, FireFox 등) 와 서버간의 통신에서 정보를 암호화 하여
전송하기 때문에 운영중 해킹을 통해 정보가 유출되더라도 정보의 내용을 보호 할 수 있게 해주는 방법입니다.
많은 서버 관리자나 사이트 운영자가 사용하고 있는 보안 구축 방법 중 하나입니다.
Linux apache 환경에서 구축 하고자 한다면 아래와 같이 진행 합니다.
보안 서버 구축 ( mod_ssl )
1. Apache 환경 및 mod_ssl 모듈 확인
# /usr/local/apache/bin/apachectl -v 또는 /etc/init.d/apachectl -v apache 2.x 이상은 설치시 enable-ssl 을 추가해야 하며 1.x는 버전에 맞는 모듈을 직접 설치해 주어야 합니다.
# rpm -qa |grep openssl openssl 설치가 되어있는지 확인 하며, 미설치시 yum -y install openssl 커맨드로 설치합니다. ( CentOS )
# /usr/local/apache/bin/apachectl -l 또는 /etc/init.d/apachectl -l 위 커맨드를 통해 mod_so.c 또는 mod_ssl.c 가 로드 되었는지 확인합니다. |
2. 개인키 생성
# openssl genrsa -des3 -out <개인키 파일명>.key 2048
키를 보관할 디렉토리 생성 후 위의 커맨드로 개인키를 생성합니다. 뒤에 숫자 2048은 암호화 비트수 이며 1024bit는 2010년 부터 발급이 중단 되었습니다. |
3. CSR 생성
#openssl req -new -key iwinv.key -out iwinv.csr 생성한 key파일을 이용 하여 csr을 생성해 줍니다. csr 항목은 아래와 같다. ************************************************************************
CSR 생성 중 아래 항목은 아무것도 기입하지 않고 엔터로 넘어갑니다. 해당 부분의 정보가 입력 될 경우 잘못된 CSR이 생성될 수 있습니다.
A challenge password []: An optional company name []:
CSR파일을 열어보면 --Begin으로 시작해서 --End로 끝나는 코드가 나오는데 전부 복사해서 인증서 발급기관에 신청 합니다. |
4. 인증서 설치
# /usr/local/apache/conf/httpd.conf 해당 설정 파일에서 ssl_conf 부분의 주석을 해제합니다.
# vi /usr/local/apache/conf/extra/httpd-ssl.conf 해당 파일을 열어 아래 부분을 및 파일의 위치를 정확히 입력 합니다.
# vi /etc/sysconfig/iptables 방화벽 설정 파일을 열어 443 포트를 오픈해 줍니다. 위의 작업이 순차적으로 실행 되었으면 apache를 리스타트 후 해당 URL 을 https로 접속 후 확인 합니다. |