목차

반응형

참고사이트

https://www.comodossl.co.kr/certificate/ssl-installation-guides/Apache-privatekey-crt.aspx


추가해야하는 내용

openssl csr 생성 하는 방법까지 추가해서 넣기

포트 443 열기

포트 사용중인거 확인하기 443


SSL 서버에 적용하기 메뉴얼


주요 경로

/usr/local/apache-tomcat-6.0.20

/etc/httpd/conf.d

/etc/httpd/conf

/usr/local/apache/conf/extra

/usr/local/apache/conf


순서

1. httpd.conf의 ssl.conf 참조 주석 해제

2. worker 설정

3. ssl.conf 설정

4. 인증서 password 설정

5. 테스트


*항상 수정하는 파일의 원본 파일을 백업해 둘 것*



1. /usr/local/apache/conf/httpd.conf

httpd.conf 파일의 ssl.conf 파일을 참조하도록 주석을 해제해야함.

해당 파일을 찾다보면 위와 같은 라인의 주석을 해제하자 (없으면 주석해제한 코드를 추가)

#Include conf/extra/httpd-ssl.conf



2. 톰캣과 아파치의 연동이 되고 worker 설정이 아래와 같다고 가정하에...

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

#worker.worker1.lbfactor=11

자세한 내용은 아래 링크 참조

http://kkamagistory.tistory.com/37



3. ssl.conf 설정

LoadModule ssl_module modules/mod_ssl.so

NameVirtualHost *:443

Listen 443


AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl    .crl

#SSLPassPhraseDialog  builtin

SSLPassPhraseDialog exec:/usr/local/apache/test_ssl/passwd.sh


SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)

SSLSessionCacheTimeout  300


SSLMutex default

SSLRandomSeed startup file:/dev/urandom  512

SSLRandomSeed connect builtin

SSLCryptoDevice builtin


## SSL Virtual Host Context


<VirtualHost *:443>

ServerAdmin root@localhost

ServerName www.test.or.kr

#ServerAlias www.test.or.kr

DocumentRoot /home/test/webapps/ROOT

ErrorLog    /var/log/httpd/ssl-test.or.kr-error_log

TransferLog /var/log/httpd/ssl-test.or.kr_access_log


JkMount /* worker1

JkMount /*.article worker1

JkMount /*.do worker1

JkMount /servlet/* worker1

JkMount /*.jsp worker1


LogLevel error

SSLEngine on

SSLProtocol all -SSLv2


SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW


SSLCertificateFile /usr/local/apache/test_ssl/www_ggtest_or_kr_cert.pem

SSLCertificateKeyFile /usr/local/apache/test_ssl/www.ggtest.or.kr.key

SSLCertificateChainFile /usr/local/apache/test_ssl/ChainCA1.crt

SSLCACertificateFile /usr/local/apache/test_ssl/RootCA.crt


<Files ~ "\.(cgi|shtml|phtml|php3?)$">

    SSLOptions +StdEnvVars

</Files>


SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0


CustomLog logs/gg.or.kr_ssl_request_log \

  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


</VirtualHost>



*확인사항*

JkMount뒤의 텍스트에는 워커의 이름이 붙어야한다.

DocumentRoot가 맞는 확인

443포트가 열려있는지 확인

하단의

SSLCertificateFile /usr/local/apache/test_ssl/www_ggtest_or_kr_cert.pem

SSLCertificateKeyFile /usr/local/apache/test_ssl/www.ggtest.or.kr.key

SSLCertificateChainFile /usr/local/apache/test_ssl/ChainCA1.crt

SSLCACertificateFile /usr/local/apache/test_ssl/RootCA.crt

는 인증서 파일이 제대로 위치하였는지 확인



4. 인증서 password 설정

SSLPassPhraseDialog exec:/usr/local/apache/test_ssl/passwd.sh

해당 스크립트는 서버 부팅시 입력해야하는 ssl 인증서의 비밀번호를 자동으로 입력하기 위한 설정이다.


passwd.sh를 까보면...


echo "test4848"


echo 뒤에 비밀번를 넣어주면 된다.

이후 passwd.sh 파일의 권한은 755로 줘야한다.



5. 테스트를 하기 위해서

182.162.27.29가 작업중인 서버의 주소고 ggtest.or.kr이 목표로 하는 주소라면

hosts 파일을 아래와 같은 방식으로 설정한다


182.162.27.29 ggtest.or.kr

182.162.27.29 www.ggtest.or.kr


이후 브라우저로 https://www.ggtest.or.kr 에 접속된다면 성공이다.

반응형

'보안 > SSL' 카테고리의 다른 글

SSL 작업하면서 궁금한 점들  (0) 2018.04.03
반응형

ssl(아차피,윈도우 환경) 작업을 하면서 궁금했던점을 모으고 조사해보았다.


왜 ssl은 443 포트로 열어두는가?


도대체 그놈의 pem, key, crt 파일들은 뭔가?


mod_ssl은 뭔가?


ssl-conf 설정 파일중 SSLCACertificateFile, SSLCertificateChainFile, SSLCertificateFile ... 얘네들은 다 뭐하는 놈들인가?


RootCA와 ChainCA1 체인파일은 왜이렇게 많은가?


ssl의 작동 원리는 무엇인가?


피들러는 뭔데 https 트래픽도 볼 수 있게 해주는건가?

반응형

'보안 > SSL' 카테고리의 다른 글

아파치 httpd.conf ssl.conf SSL 설정하기  (0) 2018.04.06