요즘은 웹사이트 구축시, 필수인 SSL 입니다.
웹사이트를 이용하여 클라이언트(PC)의 데이터를 통신할 때, 보안에 취약한 일반적인 80 포트를 사용하지 않고, 암호화된 SSL 포트를 통해서 데이터를 전송하기 위해 서버에 SSL(Secure Sockets Layer)을 설치합니다.
SSL은 보통 전자 결제(PG)를 진행할 때의 결제 정보를 클라이언트에서 서버에 안전하게 전송하기 위해 많이 사용되었고, 이 후, 개인 정보의 중요성이 대두되면서 개인 정보의 전송 시(로그인, 회원가입 등)에도 거의 필수적으로 사용되고 있습니다.
SSL은 서버에 구축만 해놓으면 기존 http 가 아닌 https 프로토콜을 통해 페이지를 호출하는 것만으로도 쉽게 사용할 수 있습니다. 보통 SSL 사용 시, https 통신 프로토콜은 443 포트를 사용하며, 다른 포트로 바꾸어 사용할 수도 있습니다.
SSL과 관련된 기본 지식은 쉽게 찾으실 수 있으니, 여기서는 이만 줄이고, Microsoft IIS 7.0 웹서버에서 SSL 보안 서버를 구축하는 방법에 대해 알아보겠습니다. 이번 포스팅에서는 SSL 보안 인증서 설치에 앞서 CSR 파일을 생성하는 방법에 대해 알아보겠습니다.
CSR 은 Certificate Signing Request 의 약자로, 인증서 서명 요청 이란 의미인데, 간단히 인증서 발급을 위해 필요한 정보를 담고 있는 '인증서 신청 형식'의 데이터라고 보시면 됩니다. 설명 자체도 조금 애매한데요. 좀 더 단순히 말씀드리면 특정 웹서버에 SSL 환경을 구축하기 위해 필요한 정보를 담고 있는 파일이라고 생각하시면 됩니다. SSL은 일반적으로 도메인 명(www.ozit.co.kr *.ozit.co.kr)을 기반으로 생성되는 인증서이기 때문에, CSR 파일에는 인증서를 적용할 도메인에 대한 정보와 공개키기반구조(PKI)의 키 중 공개키(Public Key)를 포함하고 있습니다.
CSR 파일은 서버 및 도메인에 대한 고유의 정보를 포함하고 있기 때문에 아무 서버나 도메인에 설치하여 사용할 수 있는 파일이 아니며, 실제 바로 사용할 수 있는 형태의 파일도 아닙니다. CSR 파일을 기반으로 SSL 환경에 사용할 SSL 인증서 파일을 생성하려면 반드시 Global Sign, Comodo, Thawte, VeriSign 등 국제적으로 SSL 공인 인증을 받은 인증 업체를 통해서 사용하기 원하는 특정 도메인에 대해 CSR 파일을 인증 받아야 합니다.
(참고로 실제 인증서 하나가 특정 도메인에 한정되어 있는 것은 아니며 하나의 인증서로 여러 도메인의 SSL 환경을 구축할 수 있는 Multi-Domain, 하나의 도메인에 여러 서브 도메인의 SSL 환경을 구축할 수 있는 Wild Card 인증서가 있습니다. 단일 도메인에 사용할 수 이있는 Single-Domain 인증서 보다는 Wild Card 인증서가 더 비용이 비싸며, Wild Card 인증서보다는 Multi-Domain 인증서의 비용이 더 비쌉니다.)
이제 SSL 보안 서버 구축을 위해 SSL 인증 보안 업체로 부터 받은 CSR 파일을 준비합니다.
1. 웹서버의 IIS 7.0 을 실행시킵니다.
- 서버 홈을 선택하고, 화면 중앙 하단의 IIS 섹션의 [서버 인증서] 아이콘 위에서 마우스 우측 버튼 클릭합니다.
컨텍스트 메뉴가 뜨면 [기능 열기] 메뉴를 선택합니다.
2. 서버 인증서 화면에서 [인증서 요청 만들기] 메뉴를 선택합니다.
- 서버 인증서 화면의 빈 공간에서 마우스 우측 버튼을 클릭하면 나오는 컨텍스트 메뉴에서 [인증서 요청 만들기] 메뉴를 선택하세요.
3. 인증서 요청 화면에서 도메인에 사용할 인증서 고유 정보를 입력합니다.
1) 일반 이름에는 인증서를 적용할 도메인 명을 입력합니다. (Ex. www.ozit.co.kr) SSL 인증서는 발급 대상인 도메인 명으로 웹 서버를 인증하기 때문에 반드시 정확한 도메인명을 입력해야 합니다. 만약 Multi-Domain 인 경우, SSL 인증서를 발급 받을 모든 도메인 명을 입력하는 것이 아니라 해당 서버에서 CSR을 생성하고자 하는 특정 사이트의 도메인명만 입력하면 됩니다.
2) 조직, 조직 구성 단위, 구/군/시, 시/도, 국가/지역은 인증서의 소유자를 구분하기 위해 입력되는 정보입니다. 한글이 아닌, 영문으로 입력해하여야 합니다.
조직, 조직 구성 단위 등 입력에 특별히 제한이 있는 것은 아니므로 영문으로 적절하게 작성하시면 됩니다.
Ex) 조직 : World of OZ
조직 구성 단위 : EPKI
구/군/시 : GangNum-gu
시/도 : Seoul
국가/지역 : KR
4. 암호화 서비스 공급자 속성은 기본값(Default)로 설정하고 다음 단계로 넘어갑니다.
* 암호화 서비스 공급자 : Microsoft RSA SChannel Cryptographic Provider
* 비트 길이 : 2048
5. CSR 파일을 생성합니다.
인증서 요청 파일 이름 지정 에서 우측의 ... 버튼을 클릭하여 CSR 파일 이름을 정한 후, 열기 버튼을 클릭합니다. 파일명이 정상적으로 입력되었다면 아래와 같이 인증서 요청 파일 이름 지정 입력란에 파일이 저장될 경로와 파일명이 표시됩니다.
마침 버튼을 클릭하여 모든 절차를 종료합니다.
파일을 생성한 폴더로 가보면 CSR 파일이 생성되어 있음을 확인할 수 있습니다.
파일을 한 번 열어 볼까요?
뭔가 알 수 없는 영문자와 숫자, 특수기호의 반복입니다. 우리가 입력한 도메인 및 정보를 기반으로 고유의 CSR 파일을 생성한 것입니다.
그러면 CSR 파일을 만들었으니, 이 파일을 인증 기관을 통해 인증 받는 작업을 진행해야 합니다.
아마 검색 사이트 아무 곳에서나 'SSL 인증서' 라고 검색하시면 많은 SSL 인증서 발행 대행 업체 사이트 주소가 뜰 것입니다. 원하시는 대행 업체를 방문하시어 원하는 인증 기관의 인증서를 통해 CSR 파일을 인증받으시기 바랍니다.
이 절차는 각 SSL 인증서 발행 대행 업체에서 알려주고 있고, 특별히 어려운 것도 없습니다.
중요한 것은 적절한 인증 기관을 선택하시고, 원하는 인증서 형태(단일, 멀티, 와일드카드)와 적절한 비용의 인증서를 선택하시어 진행하시는 것입니다. 암호화 수준이나 배상 범위(인증서가 뚫린경우..), 도메인 적용 범위 등에 따라 가격이 천차만별인데, 개인이나 중소기업이라면 저렴한 비용의 인증서라 하더라도 왠만해서는 안정성이 보장되므로 무조건 비싼 인증서를 구매할 필요는 없다고 봅니다. 잘 판단하시어 선택하시기 바랍니다.
그리고 웹 서버를 통해서 CSR 을 생성하였는데, 실제 SSL 인증서 발행 대행 업체를 통해서도 CSR 생성 기능을 제공하기 때문에 해당 사이트에서 직접 진행하셔도 무방합니다.
아래는 참고로 어느 특정 SSL 인증 대행 업체의 사이트를 방문하여 특정 SSL 인증서 상품을 선택하여 구매하기 위한 절차의 화면입니다.
중요한 부분은 바로 화면 하단의 CSR 부분인데, 우리가 방금 생성한 CSR 코드를 직접 복사 붙여넣기 하여 입력하시면 됩니다. (아니면 CSR 자동 생성을 선택하여 생성하실 수도 있습니다.)
다음 포스팅에서는 CSR 을 인증받아 생성된 CER 파일을 실제 도메인에 적용하여 SSL을 구축하는 방법을 알아보도록 하겠습니다.
'개발&컴퓨터 > 서버관리' 카테고리의 다른 글
IIS 7.0 웹서버에 SSL 보안 인증서 설치하기 (웹사이트에 SSL 적용하기) [3/3] (0) | 2015.04.13 |
---|---|
IIS 7.0 웹서버에 SSL 보안 인증서 설치하기 (서버에 인증서 등록하기) [2/3] (1) | 2015.04.10 |
[IIS+ASP.NET] 브라우저에서 웹 사이트 서버 오류 자세히 보기 (2) | 2015.02.20 |
PuTTY 한글 깨짐 문제 해결하기 (31) | 2015.02.09 |
윈도우 웹 서버(IIS)의 로그 관리(2/2) - 사이트 로그파일 자동 삭제되도록 스케줄 만들기 (4) | 2015.01.13 |