반응형


    SSL 테스트 및 https 테스트 하기





    바인딩 종류


    웹에서 웹사이트로 연결할 수 있는 프로토콜은 두가지가 존재 합니다. 바로 httphttps 의 바인딩입니다. http와 https에 대해서 설명하자면,


    HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)WWW 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. TCP와 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었으며, 현재 가장 널리 쓰이는 버전이 1.1이다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP를 통해 전달되는 자료는 http:로 시작하는 URL(인터넷 주소)로 조회할 수 있다.

    -출처 : 위키


    HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발했으며, 전자 상거래에서 널리 쓰인다. HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다. HTTPS의 기본 TCP/IP 포트는 443이다. 보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다. HTTPS를 사용하는 웹페이지의 URL은 'http://'대신 'https://'로 시작한다.

    -출처 : 위키


    좀 더 간단하게 정리하자면 일반적으로 웹 접속 프로토콜은 http 그리고 보안이 강화된 https로 구분 지을 수 있습니다. 일반적으로 보안을 강화시키기 위해서 믿을 수 있을만한 보안 인증서인 SSL을 통해서 http 를 https로 보안을 강화 시켜 접속할 수 있습니다.


    사실 SSL이야, 보안과 관련해서 글을 쓰자면 엄청나게 길어지지만 여기서 간단히 설명을 하자면 믿을 수 있는 보안 업체가 제공하는 키를 내 홈페이지에 추가하는 방식의 인증서로 주로 보안이 필요한 웹사이트에서 주로 사용합니다. 현재는 결제가 필요한 사이트가 아니더라도 일반적인 포탈사이트나 개인의 자신 또는 중요한 개인정보가 필요한 사이트에서는 https를 사용합니다.



    <구글도 https 프로토콜을 사용합니다.>



    전문적인 업체에서 제공받아야 하기 때문에 보안의 특성상 무료로 제공되는 경우는 거의 없으며, 만약 무료로 제공된다고 하더라고 못미더운 부분이 있습니다.

    IIS로 만든 웹사이트에서 SSL이 정상적으로 적용이 되는지 궁금한데, 단순히 테스트 정도의 목적이라면 인증서를 일정 비용을 지불해서 구매하기는 조금 아까우니 테스트 용도로 사용할 수 있는 SSL를 만들어서 사용해 보도록 합시다.




    IIS에서 테스트용 SSL 추가하기


    윈도우 7 이상에서의 IIS에는 자체 서명된 SSL을 추가 할 수 있으며, 이 것을 통해 임시로 https 를 확인할 수 있습니다. 물론 정식으로 서비스는 불가능 합니다. 자체적으로 서명된 SSL은 각 인터넷 브라우저들과 키값이 공유가 되지 않으므로 브라우저를 통해 접속하는 사용자 환경에서는 별다른 의미는 없습니다.


    다만, 웹 사이트를 운영하는 입장에서 새로이 SSL을 적용하기전 포트개방 및 테스트 용도로 확인차 용도로만 할 것을 권해드립니다.


    IIS7 이전 버전에서는 자체 SSL를 생성할 수 없습니다.


    그럼, 본격적으로 인증서를 만들어 봅시다. IIS 설치 및 기본적인 사용법은 아래의 글을 참고 부탁드립니다.



    IIS를 실행시킨 후 서버 홈으로 이동합니다.



    서버 홈 메뉴 중에 서버 인증서 라는 항목이 있습니다. 이 항목은 각 웹 사이트들에서는 확인 할 수 없는 항목이며, 반드시 서버 홈에서만 설정할 수 있습니다. 

    이 서버 인증서를 통해 새로운 인증서를 만들어 보도록 하겠습니다.


    우측 사이드 메뉴 중 자체 서명된 인증서 만들기 항목을 클릭합니다.




    이제 새로운 인증서를 만들 수 있게 되는데 인증서 이름을 지정하고 인증서 저장소를 선택하면 됩니다.




    인증서 저장소에 대해 두가지 선택 방안이 있는데 개인웹 호스팅 이 두가지 입니다.

    이 두가지의 선택지는 사실상 큰 차이가 없습니다. 하지만, 개인 저장소보다는 웹 호스팅 저장소가 더 많은 개수의 인증서를 저장할 수 있다는 점이 차이가 있지만 이번시간에서는 테스트 용이므로 어떤 것을 선택하든 큰 차이가 없습니다.



    서버 인증서가 새로 추가된 것을 확인하였습니다.


    그럼 새로운 인증서를 추가하였으니깐 적용해봅시다.



    해당 사이트에 https 바인딩 추가하기


    새로운 인증서가 만들어 졌다면 이제 각 홈페이지마다 적용해보도록 합시다.


    단순히 https 바인딩만 새로 추가하면 되기 때문에 어렵지 않게 SSL을 적용할 수 있습니다. 이제 특정 사이트(또는 복수의 사이트)에서 바인딩 설정을 통해 https 프로토콜을 추가하도록 하겠습니다.


    기존 사이트 (또는 새 사이트)에서 바인딩을 추가 합니다.




    사이트 바인딩 목록들이 보이면 추가 버튼을 눌러서 새로운 바인딩을 추가 합니다.




    그리고 종류를 https 로 선택합니다.



    프로토콜 종류를 https로 설정하니 SSL 인증서를 선택하는 창이 새로 나옵니다. 여기서 아까 우리가 새로 만들어 놓은 인증서를 추가해보도록 합시다.





    제대로 선택하였으면 확인을 눌러 줍니다. 그럼 https 프로토콜을 가진 바인딩이 새로 추가 된것을 확인할 수 있습니다. (여기서는 처음 SSL 바인딩을 추가한 거라 443 기본 포트를 고스란히 사용하였습니다.)




    새로운 바인딩로 추가했겠다, 웹 브라우저를 통해 접속해보도록 하겠습니다.



    1. 크롬 브라우저


    크롬에서 인증서의 정보가 브라우저가 가지고 있던 정보와는 다른 정보이기 때문에 연결을 할 수 없는 것처럼 나오고 있습니다. 


    문제가 있는게 아니니 걱정하지 마세요! 브라우저들은 SSL 업체로부터 인증된 키 값을 받아서 상시 업데이트를 하는데, 자체 서명된 인증서의 경우 브라우저 키 값들에 추가되지 않았기 때문에 보증할 수 없다고 나오는 것입니다.


    하단에 조그맣게 고급 이라고 쓰여진 부분을 클릭하여 사용자가 위험을 감수해서라도 보겠다 라는 약속을 받아야 정상적인 페이지 보여주는 군요.





    2. 인터넷 익스플로러


    익스플로러의 경우도 마찬가지 입니다. 브라우저 자체적으로 보유하고 있는 키값이 없으므로 인증할 수 없다는 내용이 나옵니다.


    물론 크롬보다는 간단하게 이 웹 사이트를 계속 탐색합니다. 를 클릭하면 정상적으로 페이지가 보입니다.








    마치며


    해당 내용들은 단순히 테스트 용임을 다시한번 안내드립니다.

    자체 서명된 인증서로는 정상적인 웹 서비스가 불가능하며, 정상적인 보안 프로토콜을 이용하여 서비스를 하기 위해서는 전문 SSL 업체를 통해서 인증서 구매를 하여야 합니다.


    이번 내용은 SSL 적용 방법과 자체적으로 인증서를 만들어서 테스트를 해 볼 수 있다는 것을 강조하기 위해 작성하였습니다.




    반응형
    Posted by clamp2x