ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DNS over HTTPS 사용하기 & SNI 우회하기
    컴퓨터 2019. 2. 15. 22:03
    반응형

    요즘 SNI 를 이용한 유해(?)사이트 차단 때문에 난리다

    솔직히 검열을 우회한다기 보다는 검열자체가 짜증이 나서 피하는 방법을 공유한다

    일단 먼저 DNS 쿼리는 평문이므로 DNS쿼리만으로도 어떤 사이트를 접속하는지 파악이 된다 

    따라서 암호화를 수행한다

     

    하지만 제일 확실한 방법으로는 DNS to HTTPS를 이용해서 암호화된 방식으로 DNS 요청을 하는 것이다

     

    뭐 여러가지 방법이 있지만 얼마전에 소개한 1.1.1.1이 좋긴 하지만 이 DNS를 사용하다 보면 가끔 국내 사이트가 안되는 경우가 있어

    가장 범용적인 Google을 이용하기로 한다

     

    https://github.com/m13253/dns-over-https

    에 있는 소스를 이용하여 로컬에 DNS 클라이언트용 서버를 실행하고 네트워크 설정에서 DNS설정을 127.0.0.1(IPV4), ::1(IPV6)로 설정하면 끝이다

     

    컴파일이 어려운 분들을 위해 컴파일해서 바이너리를 올린다 (32bit, 64bit)

    doh.zip
    8.56MB

    pass: cholchori

    1. OS 에 맞는 실행파일을 실행하면 로컬에 DNS 서버(53, 5053 UDP포트를 열고 DOH 클라이언트)가 실행

    2. 네트워크 설정에서 DNS서버를 로컬로 설정한다

     

    일단 이렇게 설정하는 것으로는 DNS쿼리는 암호화가 되지만

    근본적으로 SNI 차단을 우회하지는 못한다

     

    이방법의 단점은 부팅할때마다 실행을 시켜 줘야 인터넷이 된다는 단점이 있다

     

     

    서버 네임 인디케이션(Server Name Indication, SNI)은 컴퓨터 네트워크 프로토콜인 TLS의 확장으로, 

    핸드셰이킹 과정 초기에 클라이언트가 어느 호스트명에 접속하려는지 서버에 알리는 역할을 한다

    암호화 키교환 자체를 막아버리고 워낭소리(?) 사이트로 보내 버린다

     

    SNI차단을 우회하려면 

    https://github.com/ValdikSS/GoodbyeDPI/releases

    에 접속하여 

    goodbyeDPI를 다운받아서 압축을 풀고 

    2_all.cmd 를 실행한다

     

    실행후 막힌 사이트에 접속하여 키교환을 끝내고 나면 goodbyeDPI가 실행되어 있지 않아도 이미 키교환이 완료 되어 접속이 가능하다

     
     
    반응형

    댓글

Designed by Tistory.