Quantcast
Channel: nginx - それマグで!
Viewing all articles
Browse latest Browse all 30

sslhでdohが捌けないのは dns-crypt 特定フラグのせいだった。nginx

$
0
0

SSLHで dohをさばけない

dig DoHでDNS問い合わせがうまく行かないと思って4時間格闘した結果、DoHはdns-cryptなので、純粋なSNI/ALPNではないとわかった。まじかよ。それTLS特定フラグで識別可能じゃん。暗号化解除しなくても止められちゃうじゃん。

色々調べると、DoHにはclient-magic of 0x42.が付与されるっぽい。

https://github.com/yrutschle/sslh/issues/164

<dnscrypt-query> ::= <client-magic> <client-pk> <client-nonce> <encrypted-query>

sslhの設定例

SSLHをnginxの代わりに使っているのだが、doh はSNIでは捌けてなかった。

以下のようにすると処理できた。

//DoHを別サーバで処理する例{name: "tls";
    regex_patterns: ["^\x42"]host: "192.168.200.21";port: "443";
    log_level: 0;
    tfo_ok: true},

0x42 を書くことで、DoHのパケットを識別できた。

これって、さ、ルータでTLSの暗号文をみて、0x42をもつパケットを拒否すれば、DoHで抜けるの防止できるってことだよね。。。

nginxの場合

nginxの場合は、TLSを設定すれば通った。ALPNかなぁ。


Viewing all articles
Browse latest Browse all 30

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>