CloudFlare

CloudFlare는 CDN, SSL, DNS 등 다양한 인터넷 서비스를 제공하는 기업이다.

  • CDN
    • 일종의 캐시(cache) 서비스이다. 사용자는 실제 웹 서버에서 데이터를 받는 것이 아니라 캐시 서버로부터 받아온다.
    • 공인인증서를 이용한 암호화 서비스이다. 인터넷으로 전송되는 데이터를 암호화한다.
  • DNS
    • 도메인 이름(wiki.raychani.net)을 IP주소(123.123.123.123)로 변환한다.

CDN 없어도 접속자가 얼마 없으면 서버 운영에 거의 지장 없다. SSL도 무료로 제공해 주는 곳이 꽤 많고, wild-card 인증서가 꼭 필요하면 그냥 자가 서명(self-signed) 인증서1)를 스스로 만들 수도 있다. DNS도 그냥 dnsever에서 무료 서비스를 제공한다(했다?).

CDN 없이 자가 서명 인증서와 dnsever로 서버를 운영하던 중 굳이 클라우드 플레어로 서비스를 이전한 것은 이를 통합할 경우 큰 시너지 효과가 발생하기 때문이다.

  1. 자가 서명 인증서를 공인 인증서로 대체할 수 있다.
    1. 각종 브라우저들은 자가 서명 인증서를 이용한 사이트에서 경고를 표시하며, 접속을 막는다.
    2. 굳이 인증서 없이 이용할 수도 있지만 보안에 취약하다.
  2. 서버의 IP 주소가 노출되지 않는다.
    1. 서버에 직접 해킹이 들어오는 것을 줄일 수 있다.

표준 웹 보안 기술을 적용할 경우 다음과 같이 암호화가 이루어진다. 공인인증기관이 해당 서버 운영자에게 인증서를 발급하면, 서버 운영자는 인증서를 이용하여 데이터를 암호화하여 사용자에게 전달한다. 이 경우, 서버가 데이터를 보냈다는 사실을 공인 인증 기관이 증명해 줄 수 있다. 단 일반적으로 인증서 발급에 비용이 들어간다.

반면에 자가서명 인증서를 이용할 경우, 서버 운영자가 스스로 openssl 등을 이용하여 인증서를 생성한다. 암호화 과정은 공인 인증서와 다를 바 없으나, 인증서 자체를 믿을 수 없다. 따라서 서버가 데이터를 보냈다는 사실을 인증서를 통해서 증명하는데, 그 인증서가 제대로 된 것인가에 대한 증명이 완벽하지 못하다. 그렇지만 데이터가 암호화되는 것은 맞기 때문에 중간에 누군가 데이터를 들여다보거나 조작할 수는 없다. 하지만 믿을 수 없는 증명서를 이용하는 것에 대해 브라우저가 경고하는 경우가 많아, 접속이 매우 불편하다.

클라우드 플레어에서 제공하는 SSL 서비스를 이용할 경우 다음과 같은 방식으로 보안이 적용된다. 서버가 클라우드 플레어까지 암호화된 데이터를 보내기만 하면, 그 서버가 맞다는 사실은 클라우드 플레어가 보증해 준다. 비용이 들지 않으면서 보안 경고가 뜨지 않는 좋은 방법이다. 단 클라우드 플레어 서비스가 불안정한 경우가 있다.

클라우드 플레어는 모든 포트를 서비스하지는 않는다. 자신의 서버가 특이한 포트를 사용한다면 그 도메인은 클라우드 플레어에서 제외시키거나 포트포워딩 기능을 이용해야 한다. 다음은 지원하는 포트 번호이다.

  • HTTP
    • 80
    • 8080
    • 8880
    • 2052
    • 2082
    • 2086
    • 2095
  • HTTPS
    • 443
    • 2053
    • 2083
    • 2087
    • 2096
    • 8443

1)
내가 나 자신이 맞음을 내 스스로 증명한다.
댓글을 입력하세요. 위키 문법이 허용됩니다:
Y᠎ U S H Y