생활코딩 - 네트워크 개념 잡기 (도메인, 네임서버, HTTPS)
    • 01
      도메인
    • 도메인이란?
      도메인의 검색과 구입
      호스트 설정
      포워딩 설정
    • 02
      네임서버
    • 네임서버란?
      hosts 파일
      집에서 웹서버 운영하기 (1/3)
      집에서 웹서버 운영하기 (2/3)
      집에서 웹서버 운영하기 (3/3)
    • 03
      HTTPS와 SSL 인증서
    • HTTPS와 SSL 인증서
      대칭키
      공개키
      SSL 인증서
      인증서 동작 방법
      SSL 통신 과정
      StarSSL 사용법 (1/2)
      StarSSL 사용법 (2/2)
      Apache2 SSL 적용
    StarSSL 사용법 (2/2)
    undefined undefined
    StarSSL 사용법 (2/2)

    필자가 선택한 CA는 이스라엘 기업인 StarCom이다. 이 회사는 1년간 무료로 사용할 수 있는 인증서를 제공한다. 인증서 구입에 부담이 있는 개인이나 작은 사업자라면 만족할만한 보안을 제공하는 것으로 알려져있다. 이 회사에서 제공하는 무료 인증서는 아래와 같은 기능을 제공한다.

    • 웹서버 인증서 (SSL/TLS)
    • Client 와 mail 인증서 (S/MIME)
    • 128/256-bit 암호화
    • US $ 10,000 보상금
    • 1년간 유효함

    1. 로그인 페이지로 이동한다.

    2. Express Lane 옵션을 선택한다.

    StartSSL은 클라이언트 측 인증서를 요구한다. 아직 인증서를 발급받지 않은 상태라면 인증서 오류가 발생할 것이기 때문에 Express Lane 옵션을 빠르게 선택해서 이동한다.

    3. 요구하는 정보를 '사실대로' 입력한다. 만약 허위 정보가 입력되면 가입 승인이 거부된다.

    4. 이메일로 인증코드가 반송된다. 이메일을 확인한다.

    5. 필자는 이런 내용의 이메일을 받았다.

    This electronic mail message was created by StartCom's Administration Personnel:
    Thank you for registering with StartSSL. It seems that you provided the address details of an organization. However our terms and conditions require from our subscribers to disclose the private address of residence. Please reply to this message and send us the details of your personal residence.

    6. 한국어로 번역하면 아래와 같다.

    내용은 당신이 보낸 메일이 진짜 자신의 메일인지 증명하기 위해서 아까 입력한 내용을 메일로 회신해주세요.

    이것은 인증의 단계로 회원가입 시에 입력한 주소를 다시 적어서 메일로 회신하면 Startssl 측에서 아래와 같이 물어볼 것이다.

    It's your company address or it's a personal residence? (이것이 회사 주소인가요? 집 주소인가요?)

    7. 아래와 같이 답변한다.

    My Personal residence. (집주소 입니다)

    8. 그럼 인증에 성공했다는 메시지가 도착할 것이다. 내용은 아래와 비슷할 것이다.

    Your request for an account at StartSSL™ (www.startssl.com) has been approved and is available during the next 24 hours at the following location:

    https://www.startssl.com/?app=12&action=release

    The verification code in order to continue the process is ***

    Thank you!

    9. 위의 주소로 ***로 표시한 부분이 자신의 인증코드다. 인증코드를 복사한 후에 링크를 클릭해보자. 아래와 같은 메시지가 출력될 것이다. 인증코드를 붙여넣기 한다.

    10. 비공개키의 암호화 방식을 지정한다. 2048을 사용하자.

    11.  install 버튼을 누른다.

    12. 축하 메시지가 출력되면 인스톨에 성공한 것이다. 

    이 때 크롬의 경우 브라우저 상단에 클라이언트 인증서가 설치되었다는 메시지가 보일 것이다. 앞으로 startssl의 관리자에 접속할 때는 이 인증서를 이용할 것이기 때문에 등록한 이메일에 해당하는 startssl 계정의 관리자로 접속할 때는 꼭 이 인증서가 설치된 브라우저로 접속해야 한다. Continue를 누른다.

    13. 도메인 주소를 입력한다.

    14. 인증 메일을 선택한다.

    자신의 도메인임을 증명하기 위해서 도메인과 연관된 이메일 주소 중의 하나를 선택한다. 꼭 사용할 수 있는 이메일 주소를 선택해야 한다. 만약 사용할 수 있는 이메일 주소가 없다면 네임서버의 설정을 변경해야 한다.

    15. 수신 받은 이메일을 확인한다. 메시지는 아래와 유사할 것이다.

    This mail is intended for the person who requested verification of domain control at StartSSL™ (http://www.startssl.com).

    Your verification code is ***
    Copy and paste this code now into the form at your open browser window.

    16. *** 표시된 텍스트를 복사해서 Vertification Code 필드에 입력한다.

    17. 아래와 같은 화면이 출력된다면 인증에 성공한 것이다. 30일 안에 인증서를 발급받아야 한다는 내용이다.

     18. 비공개키를 발급 받는다. 비공개키는 직접 생성할수도 있지만 startssl이 제공하는 키를 사용하면 편리하다.

    Key Password는 비공개키가 유출 되었을 때 비공개키를 보호해주는 수단이다. 비공개키가 있다고해도 이 비밀번호가 없다면 데이터를 복호화 할 수 없다. 이 값을 설정하면 보안의 레벨은 상승 하지만 서버를 재부팅 할 때마다 Apache와 같은 웹서버에 비밀번호를 입력해줘야 하는 불편함이 있다. 이 비밀번호는 꼭 기억해야 한다. keysize는 2048, Secure Hash Algorithm은 sha1을 선택한다.

    19. 비공개키를 복사한다.

    비공개키는 매우 중요한 정보다. 비공개키가 유출되면 ssl을 통해서 서버로 전달되는 정보가 해독될 수 있기 때문에 절대로 노출되서는 안된다. 이 정보는 별도의 파일로 복사해서 저장한다. 파일명으로 필자는 ssl.key를 사용했다.

    20. 도메인 추가

    만약 opentutorials.org의 서브 도메인인 www.opentutorials.org로 ssl로 보호하고 싶다면 아래 화면에서 www를 입력한다.
    아래와 같이 입력하면 StartSSL은 opentutorials.org와 www.opentutorials.org에 대해서만 보호 기능을 제공한다. 만약 dev.opentutorials.org에 대해서 SSL 서비스를 하고 싶다면 인증서를 하나 더 만들어야 한다. www나 dev와 같은 부분을 호스트 네임이라고 하는데 모든 호스트 네임에 대해서 보호되는 인증서를 사용하고 싶다면 와일드 카드 인증서를 구입해야 한다. 인증서를 비교한 차트에서 와일드 카드 항목을 참고하면 된다.http://www.startssl.com/?app=40

    21. 인증서 발급을 위한 모든 정보의 입력이 끝났다. Continue를 누른다.

     22. 인증서가 발급되었다.  이 내용을 복사해서 ssl.crt 파일에 저장한다. 화면 하단에 Save also the intermediate and root CA certificates for the installation at your server(Save AS...)라고 되어 있는 부분의 내용을 클릭해서 파일로 저장한다.

    인증서 발급이 끝났다. 이제 StartSSL을 통해서 발급 받은 인증서를 이용해서 서버쪽 셋팅을 하면 SSL을 사용할 수 있다.

    정리

    이상의 절차를 통해서 얻은 정보는 크게 4가지다. 이 정보들을 이용해서 SSL을 제공하는 방법을 알아보자.

    • ssl.key : 서버쪽 비공개키
    • ssl.crt : 디지털 인증서
    • ca.pem : ROOT CA 인증서
    • sub.class1.server.ca.pem : 중계자 인증서
    질문하기