Cloudflare DNS 서비스를 통해 Let's Encrypt 인증서 발급 및 갱신 자동화하고 v2-ui에 http+tls 위장 적용하기
한동안 한국 정부가 DNS Spoofing 및 SNI 필드 감청으로 불법 사이트 접속을 막으면서 여러가지 논란이 되었는데, 중국 정부는 더하면 더했지 덜하지는 않습니다. 중국 만리방화벽이 어떤 식으로 작동하는지는 관계자가 아니면 아무도 모르겠지만, 기본적으로 중국내에서는 모든 네트워크 트래픽을 감시한다고 보는게 맞을 겁니다. 중국 정부가 만리방화벽을 통해 접근을 막고 있는 사이트에 접속하기 위해서 사용하는 여러가지 방법들 중 네트워크 트래픽을 보안이 적용된 웹사이트 (HTTPS = HTTP + TLS)에 접속하는 트래픽으로 위장하여 차단을 막는 방법이 최근에 많이 사용됩니다. 10여년 전에 정보처리기사 자격증 딸 때 이후로 네트워크쪽으로 전혀 공부해 본 적이 없어서 자세히 설명할 수는 없지만, 간단히 개념만 설명해 보겠습니다. http는 HyperText Transfer Protocol의 약자로 웹상의 데이터를 주고 받기 위한 전송 규약으로 이해하면 됩니다. tls는 Transport Layer Security의 약자로 네트워크 전송 데이터를 암호화 하여 데이터를 중간에 가로채더라도 내용을 열어볼 수 없게 하는 목적의 기술입니다. 위 두가지를 합해서 웹 상에서 중요한 데이터를 주고 받을 때 사용하는 프로토콜을 https (HTTP over TLS)라고 하며 전자상거래 등의 보안이 중요한 사이트에 연결 시 사용합니다. 즉, 일반적인 http를 사용하는 웹사이트 접속은 중간에 네트워크 데이터를 가로채서 내용을 확인할 수 있지만, https를 통한 웹사이트 접속은 중간에 네트워크 데이터를 가로채더라도 인증서를 통한 개인키가 없으면 내용을 확인할 수 없습니다. v2ray에서 https를 통한 위장은 다음과 같습니다. VPS에 설정한 v2ray 프록시 서버의 연결 포트를 https가 기본적으로 사용하는 443 포트로 설정하고, v2ray 클라이언트가