SNI 차단 우회(2)
원리 설명
다른 우회 방법을 알아냈습니다. SNI를 탐지하여 유해 사이트라고 가정하는 경우 네트워크 장비에서는 클라이언트에게 RST packet을 전송해서 연결이 끊기도록 만듭니다. 클라이언트에서 수신되는 RST packet을 drop을 시키도록 하고 나서 사이트에 들어가 보니 접속이 제대로 되는 것을 확인할 수 있습니다. Linux상에서 packet drop은 iptables, netfilter를 이용하였습니다. Windows의 경우에는 WinDivert를 이용하면 됩니다.
대응방안
서버측에서 packet debugging을 해보지 않아서 잘 모르겠지만, 차단해야 한다고 판단되는 경우 장비는 클라이언트에게 뿐만 아니라 서버에게도 RST packet을 제대로 보내어 연결이 확실히 끊기도록 한다.