• 흐림동두천 1.0℃
  • 흐림강릉 1.3℃
  • 서울 3.2℃
  • 대전 3.3℃
  • 대구 6.8℃
  • 울산 6.6℃
  • 광주 8.3℃
  • 부산 7.7℃
  • 흐림고창 6.7℃
  • 흐림제주 10.7℃
  • 흐림강화 2.2℃
  • 흐림보은 3.2℃
  • 흐림금산 4.4℃
  • 흐림강진군 8.7℃
  • 흐림경주시 6.7℃
  • 흐림거제 8.0℃
기상청 제공

ssl 인증서 설치 (openssl 라이브러리 필요)

<test123 웹 서버의 인증서 만들기>

1. 개인키 생성
openssl genrsa -des3 -out test123.key 2048
→ 패스워드 지정함
생성키 확인
openssl genrsa rsa -noout -text -in test123.key

2. 개인키를 가지고 인증요청서 생성
openssl req -new -key test123.key -out test123.csr
생성키 확인
openssl req -noout -text -in test123.csr



* 인증된 CA로부터 공개 키 서명을 받는다. CSR을 인증 기관에 보냄으로써 서명을 받을 수 있다.

CSR ( Certificate Signing Request )
: SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서

* 인증 기관에서 인증서를 발급 해준다. ( Root ca.crt , Server ca.crt, 도메인.crt 3개의 파일을 발급해준다)



<발급이 완료된 인증서로 인증서 변경 방법>

1. /opt/webapps/apache2/ssl-key/ 에 인증서 복사 ( ca.crt파일을 열어보고 판단해야한다)

2. 키에 패스워드가 들어있으면 아파치 구동시마다 물어보므로 패스워드 제거한다.
→ 개인키 패스워드 입력함
→ 패스워드 제거된 개인키 생성됨 (www.test123.co.kr_nopw.key)

3. 아파치 재시작




<vhost에 설정하는 방법>

<VirtualHost *>   // 일반 vhost
ServerAdmin system@test123.co.kr
DocumentRoot /home/test123/www.test123.co.kr
ServerName test.123.co.kr
ServerAlias www.test123.co.kr test123.co.kr
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
CBandLimit 10G
CBandPeriod 1D
</VirtualHost>

<IfDefine SSL>     // ssl.conf에 설정하지 않고 vhost에 설정하는 경우에 <IfDefine> 씀
<VirtualHost www.test123.co.kr:444>    // ssl하기 위해 또 작성
ServerAdmin system@test123.co.kr
DocumentRoot /home/test123/www.test123.co.kr
ServerAlias test123.co.kr
SSLEngine on
SSLCertificateFile /opt/webapps/apache2/ssl-key/www.test123.co.kr.crt  (인증서저장경로)
SSLCertificateKeyFile /opt/webapps/apache2/ssl-key/www.test123.co.kr_nopw.key (개인키저장경로)
SSLCertificateChainFile /opt/webapps/apache2/ssl-key/www.test123.co.kr_ca.crt
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</VirtualHost>
</IfDefine>



<ssl.conf에 설정하는 방법>
<VirtualHost *:443>
DocumentRoot "/home/test123/www.test123.co.kr/"
ServerName www.test123.co.kr
ServerAlias test123.co.kr
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+<wbr />RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/httpd/conf/ssl-key/www.test123.co.kr.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl-key/www.test123.co.kr.key
<Files ~ ".(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*"
         nokeepalive ssl-unclean-shutdown
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>