요즘 인터넷 보안이 점점 중요해지고 있다. 각종 피싱 사이트가 생겨나서 사회문제가 되고 있고 인터넷 금융사이트에서는 active X 로 방어 하고 있고..
회사에서 몇개의 홈페이지가 있는데 일반적인 보안만 되어 있어 이번에 SSL 을 테스트 해보게 되었다.
서버 : 리눅스 페도라코어 6
apache 2.2.4
verisign TEST 인증서
1. openssl 을 업그레이드 합니다.
# yum update openssl*
2. 기존 설치되는 http 데몬을 삭제 하고 새로 컴파일할 http 를 다운로드 받습니다.
# yum erase http
# wget 새로얻을경로
3. http 의 컴파일
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-modules=so --enable-ssl=shared
# make
# make install
4. 서버에 사용될 키 만들기
# openssl genrsa -des3 -out edit.key 1024
(비밀번호는 적당히 넣어줍니다.)
5. 키를 이용한 CSR 만들기 (인증 사인 리퀘스트?)
# openssl req -new -key edit.key -out edit.csr
6. http://www.verisign.com 에 접속하여 FREE SSL Trial 을 클릭합니다.
7. 몇가지 개인정보를 입력하면 CSR 을 입력하라는 메모장이 나오는데 그곳에
아까 만든 CSR 의 내용을 붙여 넣기 합니다.
8. 좀더 진행하고 완료 하면 이메일로 신청되었다는 내용의 메일이 바로 도착하면서 제일 아래
부분에 붙여넣기 했던 CSR 과 비슷한 내용이 보입니다. 이것을 복사하여
임의의파일명.crt 의 파일명을 만들고 그 안에 붙여 넣기 합니다.
9. apache 가 설치된 /usr/local/apache2/conf/httpd.conf 파일 vi로 열고
(사용자 계정 폴더에서 테스트 할거에요)
<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
</Directory>
주석 처리 해줍니다.
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-ssl.conf
의 주석은 해지 합니다.
10. 사용자 계정을 잘 만들고 public_html 안에 적당한 html 파일을 만듭니다.
11. /usr/local/apache2/conf/extra/httpd-ssl.conf 파일 vi 로 엽니다.
기존 생성되어있는 <VirtualHost> </VirtualHost>의 내용을 지워 줍니다.
처음에 만든 key, csr, crt 파일을 적당한 곳에 잘 옮겨 놓습니다.
그 후 새로 만들 즉 SSL 이 적용될 가상 호스트를 적어 줍니다.
<VirtualHost 218.236.xxx.xxx:443>
ServerAdmin spaper@xxxxxxx.co.kr
DocumentRoot /home/spaper/public_html
ServerName edit.xxxxxxx.co.kr
ErrorLog logs/ssl-spaper-error_log
CustomLog logs/ssl-spaper-access_log common
SSLEngine on
SSLCertificateFile /home/spaper/key/down.crt
SSLCertificateKeyFile /home/spaper/key/edit.key
</VirtualHost>
12. 아파치를 실행합니다. 실행할때 처음 key 를 만들때 넣어준 비밀번호를 다시 한번 입력해줍니다.
# ./apachectl start
Apache/2.2.4 mod_ssl/2.2.4 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server edit.xxxxxx.co.kr:443 (RSA)
Enter pass phrase:
OK: Pass Phrase Dialog successful.
13. https 로 접속해 봅니다..
----------------------------------
사용하는 리눅스 서버를 CA 서버로 해서 인증서 받아서 사설인증서로 운형해보기
# openssl req -x509 -days 1825 -newkey rsa:1024 -keyout CA.key -out CA.crt
이렇게 하면 key 와 crt 파일이 생성되는데 5년동안 사용이 가능하다. 물론 보안은 되지만
처음 들어 갈때 인증서가 조금 이상하다 라는 화면이 보인다.
----------------------------------
자료가 정리된 곳을 잘 못찾아서.. 구글링도 해보고 해서 대략 정리해 보았다.
위 모든 내용은 검증을 거친 것입니다.
아파치가 버전이 올라가면서 일부 홈페이지나 블로그 등에 소개 되어 있는 apachectl startssl 이란 것이 있는데 이것은 없어졌다고 하더군요 ㅡ.ㅡ;;
자.. 글을 읽어 보시는 모든분께 행운이 함께 하기를..
-----------------------------------
요즘 테스트 해본 결과 ENCTYPE="multipart/form-data" 등으로 해서 업로드 할때
되는 PC 도 있고 안되는 PC 도 있고.. 간단한 조회 폼 같은건 잘 되는데 파일 업로드
에서는 약간의 문제가 있는 것 같다.. 그럴때는 http 로 잠시 바꿔서 하는 수 밖에..
출처 : http://jamesdean017.tistory.com/1