• |
  • |
  • |
HOST : ns1.ohseon.com
I P   : 35.185.153.15
HOST : ns2.ohseon.com
I P   : 104.155.205.11
>
웹호스팅
>
보안서버 SSL
>
SSL 설치가이드
>
Lighttpd Standard

1) 인증서 만들기
* 설명 : 발급 받은 인증서/개인키 파일을 한 파일로 저장 합니다.
(저장 방법 : cat [개인키파일] [인증서파일] > [개인키+인증서 파일]

먼저 특정 폴더에 인증서를 복사 합니다. (예) /etc/lighttpd/ssl/

[root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt > www.ucert.co.kr.pem
\
2) SSL 환경설정
* 설명 : lighttpd 환경 파일 수정
[root@localhost lighttpd]# vi lighttpd.conf

$HTTP["host"]=~"www.ucert.co.kr" {
server.document-root = "/srv/www/htdocs"
index-file.names += ( "index.html", "index.xhtml", "index.htm", "default.htm", "index.php" )
}

#### CGI module
#cgi.assign = ( ".pl" => "/usr/bin/perl",
# ".cgi" => "/usr/bin/perl" )
#

#### SSL engine
* 설명 : SSL 서비스 포트 설정
$SERVER["socket"] == ":443" {
* 설명 : SSL 서비스 활성화 설정
ssl.engine = "enable"
* 설명 : 인증서+개인키 경로 설정
ssl.pemfile = "/usr/local/lighttpd/conf/ssl/www.ucert.co.kr.pem"
* 설명 : CA 인증서 경로 설정
ssl.ca-file = "/usr/local/lighttpd/conf/ssl/www.ucert.co.kr.ca-bundle"
* 설명 : 도메인 명
server.name = "www.ucert.co.kr"
* 설명 : 홈 디렉토리
server.document-root = "/srv/www/vhosts/ucert/"
index-file.names += ( "index.html", "index.xhtml", "index.htm", "default.htm", "index.php" )
}

#### status module
#status.status-url = "/server-status"
#status.config-url = "/server-config"

#### auth module
## read authentication.txt for more info
#auth.backend = "plain"
3) lighttpd 재기동
[root@localhost conf]# /etc/rc.d/init.d/lighttpd restart
lighttpd 를 정지 중: [ OK ]
lighttpd (을)를 시작 중: Enter PEM pass phrase: [개인키 패스워드 입력]
[ OK
]
[root@localhost conf]#
4) 인증서 확인
[root@localhost ~]# netstat -nap | grep httpd
tcp 0 0 :::80 :::* LISTEN 19301/lighttpd
tcp 0 0 :::443 :::* LISTEN 19301/lighttpd

443포트 Listen 된 상태에서 아래의 명령어를 사용하여 로컬에서 인증서를 확인 합니다.
[root@localhost ~]# openssl s_client -connect 127.0.0.1:443 | openssl x509

depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify error:num=20:unable to get local issuer certificate
verify return:0
-----BEGIN CERTIFICATE-----
MIIE2jCCA8KgAwIBAgICD/cwDQYJKoZIhvcNAQEFBQAwPDELMAkGA1UEBhMCVVMx
FzAVBgNVBAoTDkdlb1RydXN0LCBJbmMuMRQwEgYDVQQDEwtSYXBpZFNTTCBDQTAe
Fw0xMDEyMTQxMDQ4NTlaFw0xMjAyMTUyMTM4MjBaMIHlMSkwJwYDVQQFEyBrdW9u
SXgyYmI0a0lxZGpvWWE1bklYQWRxNVl6dG9RUDELMAkGA1UEBhMCS1IxGDAWBgNV
BAoTD3d3dy51Y2VydC5jby5rcjETMBEGA1UECxMKR1Q1NDc2OTQxMDExMC8GA1UE
CxMoU2VlIHd3dy5yYXBpZHNzbC5jb20vcmVzb3VyY2VzL2NwcyAoYykxMDEvMC0G
A1UECxMmRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkIC0gUmFwaWRTU0woUikxGDAW
BgNVBAMTD3d3dy51Y2VydC5jby5rcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMl6qA1dEc/FKw2qSjlh0iZDVGp+zqjBXW/iwkcnEZCzy/wxauh85OwM
G4TZ2FhJQabssuyVocWJGE/Fq3sO6U6lYZwycUKWN45sZTLGhdCbC0ZSb0OUq7tx
A8pDSqH/2/kG8a/Yfn8zGmXgsWi5swgfPKIa7dcmnmglA1x4YDquo0npWMizgt2z
mqQcuY5S/QKCDZo5Ee1BXaS4D7ZHiXzw5W9sDtsqo1nO37gLHTpNhIQrYnzN4ay7
l0FHLxiwEi2O/gndd4Z4/Rr0loFTdemStSPQlIRTag/+8/tMo+BoxHmPFTuWyNAb
MShN1eti+c0qWGsHigjvXMWtyg0NT4UCAwEAAaOCATowggE2MB8GA1UdIwQYMBaA
FGtpPWoYQkrdjwJlOf01JIZ4kRYwMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwJwYDVR0RBCAwHoIPd3d3LnVjZXJ0LmNvLmty
ggt1Y2VydC5jby5rcjBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vcmFwaWRzc2wt
Y3JsLmdlb3RydXN0LmNvbS9jcmxzL3JhcGlkc3NsLmNybDAdBgNVHQ4EFgQUkHru
EM3YsHLS8SjMWr7kBkyKu/YwDAYDVR0TAQH/BAIwADBJBggrBgEFBQcBAQQ9MDsw
OQYIKwYBBQUHMAKGLWh0dHA6Ly9yYXBpZHNzbC1haWEuZ2VvdHJ1c3QuY29tL3Jh
cGlkc3NsLmNydDANBgkqhkiG9w0BAQUFAAOCAQEAcjR0KR5MnA8gJFhZ4GRHSfvD
N2WX88pZPtE0BlEOU18HLLg8xL5Bb8exvX5+sExHS9zasRHUIPAYpwALSf4/WP7M
96ZMAEAggR9Dt8pCyFO7QXgkB3QQ7EsEK+s01wSWxMN5/ZcSV7O0k/DF83DH118x
/DFVeGNJsbwC0BEzVe/HnmBo77dxCdG+M16R59s2BjEr9Lq9sNnnE3drqs51qrs+
T0CyUWSpZ9KhlwjcLCMKe/SY8WIXIYaAx+IqJ7XJQU+GV1AJP3zHldhngL7eMMFo
ROpAHbjfkI0XboRtTAVs0K46omCAA4JViVF1DDKaXPZ+swif4GlzY/ijwPLDkA==
-----END CERTIFICATE-----

인증서 만료일 확인 방법
[root@mail ~]# openssl s_client -connect localhost:443 < /dev/null 2>&1 | openssl x509 -noout -enddate
notAfter=Feb 15 21:38:20 2012 GMT

설명 : 로컬에서 인증서 출력이 정상적이고 외부에서 https://[도메인]으로 브라우저 접속 시 통신이 되지 않을 경우 내부 방화벽(예. iptables), 외부 방화벽 등에 SSL포트가 Allow (또는 웹방화벽에 인증서가 설치가) 되어 있는지 확인 합니다.


  • |
  • |
  • |
  • |
  • |