日本から本物の金盾を体験する

このあたりの話の続きになります。

中国にあった公開VPNサーバ

ずっと前からスマホに入れていたVPN Gate Viewerのアプリをこの前たまたま開いていたら、公開サーバ一覧に1台だけ中国のサーバがあるのに気づきました。おお!

これにつなげられれば、中国にいるかのような状態でインターネット接続ができることになります。つまり、日本にいながらにして金盾のテストができるんじゃない!?

さっそくこのサーバにOpenVPNで接続してみると、Googleを開こうとしても開かない。

よしよし。

スマホだとVPNアプリを複数立ち上げて多段で通すということができないので、このままだとどこかのサイトにつながるかどうかは確認できても、特定のVPNが使えるかどうかのテストができません。

ということで、

Webからその中国サーバのOpenVPNの設定ファイルを取ってきて、GL.iNetのルータに読み込ませてみたのですが、うまくつながりません。

そしてまたスマホでもやってみようとしたのですが、こちらもつながらなくなってしまいました。

SoftEtherでつないでみる

その中国サーバには、OpenVPNだけでなくSoftEtherのサービスも動いているようだったので、こちらでつないでみることにしました。

Windows版の「SoftEther VPN Client + VPN Gate Client Plug-in」を使います。

一覧から「国・地域」が"China"になっている「58.246.148.250」を選択して接続。

するとEdgeのスタートページが中国版に。

診断くんでも、REMOTE_ADDR(診断くんサーバから見た接続元IPアドレス)が中国サーバのIPアドレス「58.246.148.250」になっていることがわかります。

中国環境でいろいろためしてみる

★traceroute

中国サーバからGoogleのDNSサーバ(8.8.8.8)までどんな経路をたどるのかtracerouteをしてみました。

8.8.8.8 へのルートをトレースしています。経由するホップ数は最大 30 です

1 72 ms 90 ms 70 ms 10.211.254.254
2 118 ms 109 ms 96 ms 192.168.101.1
3 107 ms 108 ms 115 ms 58.246.148.249
4 90 ms 117 ms 170 ms 112.64.250.202
5 * * * 要求がタイムアウトしました。
6 * * * 要求がタイムアウトしました。
7 * 279 ms 174 ms 219.158.7.58
8 498 ms 218 ms 264 ms 219.158.103.42
9 83 ms 78 ms 78 ms 219.158.96.209
10 330 ms 161 ms 107 ms 219.158.6.66
11 * * * 要求がタイムアウトしました。
12 155 ms 129 ms 128 ms 162.245.124.254
13 162 ms 723 ms 147 ms 168.143.191.98
14 * 164 ms 153 ms 129.250.5.38
15 * * * 要求がタイムアウトしました。
16 233 ms 147 ms 175 ms 203.131.250.82
17 175 ms 166 ms 166 ms 142.251.67.15
18 175 ms 255 ms 288 ms 142.251.64.175
19 172 ms 157 ms 114 ms 8.8.8.8

トレースを完了しました。

ホップのIPアドレスからそれぞれどこの国なのか調べてみると、

(ホップ1〜2:プライベートIPアドレス)
ホップ3〜10:中国
ホップ12:香港
ホップ13〜14:アメリカ
ホップ16:日本
ホップ17〜19:アメリカ

こんな感じに。中国のインターネット接続って、香港がゲートウェイになってるのか〜。

何度か繰り返すとホップ11が43.252.86.142という香港アドレスとして姿をあらわすことがあるので、中国ラストのホップ10(219.158.6.66)が金盾本体なのかな?

グレート・ファイアーウォール(中国語: 防火長城、英語: Great Firewall、GFW)とは、中華人民共和国本土(大陸地区、すなわち香港とマカオを除く国域)のインターネットを覆う大規模情報検閲システムとその関連行政機関(中国サイバースペース管理局(英語版))の通称である[1][2]。

香港にはまだ金盾が導入されていないようなので。

あと、8.8.8.8ってGoogleのIPアドレスなのに、金盾のブロック対象に入ってないんやね。

★China Firewall Testで接続可否を調べられなかったサイト

いろいろ試してみたんですが、“x.com"のように、セカンドレベルドメインが1文字のものは調べられません。“mastodon.social"のように、トップレベルドメインが5文字以上のものもだめでした。

以前調べられなかったx.comとmastodon.socialをブラウザで開いてみました。

結果、どちらからも応答がありませんでした。金盾のブロック対象になっているようです。

どういうしくみでつながらないのかWiresharkでキャプチャしてみたのですが、DNS問い合わせ(暗号化なし)には、DNSが8.8.8.8(Google)でも1.1.1.1(Cloudflare)でもちゃんと応答があって、その名前解決されたIPアドレスのTCP80番ポートへのSYNパケットに応答がないという挙動になっていました。

金盾では、DNSでブロックがかかると聞いたことがあった気がするんですが、素通しでびっくり。名前解決されたIPアドレスは、日本でやったものと同じだったので、改ざんもされてないです。

★Telegramの事例

ところが、ちょっと変わった挙動になったのがtelegram.orgへの接続。

ブラウザで開こうとすると、サーバ証明書のエラーが出ました。サーバ証明書のホスト名が"telegram.org"とは別ドメインの"ssl882170.cloudflaressl.com"で、しかも期限切れになっています。

にせサーバに誘導して、そこで1回暗号解除させて盗聴する典型的な手口かなと最初は思いました。

どこでにせサーバとすり替わったのかと思って、Wiresharkでキャプチャしながら再度接続してみたんですが、DNS問い合わせの応答がなんかおかしい。

CloudflareのDNS(1.1.1.1)への問い合わせに、通常なら「telegram.orgのIPアドレスは149.154.167.99ですよ」と1回応答があるだけなのに、その前に「telegram.orgのIPアドレスは107.181.166.244ですよ」「telegram.orgのIPアドレスは157.240.3.50ですよ」という余分な答えが2つくっついています。

この2つはどちらもアメリカのIPアドレスで、前者の持ち主は不明で、後者はTelegramとは無関係のFacebookのものでした。どちらもブラウザではつながりません。

DNSからの答えが複数ある場合、ブラウザは最初の方につなぎにいこうとするので、このときは証明書エラーも出ずに無応答となりました。

何回か繰り返してみたんですが、ダミーの2つは毎回変わるので、ランダムに適当なものを返しているような雰囲気です。それがたまたまサーバ証明書の配備された実在のSSLサーバにあたった場合には、最初のように証明書エラーが出てしまうということなのかも?だとすると盗聴しようとしているのではなさそう。

★ZeroTier通信は金盾を越えられるか?

この前ZeroTierを使った金盾越えのしくみを作っていましたが、ZeroTierで本当に越えられるのかためしてみました。

Windows版のZeroTierクライアントを入れて、これまで作ったしくみに組み込んでみます。
(ZeroTier側の設定については割愛。)

SoftEtherで中国サーバにつないだ状態で、ZeroTierに接続。

するとZeroTierサイト上で、WindowsパソコンのPhysical IPが「58.246.148.250」として表示されたので、ちゃんと中国からの接続になっているようです。

WindowsのZeroTierで"Allow Default Router Override"をオンにしてみると、Googleにもつながるようになりました。

つまり構成としては、

[Windowsパソコン(中国扱い)]-(金盾)-[ZeroTier]–[家のルータ]-(Proton VPN)-[インターネット]

こんな感じに。
(Proton VPNは金盾越えには関係ないです。)

念のため診断くんにつないでみましたが、REMOTE_HOSTがProton VPNの日本サーバのxtom.comドメインになっていました。

Windowsパソコンは家のルータ配下にいないので、うっかりZeroTierを経由せずにインターネットに出ていってしまったのなら、Proton VPNを経由するはずがないです。そしてZeroTier上では接続元がちゃんと中国のIPアドレスになっていることが確認できています。

なので、今回GL.iNetのルータは使っていないけれど、原理的にはこの前作ったしくみで中国からの金盾越えができそうなことが確認できました。現時点では。

追記 2024-12-27

ZeroTierを使った金盾越えのしくみは中国現地でも実用できました。現時点では。

コメント

読み込み中...