98..Etc/Server2008. 12. 1. 11:50
반응형

보안서버 구축 가이드- Ver 0.9 - (pdf)

보안서버 구축 가이드
- Ver 0.9 -
2007. 2
주 의 사 항
이 가이드의 사용에는 어떠한 제한도 없지만 다음과 같은 사항에 주의하여야 합니다.
◦ 문서 내에 언급된 상표, 제품명 등에 대한 권리는 각 상표 또는 제품을 소유한
해당 기업에 있으며, 설명을 위해 특정 회사 제품명이나 화면이 표시된 경우
보안서버 구축을 위한 참고자료로써의 고유 목적 외에 어떠한 다른 목적도
없으며 그렇게 이용되어서도 안됩니다.
◦ 문서 내에 기술된 예시 등은 일반 사용자, 기업 등에 있을 수 있는 고유한
환경을 고려하지 않았으므로 실제 환경에서는 그대로 적용되지 않을 수 있습니다.
그러므로 각 장에 기술된 내용을 적용할 때에는 먼저 각 사용자, 기업의 고유한
환경에 적합한지 확인할 필요가 있으며, 내용의 오류로 인해 발생하는 피해에
대하여 본 가이드의 발행기관은 책임을 지지 않습니다.
※ 이 가이드의 내용 중 오류를 발견하였거나 내용에 대한 의견이 있을 때에는
securekorea@kisa.or.kr로 해당 내용을 보내주시기 바랍니다.
가이드의 구성
이 가이드는 사용자들의 이해를 돕기 위하여 다음과 같이 구성되어 있습니다.
Ⅰ 장과 Ⅱ 장은 사용자들이 반드시 알아야 하는 기본적인 사항들입니다. 꼭 읽어보시고
각 업체의 환경에 적합한 보안서버를 선택해야 합니다.
보안서버 구축 방법을 선택하였다면, Ⅲ 장 ~ Ⅴ 장 중 상황에 맞는 내용을 참조하시면 됩니다.
각 장에 소개되는 설치 방법과 오류시 대처방법을 숙지한 후 보안서버 구축 전문업체에
연락하시면 보다 자세한 안내를 받을 수 있습니다.
Ⅵ 장은 보안서버를 구축한 후, 실제 웹페이지에서 수정해야 할 내용에 관한 가이드입니다.
웹페이지 적용 방법과 실제 사례를 포함하고 있으며, 보안서버가 적용되었는지 확인하는
방법을 알아보실 수 있습니다.
Ⅶ 장은 정보통신부에서 추진하고 있는 보안서버 구축 확대에 관한 FAQ를 정리한 것입니다.
2005년부터 현재까지 웹사이트 운영자들이 자주 질문하신 내용을 정리한 것이므로
우선 궁금하신 내용이 있는지 확인한 후 추가적인 문의는 보안서버전문협의회 홈페이지
(www.kisia.or.kr/secureserver)를 참조하거나 securekorea@kisa.or.kr로 문의하시기 바랍니다.
부록에는 멀티도메인 SSL 인증서와 SSL 가속기에 대한 설명이 포함되어 있습니다.
목 차 내 용
Ⅰ. 보안서버란
- 보안서버의 정의 및 필요성
- 보안서버 관련 규정
Ⅱ. 어떻게 시작하지?
- 보안서버의 종류
- 전문 구축업체 목록 및 연락처
Ⅲ. SSL 방식 보안서버 구축하기
- SSL 방식 보안서버 소개 및 설치방법
- 오류시 대처방법
Ⅳ. 응용프로그램 방식 보안서버 구축하기
- 응용프로그램 방식 소개 및 설치방법
- 오류시 대처방법
Ⅴ. 웹호스팅업체의 보안서버 구축하기
- 웹호스팅서비스 이용자와 제공업체를 위한
보안서버 구축절차
Ⅵ. 웹페이지 수정 및 적용 확인하기
- 웹페이지 적용방법 및 사례
- 보안서버 적용 확인하는 방법
Ⅶ. 제도 관련 FAQ - 보안서버 구축 확대 관련 질문과 답변
부록 - 멀티도메인 SSL 인증서 및 SSL 가속기 소개
목 차
Ⅰ. 보안서버 (Secure Server)란 ··························································1
1. 보안서버의 정의 ·······················································································1
2. 보안서버 구축의 필요성 ·········································································1
가. 정보유출 방지(sniffing 방지) ··························································1
나. 위조사이트 방지(phising 방지) ······················································2
다. 기업의 신뢰도 향상 ··········································································2
3. 보안서버 관련 규정 ·················································································3
Ⅱ. 어떻게 시작하지? ·············································································4
1. 보안서버의 종류 ·······················································································4
가. SSL 방식 ·····························································································4
나. 응용프로그램 방식 ············································································5
2. 보안서버 구축 전문업체 ·········································································6
3. 보안서버 구축 절차 흐름도 ···································································7
Ⅲ. SSL 방식 보안서버 구축하기 ······················································8
1. 소개 및 인증서 발급 절차 ·····································································8
가. 개요 ······································································································8
나. 보안서버 구축 절차 ··········································································9
2. 설치 과정 ·································································································10
2.1 IIS 서버에서의 설치 과정 ·······························································10
가. 개인키 생성 및 CSR 생성 방법 ················································10
나. SSL 설정 ···························································································16
2.2 아파치 서버에서의 설치 과정 ························································19
가. 아파치 서버에 Openssl과 MOD_SSL의 설치 방법 ·················19
나. 개인키 생성 및 CSR 생성 방법 ··················································21
다. 인증서 설치 방법 ············································································22
3. 오류 발생시 대처방법 ···········································································24
Ⅳ. 응용프로그램 방식 보안서버 구축하기 ··································30
1. 소개 및 보안서버 구축 절차 ·······························································30
가. 개요 ····································································································30
나. 보안서버 구축 절차 ········································································31
다. 프로토콜 설명 ··················································································33
2. 설치 과정 ·································································································34
가. 클라이언트 모듈 설치 ····································································34
나. 서버 모듈 설치 ················································································35
다. 사이트 접속 ······················································································36
3. 오류 발생시 대처방법 ···········································································38
Ⅴ. 웹호스팅업체의 보안서버 구축하기 ·········································40
1. 보안서버 구축 절차 ···············································································40
2. 보안서버 구축 전 확인사항 체크 ·······················································41
가. 발급 도메인에 대한 정보 확인 ····················································41
나. CSR 생성 및 보안서버 적용 ························································43
3. 웹호스팅서비스 제공업체의 고려사항 ···············································43
가. 서비스 제공 서버에서 개별 인스턴스로 서비스가 가능한지 여부 ····· 43
나. SSL 보안 포트 서비스 가능 여부 ···············································44
다. SSL 서비스 가능 여부 ···································································44
라. 인증서 신청하기 ··············································································45
4. 보안서버 구축상태 확인 ·······································································46
Ⅵ. 웹 페이지 수정 및 적용 확인하기 ···········································47
1. 웹 페이지 수정 방법 및 사례 ·····························································47
가. 전체 페이지 암호화하기 ································································47
나. 페이지별 암호화하기 ······································································50
다. 프레임별 암호화하기 ······································································53
라. 체크박스를 이용한 선별적 암호화하기 ······································60
2. 보안서버 적용 확인하기 ·······································································62
가. 보안서버 적용 확인 방법 ······························································62
나. 인증서의 암호화 상태 확인 방법 ················································65
Ⅶ. 제도 관련 FAQ ··············································································69
부록 A. 멀티도메인 SSL 인증서 소개 ···········································74
부록 B. SSL 가속기 소개 ···································································84
그림목차
<그림 1-1> 보안서버 구축의 필요성 ··························································2
<그림 2-1> SSL 방식의 보안서버 실행 확인 ·············································5
<그림 2-2> 응용프로그램 방식의 보안서버 실행 확인 ····························5
<그림 2-3> 보안서버 구축 절차 흐름도 ······················································7
<그림 3-1> SSL 방식의 보안서버 개념도 ···················································8
<그림 3-2> SSL 방식 보안서버 구축 절차 ·················································9
<그림 3-3> Mod-SSL 설치 확인 예 ····························································20
<그림 4-1> 응용프로그램 방식 보안서버 구축 절차 ······························31
<그림 4-2> 서버 플랫폼의 구성 ··································································32
<그림 4-3> 응용프로그램 방식 프로토콜 ··················································34
<그림 4-4> 암호화 모듈 설치를 위한 보안경고창 ································36
<그림 4-5> 암호화 모듈 설치 ······································································37
<그림 4-6> 암호화 통신 확인 ······································································37
<그림 5-1> 웹호스팅업체의 보안서버 구축 절차 ····································41
<그림 5-2> WHOIS를 통한 도메인 정보 확인 ········································42
<그림 5-3> Mod-SSL 설치 확인 예 ····························································45
<그림 6-1> 평문 통신을 위한 HTML 소스코드 ······································48
<그림 6-2> https 프로토콜을 호출하기 위한 HTML 소스코드 ··········· 48
<그림 6-3> 아파치 서버에서의 Redirection ··············································49
<그림 6-4> HTML Tag를 이용한 Redirection ·········································49
<그림 6-5> Javascript를 이용한 Redirection ············································50
<그림 6-6> 페이지별 암호화 대상 메뉴 ····················································50
<그림 6-7> 페이지별 암호화 대상 메뉴의 소스코드 ······························51
<그림 6-8> SSL이 적용된 페이지의 경고창 ·············································51
<그림 6-9> http 평문 통신 주소가 호출되는 웹페이지의 속성 ···········52
<그림 6-10> https를 통한 암호화 통신 ·····················································52
<그림 6-11> http를 통한 평문 통신 ···························································52
<그림 6-12> 프레임이 포함된 웹페이지 ····················································54
<그림 6-13> topmenu.htm을 https로 호출하기 ·······································54
<그림 6-14> topmenu.htm과 main.htm을 https로 호출하기 ················55
<그림 6-15> 비암호화된 페이지 호출하기 ················································55
<그림 6-16> HTTP 호출시 80 포트 모니터링 결과 ································56
<그림 6-17> topmenu.htm만 암호화하여 호출하기 ································56
<그림 6-18> topmenu.htm의 내용만 암호화된 모니터링 결과 ············57
<그림 6-19> topmenu.htm과 main.htm을 https로 호출하기 ················58
<그림 6-20> index.html의 내용만이 모니터링된 결과 ···························58
<그림 6-21> https를 이용한 호출 ·······························································59
<그림 6-22> https 호출시 80 포트 모니터링 결과 ·································59
<그림 6-23> 로그인시 보안접속 체크박스를 이용하기 위한 HTML 소스코드······61
<그림 6-24> 평문 통신 ··················································································63
<그림 6-25> 암호화된 통신 ··········································································63
<그림 6-26> 암호화 통신이 이루어지고 있음을 보여주는 자물쇠 이미지 ····· 64
<그림 6-27> 보안이 적용된 웹페이지 등록정보 ······································65
<그림 6-28> 보안이 적용된 웹페이지 접속 ··············································66
<그림 6-29> 자물쇠 이미지를 통한 암호화 방식 확인 ··························66
<그림 6-30> 보안이 적용된 웹페이지의 등록정보 중 인증서 버튼 ····· 67
<그림 6-31> 보안이 적용된 웹페이지의 인증서 기본 정보 확인 ········ 67
<그림 6-32> 보안이 적용된 웹페이지의 인증서 상세정보 확인 ··········68
<그림 A-1> 멀티도메인 SSL 인증서의 CN이 있는 도메인과 없는 도메인의 동작····· 76
<그림 A-2> 암호화 통신이 이루어지고 있음을 보여주는 자물쇠 이미지 ····· 76
<그림 A-3> 다수의 CN이 포함된 멀티도메인 SSL 인증서 ··················77
<그림 A-4> 보안이 적용된 웹페이지 속성 확인 ·····································77
<그림 A-5> 아파치 서버에서 평문 통신을 위한 가상호스팅 설정 ······ 78
<그림 A-6> 아파치 서버에서 암호화 통신을 위한 가상호스팅 설정 ······· 79
<그림 A-7> CMD command 실행 모습 ····················································80
<그림 A-8> IIS 관리자에서 Site Identifier와 Host header 값 확인 ···80
<그림 A-9> SecureBindings 메타베이스 추가 ··········································81
<그림 A-10> SecureBindings을 통한 443 포트 공유 ······························81
<그림 A-11> SecureBindings 제거 ······························································81
보안서버 구축 가이드 1
Ⅰ. 보안서버(Secure Server)란
1. 보안서버의 정의
보안서버란 인터넷상에서 사용자 PC와 웹 서버 사이에 송수신되는
개인정보를 암호화하여 전송하는 서버를 의미합니다. 또한 보안서버는
해당 전자거래 업체의 실존을 증명하여 고객과 웹 서버간의 신뢰를
형성하고, 웹 브라우저와 웹 서버간에 전송되는 데이터의 암/복호화를
통하여 보안 채널을 형성합니다.
인터넷상에서 송․수신되는 개인정보의 대표적인 예로는 로그인시 ID/
패스워드, 회원가입시 이름/전화번호, 인터넷 뱅킹 이용시 계좌 번호/
계좌 비밀번호 등이 해당됩니다.
인터넷 상에서 암호화되지 않은 개인정보는 가로채기 등의 해킹을 통해
해커에게 쉽게 노출될 수 있으므로, 웹 서버에 보안서버 솔루션을
설치하면 해커가 중간에 데이터를 가로채도 암호화 되어 있어 개인정보가
노출되지 않습니다.
2. 보안서버 구축의 필요성
가. 정보유출 방지(sniffing 방지)
학교, PC방, 회사 등의 공용 네트워크를 사용하는 PC에서 보안서버가
구축되지 않은 사이트로 접속할 경우, 개인정보가 타인에게 노출될
가능성이 매우 높습니다. 스니핑 툴(sniffing tool)을 사용할 경우
다른 사람의 개인정보(ID/패스워드/이메일/주민번호/주소/전화번호 등)을
손쉽게 얻을 수 있습니다. 따라서 보안서버는 개인정보보호를 위해서
반드시 필요합니다.
2 보안서버 구축 가이드
나. 위조사이트 방지(phising 방지)
보안서버가 구축된 사이트를 이용하여 피싱(phishing) 공격을 시도하기는
어렵습니다. 따라서 보안서버가 구축된 사이트는 피싱에 의한 피해를
줄일 뿐만 아니라 고객의 신뢰를 얻을 수 있습니다.
다. 기업의 신뢰도 향상
고객의 개인정보를 안전하게 관리하는 기업이라는 이미지를 부각시킬 수
있습니다. 인터넷상의 암호화되지 않은 개인정보는 가로채기 등의
해킹을 통해 해커에게 쉽게 유출될 수 있습니다. 암호화된 개인정보는
해킹을 당해도 보호받을 수 있습니다.
<그림 1-1> 보안서버 구축의 필요성
※ 피싱(Phishing)이란, 개인정보(private data)와 낚시(fishing)를 합성한 조어로써,
금융기관 등의 웹사이트나 거기서 보내온 메일로 위장하여 개인의 ID 및
패스워드, 신용카드번호, 계좌정보 등을 빼내 이를 불법적으로 이용하는
사기수법을 뜻한다.
보안서버 구축 가이드 3
3. 보안서버 관련 규정
보안서버 구축 관련 규정은 아래와 같으며, 전체 법조항이 필요하신 경우는
정보통신부 홈페이지(www.mic.go.kr)나 법제처 홈페이지(www.moleg.go.kr)를
참조하시기 바랍니다.
1. 정보통신망 이용촉진 및 정보보호 등에 관한 법률
▶ 제28조(개인정보의 보호조치) 정보통신서비스제공자등은 이용자의 개인정보를 취
급함에 있어서 개인정보가 분실·도난·누출·변조 또는 훼손되지 아니하도록 정보
통신부령이 정하는 바에 따라 안전성 확보에 필요한 기술적·관리적 조치를 하여야
한다. <개정 2004.1.29>
▶ 제67조 (과태료) ②다음 각 호의 어느 하나에 해당하는 자는 1천만원 이하의 과태료
에 처한다. <개정 2004.1.29>
8의2. 제28조의 규정을 위반하여 기술적·관리적 조치를 하지 아니한 자
2. 정보통신망 이용촉진 및 정보보호 등에 관한 법률 시행규칙
▶ 제3조의2(개인정보의 보호조치) ①법 제28조의 규정에 의한 개인정보의 안전
성 확보에 필요한 기술적·관리적 조치는 다음 각호와 같다.(중간 생략)
4. 개인정보를 안전하게 저장·전송할 수 있는 암호화기술 등을 이용한 보안조치
(이하생략)
3. 개인정보의 기술적⋅관리적 보호조치 기준
▶ 제5조(개인정보의 암호화) ②정보통신서비스제공자등은 정보통신망을 통해 이용자
의 개인정보 및 인증정보를 송·수신할 때에는 보안서버 구축 등의 조치를 통해
이를 암호화해야 한다. 보안서버는 다음 각호의 어느 하나의 기능을 갖추어야 한
다. <개정 2007.1.29>
1. 웹서버에 SSL(Secure Socket Layer) 인증서를 설치하여 개인정보를 암호화하
여 송․수신하는 기능
2. 웹서버에 암호화 응용프로그램을 설치하여 개인정보를 암호화하여 송․수신하
는 기능
③정보통신서비스제공자등은 이용자의 개인정보를 PC에 저장할 때에는 이를 암
호화해야 한다.
4 보안서버 구축 가이드
Ⅱ. 어떻게 시작하지?
1. 보안서버의 종류
보안서버는 구축 방식에 따라 크게 「SSL 방식」과 「응용프로그램 방식」
2가지로 구분할 수 있습니다. 보안서버를 구별하는 방법은 아래와
같습니다.
가. SSL 방식
「SSL 인증서」를 이용한 보안서버는 사용자 컴퓨터에 별도 보안 프로그램
설치가 필요없으며, 웹 서버에 설치된 「SSL 인증서」를 통해 개인정보를
암호화하여 전송합니다. 보안서버 구축에 소요되는 비용이 상대적으로
저렴하지만 주기적으로 인증서 갱신을 위한 비용이 소요됩니다.
로그인 페이지 등 보안이 필요한 웹페이지에 접속한 상태에서
브라우저 하단 상태 표시줄에 자물쇠 모양의 마크로 확인할 수 있으며,
웹사이트의 구성 방법에 따라 자물쇠 모양의 마크가 보이지 않을 수
있습니다.
보안서버 구축 가이드 5
<그림 2-1> SSL 방식의 보안서버 실행 확인
나. 응용프로그램 방식
암호화 응용 프로그램을 이용한 보안서버는 웹 서버에 접속하면 사용자
컴퓨터에 자동으로 보안 프로그램이 설치되고 이를 통해 개인 정보를
암호화하여 전송합니다.
웹사이트 접속 시 초기화면이나 로그인 후 윈도우 화면 오른쪽 하단
작업표시줄 알림영역에 다음 그림과 같은 암호화 프로그램 실행여부를
확인할 수 있으며, 응용프로그램에 따라 모양은 다르게 나타날 수
있습니다.
<그림 2-2> 응용프로그램 방식의 보안서버 실행 확인
6 보안서버 구축 가이드
2. 보안서버 구축 전문업체
보안서버 구축 방법과 절차에 관한 보다 구체적인 내용은 다음의
「보안서버전문협의회」회원사 중 선택하여 문의하거나 평소 알고 있는
보안서버 구축 전문업체를 통하여 자세한 설명을 받을 수 있습니다.
회사명 홈페이지 연락처
SSL 방식 솔루션 공급 업체
한국전자인증(주) www.crosscert.com 1588-1314
한국정보인증(주) www.kica.net (02) 360-3065
이모션 www.trust1.co.kr (02) 542-1987
(주)한국무역정보통신 www.tradesign.co.kr (02) 6000-2162
(주) 한비로 comodossl.co.kr 1544-4755
(주)닷네임코리아 www.anycert.co.kr 080-456-7770
나인포유 www.certkorea.co.kr (02) 3444-2750
(주)아이네임즈 cert.inames.co.kr (02) 559-1006
응용 프로그램 방식 솔루션 공급 업체
한국전자인증(주) www.crosscert.com 1588-1314
이니텍(주) www.initech.com (02) 2140-3553
한국정보인증(주) www.signgate.com (02) 360-3065
(주)케이사인 www.ksign.com (02) 564-0182
드림시큐리티 www.dreamsecurity.com (02) 2233-5533
시큐리티 테크놀로지(STI) www.stitec.com (02) 558-7391
펜타시큐리티시스템(주) www.pentasecurity.com (02) 780-7728
소프트포럼 www.softforum.co.kr (02) 526-8423
(주)코스콤 www.signkorea.co.kr (02) 767-7224
엠큐릭스(주) www.mcurix.com (02) 2253-8882
유넷시스템(주) www.unetsystem.co.kr (02) 390-8000
보안서버 구축 가이드 7
☑ 서버의 운영은 어떻게 하고 계신가요?
↓ ↓
단독 서버 운영 웹호스팅서비스 이용

☑ 보안서버 종류와 전문업체를 결정하셨나요? ↓
↓ ↓
Ⅲ.
SSL 방식
보안서버 구축하기
Ⅳ.
응용프로그램 방식
보안서버 구축하기
Ⅴ.
웹호스팅업체의
보안서버 구축하기
웹 서버 기종 확인 구축 절차 확인
구축 절차 및
구축 전 확인사항 체크
↓ ↓ ↓ ↓
IIS 서버에서의
설치 과정
아파치 서버에서의
설치 과정
보안서버 설치 및
구축 완료
웹호스팅서비스
제공업체와의 협의 및
보안서버 설치
↓ ↓ ↓ ↓
오류시 대처방법 오류시 대처방법 보안서버 구축 확인
↓ ↓
Ⅵ. 웹페이지 수정 및 적용 확인하기
<그림 2-3> 보안서버 구축 절차 흐름도
3. 보안서버 구축 절차 흐름도
지금까지 보안서버의 개념과 종류 등 보안서버를 구축하기 전에
필요한 사항들을 간단하게나마 알아보았습니다. 이제부터는 본격적으로
보안서버 구축 방법에 대하여 알아보겠습니다. 현재 기업의 상황을
확인하시고 아래 절차 흐름도를 참고하여 자신에게 필요한 내용을 찾아
각 장으로 이동하시면 됩니다.
8 보안서버 구축 가이드
Ⅲ. SSL 방식 보안서버 구축하기
1. 소개 및 보안서버 구축 절차
가. 개요
SSL은 Secure Sockets Layer의 머리글이며, 1994년 Netscape에 의해
전세계적인 표준 보안 기술이 개발되었습니다.
SSL 방식은 웹 브라우저와 서버간의 통신에서 정보를 암호화함으로써
도중에 해킹을 통해 정보가 유출되더라도 정보의 내용을 보호할 수 있는
기능을 갖춘 보안 솔루션으로 전세계적으로 수 백 만개의 웹사이트에서
사용하고 있습니다.
아래는 SSL 보안에 대해 그림으로 간단하게 설명해 놓은 것입니다.
<그림 3-1> SSL 방식의 보안서버 개념도
인증기관(Certification Authorities)에서 제공하는 SSL 인증서를 발급받아
웹 서버에 설치하게 되면 웹사이트 이용자들의 거래, ID/패스워드,
개인정보 등을 암호화하여 송수신할 수 있습니다.
보안서버 구축 가이드 9
나. 보안서버 구축 절차
SSL 방식의 보안서버 구축 절차는 다음과 같습니다.
서버의 종류 확인
IIS 서버 / 아파치 서버 등
↓ ↓
2.1
IIS 서버에서의 설치 과정
2.2
아파치 서버에서의 설치 과정
...
↓ ↓
개인키 생성 및 CSR 생성 개인키 생성 및 CSR 생성
↓ ↓
SSL 인증서 발급
인증기관에 CSR 제출 및 인증서 발급 신청

신청자 상세정보 입력 및 결재
↓ ↓
IIS 서버에 설치 및 SSL 설정 아파치 서버에 설치 및 SSL 설정
↓ ↓
3. 오류 발생시 대처방법
<그림 3-2> SSL 방식 보안서버 구축 절차
① SSL 방식의 보안서버를 사용하기 위해서는 운영하고 있는 웹 서버에
보안서버 인증서가 설치되어야 합니다. 보안서버 인증서는 운영 중인
웹 서버에서 '인증서 만들기'를 이용하여 생성합니다.
※ 발급이 완료된 인증서는 재발급 또는 변경이 불가능하기 때문에 새로
발급받으셔야 하며, 새로 발급받을 시 비용이 발생할 수 있으니 CSR
생성시 절대 주의 바랍니다.
② 먼저 운영하는 웹 서버에서 개인키를 만든 후, CSR 파일을 생성하여
인증기관에 보안서버 인증서 발급을 신청합니다.
CSR(Certificate Signing Request)이란 인증서 요청파일의 약어로서
운영하는 URL 및 운영하는 회사의 정보 등이 입력됩니다.
10 보안서버 구축 가이드
③ 인증기관에 CSR을 이용하여 인증서를 신청할 때 회사의 담당자
정보 등을 입력합니다. 인증서 발급 심사 후에 신청 시 입력한
담당자의 E-mail 주소로 인증서가 발급됩니다.
④ 발급받은 인증서를 운영 중인 웹 서버에 설치하게 되면 SSL 방식의
보안서버 설정을 완료하게 됩니다.
서버호스팅 서비스를 받고 있는 고객의 경우에는 서버에 대한 관리자
권한이 고객에게 있기 때문에 고객이 직접 CSR 생성 및 인증서 발행 후에
설치를 진행해야 하며, 호스팅 서비스 제공업체에게 보안서버 구축
대행을 요청하게 되면 설치대행비가 부과될 수 있습니다.
SSL 방식의 보안서버 구축은 서버의 운영체제에 따라 적용절차가
모두 다르므로, 가장 많이 사용되는 IIS와 아파치 서버를 중심으로
설명하겠습니다. IIS 서버에 설치하는 경우는 2.1의 내용을 참고하시고,
아파치 서버에 설치하는 경우는 2.2의 내용을 참고하시기 바랍니다.
향후 다른 종류의 서버에 SSL 방식의 보안서버를 설치하는 방법을
추가해 나갈 예정입니다.
2. 설치 과정
2.1 IIS 서버에서의 설치 과정
가. 개인키 생성 및 CSR 생성 방법
① 웹사이트 속성 선택
시작→프로그램→관리도구→인터넷 서비스 관리자→웹사이트→속성
보안서버 구축 가이드 11
② 등록정보 화면에서 디렉토리 보안을 클릭한 후 서버 인증서를
클릭합니다.
③ 웹 서버 인증서 마법사를 시작합니다. ‘새 인증서를 만듭니다’를
선택합니다.
12 보안서버 구축 가이드
④ ‘요청을 준비하지만 나중에 보냅니다’를 선택합니다.
⑤ 인증서를 만들 이름을 입력하시기 바랍니다.
이름은 인증서의 별칭이므로 쉬운 것으로 입력하여 주시기 바랍니다.
인증서 키의 길이는 1,024가 표준입니다. 비트 길이가 너무 크면
서버에서 인지하지 못할 경우도 있습니다.
보안서버 구축 가이드 13
⑥ 조직 및 조직 구성 단위를 입력합니다.
조직은 회사의 영문 전체 이름을 입력하고, 조직 구성단위는 영문
부서명을 입력합니다.(모든 내용은 영문으로 입력합니다)
⑦ 인증받을 도메인 이름을 입력하시기 바랍니다.
14 보안서버 구축 가이드
⑧ 지역 정보를 입력합니다.(모든 내용은 영문으로 입력합니다.)
⑨ 인증서 요청파일(CSR)을 저장합니다.
보안서버 구축 가이드 15
⑩ 신청한 내용을 다시 한 번 확인합니다.
⑪ 인증서 신청을 완료합니다.
⑫ CSR 내용을 인증기관에게 메일로 송부하시던지 인증서 신청화면에
붙여 넣으신 후 인증서 신청을 진행하시면 됩니다.
자, 이제 인증기관의 발급 절차에 따라서 인증서가 발급됩니다.
16 보안서버 구축 가이드
나. SSL 설정
① 웹사이트 속성 선택
시작→프로그램→관리도구→인터넷 서비스 관리자→웹사이트→속성
② 등록정보 화면에서 디렉토리 보안을 클릭한 후 서버 인증서를
클릭합니다.
보안서버 구축 가이드 17
③ 보류중인 요청을 처리합니다.
④ 보류 중인 요청 처리-메일을 통하여 받은 인증서(-----begin 부터
end-----까지)를 저장한 파일을 선택합니다. 인증서 파일을 선택한 후
다음 버튼을 누릅니다.
18 보안서버 구축 가이드
⑤ 인증서 요약 - 현재 설치하시고자 하는 인증서의 내용이 보여집니다.
만약에 신청하신 내용과 일치하지 않으면, 경고 메시지가 뜨며,
인증서가 설치되지 않습니다. 그럴 경우에는 현재의 요청을 삭제하신 후,
새로운 인증서를 신청하셔야 합니다.
⑥ 인증서 설치 후의 설정 - 기본 웹 사이트의 등록정보에서 웹사이트 탭을
선택합니다. 웹 사이트 확인 섹션에서 고급 버튼을 클릭해서 SSL 포트에
443을 설정해줍니다.(기본적으로 443을 사용하지만, 사이트 운영자가
1~65535 범위내에서 임의로 포트번호를 설정할 수 있습니다)
보안서버 구축 가이드 19
⑦ 인증서 설치 확인 - 인증서가 정확히 설치되었는지 인증서가 설치된
홈페이지를 통해 확인할 수 있습니다.
https://인증서 신청 URL에 접속해서 하단에 노란자물쇠 버튼이
뜨는지 확인합니다. 만일 443이 아닌 다른 포트로 SSL 포트를
적용하였을 경우에는 주소창 뒤에 포트번호를 지정해야 확인할 수
있습니다.(예 : https://www.kisa.or.kr:442)
⑧ 이제 SSL 인증서의 설치가 완료되었습니다. Ⅵ장으로 이동하셔서
실제 웹페이지를 어떻게 수정해야 하는지 알아보겠습니다.
2.2 아파치 서버에서의 설치 과정
가. 아파치 서버에 Openssl과 MOD_SSL의 설치 방법
아파치 서버에서 SSL 통신을 가능하게 하기 위해서는 OpenSSL과
mod_ssl이 필요합니다.
우선, 현재 서비스 중인 Apache 서버에 Mod_SSL이 설치되어 있는지를
httpd -l 옵션을 사용하여 Mod_SSL.c 또는 Mod_SSL.so가 있는지 확인하시기
20 보안서버 구축 가이드
바랍니다. 만일 설치되어 있다면 ‘나. 개인키 생성 및 CSR 생성 방법’ 과정으로
이동하시기 바랍니다.
<그림 3-3> Mod-SSL 설치 확인 예
OpenSSL은 최신버전으로 설치하는 것을 권장하지만 서버의 환경에
따라서 적합한 버전으로 설치하는 것이 좋습니다. 서버 환경에 맞는
OpenSSL 버전은 www.openssl.org에서 확인할 수 있습니다.
또한 Mod_SSL은 반드시 Apache 버전에 맞는 것을 설치하셔야 하며
www.modssl.org에서 Apache 버전을 확인 한 후 그에 맞는 mod_SSL을
다운받아 설치하시기 바랍니다.
① OpenSSL의 설치(www.openssl.org)
압축풀기
$ gzip -cd openssl-0.9.6.tar.gz | tar xvf -
$ ./config$ make$ make installconfig
☞ prefix를 주지 않았을 때에는 /usr/local/ssl 디렉토리에 설
치가 됩니다.
다른 디렉토리에 설치를 하고자 한다면 다음과 같이 합니다.
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
☞ OpenSSL의 실행파일은 /usr/local/ssl/bin에 설치되고
인증서비스를 위한 파일들은/usr/local/openssl 아래의
디렉토리에 생성됩니다.
보안서버 구축 가이드 21
② mod_ssl의 설치 (www.modssl.org)
압출풀기
$ gzip -cd apache_1.3.19.tar.gz | tar xvf
$ gzip -cd mod_ssl-2.8.1-1.3.19.tar.gz | tar xvf
파일의 다운로드와 압축풀기가 끝나면 mod-ssl 설정을 합니다.
mod-ssl 설정
$ cd mod_ssl-2.8.1-1.3.19
$ ./configure \
--with-apache=../apache_1.3.19 \
--with-ssl=../openssl-0.9.6 \
--prefix=/usr/local/apache
③ Apache Server 설치(www.apache.org )
$ cd ../apache_1.3.x
$ SSL_BASE=../openssl-0.9.6 \
./configure \
--prefix=/usr/local/apache \
--enable-module=ssl \
$ make
$ make certificate
$ make install
나. 개인키 생성 및 CSR 생성 방법
① 랜덤 넘버 생성
$ openssl md5 * > rand.dat
② 키 쌍 생성
$ openssl genrsa -rand rand.dat -des3 -out 1024 > key.pem
☞ 개인키 비밀번호를 입력하며 반드시 기억해야 합니다. (암호를
분실할 경우 SSL 사용을 위한 apache를 구동할 수 없습니다)
22 보안서버 구축 가이드
③ 생성된 키 쌍을 이용하여 CSR생성
$ openssl req -newkey key.pem > csr.pem
☞ 여기서 key.pem은 단계 ②에서 생성한 키 이름이며 csr.pem은
출력 CSR 파일의 이름입니다.
다음 정보를 입력하라는 메시지가 나타납니다. (모든 내용은 영문으로
작성해야 하며, 아래는 입력 예입니다)
Country(국가 코드) KR
State/province (시/도의 전체 이름) Seoul
Locality(시,구,군 등의 이름) Songpa-gu
Organization(회사 이름) test (이니셜 또는 약자 금지. Full name입력)
Organization Unit(부서명) : team
Common Name (host name + domain name) : cert.kisa.or.kr
"추가 속성"을 입력하라는 메시지가 나타나면 그냥 넘어가셔도 무방합니다.
④ CSR 제출
생성된 CSR(예:csr.pem)의 내용은 다음과 같습니다.
-----BEGIN CERTIFICATE REQUEST-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEh
MB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNAQkB
FgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV1LQG
fcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE REQUEST-----
CSR 내용을 인증기관에게 메일로 송부하시던지 인증서 신청화면에
붙여넣으신 후 인증서 신청을 진행하시면 됩니다.
인증기관의 발급 절차에 따라서 인증서가 발급됩니다.
다. 인증서 설치 방법
보안서버 구축 가이드 23
① 메일로 받은 인증서를 복사하여 파일로 저장합니다.(예: Cert.pem)
-----BEGIN CERTIFICATE-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0Z
TEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNA
QkBFgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV
1LQGfcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwE
AAaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE-----
② 아파치 서버에 적절한 위치에 저장합니다.
③ 환경설정 파일(httpd.conf 또는 ssl.conf)을 수정합니다.
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot /Apache/htdocs
ServerName @@ServerName@@:443
ServerAdmin cs@crosscert.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLCertificateFile /Apache/ssl/cert.pem → 인증서 파일 경로
SSLCertificateKeyFile /Apache/ssl/key.pem → 개인키 파일 경로
④ 아파치를 재구동합니다.
./apachectl startssl
아파치 서버에서 SSL을 사용하기 위한 시작 명령어인 startssl을
실행하면 개인키의 비밀번호를 묻는데, 이 비밀번호는 이전의
설치과정 중 ‘나. 개인키 생성 및 CSR 생성 방법’ 중 ② 키 쌍 생성시
입력한 개인키 비밀번호를 입력하시면 됩니다.
이제 SSL 인증서의 설치가 완료되었습니다. Ⅵ장으로 이동하셔서
실제 웹페이지를 어떻게 수정해야 하는지 알아보겠습니다.
24 보안서버 구축 가이드
인증서는 저마다 고유한 유효기간을 가지고 있는데, 이 기간이
지난 인증서를 계속 설치해 두는 경우에 나오는 경고창입니다.
3. 오류 발생시 대처방법
① 인증서를 발급받은 사이트 주소와 실제로 접속한 사이트 주소가 다른 경우
예를 들어 www.kisa.or.kr로 인증서를 발급받아 설치한 후 실제 적용은
login.kisa.or.kr로 걸어두는 경우와 같이 인증서를 발급받은
주소와 실제로 접속한 주소가 다른 경우에 위와 같은 경고창이
나오게 됩니다.
② 인증서가 유효하지 않은 경우
보안서버 구축 가이드 25
이 경우는 웹 서버 인증서를 발급한 인증기관을 웹 브라우저가
인식하지 못하는 경우로써, 브라우저에는 기본적으로 신뢰할 수 있는
인증기관 리스트가 내장되어 있는데 그 리스트에 없는,
즉 신뢰할 수 없는 인증기관에서 발급된 인증서를 설치한 경우에
발생하는 경고창입니다. 실제로는, 웹 서버에서 자체적으로 만든
인증서를 설치한 경우에 가장 많이 생깁니다.
말 그대로 보안된 항목 https와 보안되지 않은 항목 http를 모두
포함하고 있어 나타나는 보안경고창입니다. https://를 이용해서
암호화 통신을 하고자 하는 페이지의 소스에 http://를 이용하여
그러나, 보통의 경우 인증서가 설치된 사이트에 접속하는 PC의
날짜가 잘못되어 있어서 생기는 경우가 가장 많습니다.
③ 브라우저가 웹 서버 인증서를 신뢰할 수 없는 경우
④ 보안된 항목 https와 보안되지 않은 항목 http를 모두 포함하는 경우
26 보안서버 구축 가이드
호출하는 이미지 등이 존재할 때 보안경고창이 나타나는 것입니다.
이 경우 ‘아니오’ 버튼을 눌러 표시되지 않는 http 항목의 소스를
절대경로를 써서 https로 호출하시면 됩니다.
한 페이지 안에 http://와 https://의 두 프로토콜이 존재하기 때문입니다.
예) HTTP://[로그인 폼 입력 페이지]
∇HTTPS://[로그인 서버 처리]
HTTP://[로그인 완료 페이지]
예를 들어, http://www.kisa.or.kr에서 https://www.kisa.or.kr
/login.jsp로 접속할 때 /login.jsp안에 http://www.kisa.or.kr로
호출하는 직접적인 소스가 있기 때문입니다.
해결방법 : http://리턴URL을 Script를 통해서 Return URL을
설정해 주시면 됩니다.
⑤ 한 페이지에 http://와 https://의 두 프로토콜이 존재하는 경우
⑥ 운영중인 웹 서버를 같은 기종으로 변경하려 합니다.
개인키와 인증서를 백업하신 후 재설치하여 사용이 가능합니다.
서버 이전 또는 변경 전 설치 업체에게 반드시 사전 문의 후
작업을 진행하시기 바랍니다.
보안서버 구축 가이드 27
이 에러는 아래와 같은 이유로 발생합니다.
ⅰ. https 디렉토리에 파일이 존재하지 않을 경우
ⅱ. 서버의 방화벽이나 end-user의 방화벽에서 443 포트가
차단되었을 경우
ⅲ. https 서버가 다운되었을 경우
ⅳ. SSL Certificate 파일이 정상적이지 않을 경우
ⅴ. 웹 브라우저에서 ssl 3.0으로 셋팅이 되어 있지 않을 경우
인증서가 정상적으로 설치되었는지를 확인하시고 서버에서 https를
위한 포트를 활성화 되었는지 확인하시기 바랍니다. 또한 방화벽과
L4 스위치 등 보안장비가 있다면 https를 위한 해당 포트를
모두 허용하여 주시기 바랍니다. IIS 서버의 경우 ‘Netstat –na |
findstr 포트번호’, 아파치 서버의 경우 ‘Netstat –na | grep
포트번호' 명령어를 이용하여 https를 위한 포트가 활성화되어
있는지 확인할 수 있습니다. 위의 모든 내용을 확인한 후에도
정상적으로 동작하지 않을 경우 해당 업체에게 문의하시기 바랍니다.
CSR을 생성하실 경우 해당 정보는 모두 영문으로 작성하여
주셔야 하며 특수문자는 사용하시면 안됩니다. 또한 입력을
요청하는 모든 내용을 입력하시고 다시 한 번 작업을 하시기 바랍니다.
위의 모든 내용을 확인 한 후에도 정상적으로 동작하지 않을 경우
해당 업체에게 문의하시기 바랍니다.
⑦ 운영중인 웹 서버 종류를 다른 기종으로 변경하려 합니다.
개인키와 인증서를 백업하신 후 재설치하여 사용이 가능합니다.
다만 일부 웹 서버 종류는 인증서 및 개인키의 호환이 안되는 경우가
있으니 서버 이전 또는 변경 전 설치 업체에게 반드시 사전 문의 후
작업을 진행하시기 바랍니다.
⑧ https로 접속하면 페이지를 표시 할 수 없다는 페이지가 보입니다.
⑨ CSR 생성이 정상적으로 되지 않습니다.
28 보안서버 구축 가이드
⑩ 아직 도메인이 없는데 IP를 대상으로 인증서 발급이 가능합니까?
인증서는 고유의 식별자를 대상으로 발급됩니다. 즉 개인은
주민등록번호를 기준으로 발급되며 법인은 사업자등록번호로
발급되고, 서버는 도메인을 기준으로 발급되기 때문에 IP 또는
서버이름으로는 발급되지 않습니다. 따라서 도메인을 등록하시거나
서버의 호스트 이름으로 인증서를 신청하셔야 합니다.
⑪ 서브(Secondary) 도메인에 대해서도 보안서버를 적용하고 싶습니다.
어떤 방법이 있을까요?
일반적인 보안서버 인증서는 Host*Domain 단위로 발급되고
적용되게 됩니다. 다른 Host*Domain에 대해서도 보안을 적용하고자
한다면 전문업체와 협의하여 적합한 제품을 구축하셔야
합니다.
⑫ SSL 인증서를 발급 받았는데 도메인의 IP를 변경해도 괜찮은가요?
인증서는 특정 IP로 제한하여 발급되지 않으며, www.test.co.kr처럼
도메인 이름으로 발급이 됩니다. 따라서 IP를 변경해도 무관합니다.
⑬ 인증서 기간이 만료되어 새로 발급받으려고 하는데 CSR 파일을
전에 사용하던 것으로 가능한가요?
보통 웹 서버에서 예전에 사용하던 CSR 파일의 사용이 가능합니다.
그러나 보안상의 이유로 추천하지 않습니다. 인증서를 갱신하실 때마다
새로이 CSR 파일을 생성하시는 것이 좋습니다. 또한 웹 서버
종류마다 반드시 CSR을 생성해야 하는 서버가 있으니 새로
발급받으시기 전에 전문업체에게 문의하시기 바랍니다.
보안서버 구축 가이드 29
⑭ 보안서버가 구축되었는지 확인을 어떻게 하나요?
일반적으로 보안서버가 구축되어 있으면 https://URL로 확인이
가능합니다. 하지만 https://URL을 통해서도 확인이 되지 않는
경우가 있으니 전문업체에게 확인을 하시면 보다 정확하게 진단을
받으실 수 있습니다.
⑮ 우리가 사용하고 있는 서버에 보안서버 설치가 가능하나요?
기본적으로 모든 웹 서버에는 인증서 방식의 보안서버가 설치
가능하지만 서버 환경에 따라서 별도의 작업이 필요할 수도 있습니다.
보안서버 신청 및 설치 전에 전문업체에게 문의하신 후 작업을
진행하시기 바랍니다.
반드시 확인이 필요한 서버는 Apache, Tomcat 등이 있습니다.
출처 : http://jinjin707.tistory.com/117
Posted by 1010