学校Wi-Fiにかかった内容フィルタリングについて

どうも、owner203です。恥ずかしながら、大久保工科大学という低偏差値の私立大学に通っているけど、キャンパス内どこでも学生用Wi-Fiがあって、おかげで毎月の通信費が大変助かります。しかし、このような楽しいキャンパスライフは2018年度に入って、とある変化がありました…

なんと、学生用Wi-Fiに内容フィルタリングが入ってきました!

なんと、学生用Wi-Fiでシャドバができなくなりました!

実はうちの学校Wi-Fiの内容フィルタリングは最近始まったものではなく、前からずっと存在していたと思います。最初はGoogle Driveのファイル同期ができないぐらいでそれほど大きな影響はなっかたけど、2018年度に入ってからますますひどくなっていて、いろんな変なウェブサイトをはじめ、Steam、DMM GAMES、いろんなスマホゲームのサーバーまで次々と接続できなくなってしまいました。そしてついにシャドバのサーバーもブラックリストに入ってしまって、ついに学校のWi-Fiでシャドバもできなくなってしまいました。

学校のWi-Fi
スピードが速いけど
シャドバができない
Steamも開けない

年会費150万円も払ってこんな制限付きのWi-Fiを使わせるなんて、どうしても納得できません。某となりの国みたいにネット検閲でもやるんですか?Wi-Fiを使っているだけで裸にされるように通信トラフィックが追跡されてとても怖いです。

本当はこれを書きたくなかったけど、ついに耐えられる限界がやってきましたので、個人が特定される危険を覚悟しながら、これを書いて、ネットワークにフィルタリングをかけることに抗議します。ついでに自分がこの制限を突破するために使った方法をここで記録します。

まず状況説明から入ります。

うちの学校Wi-FiはIPアドレスブラックリスト+特定通信ポートのブロックによってフィルタリング機能が成り立てます。内容検閲や特定IPブロックはVPNを使って簡単に突破できますが、しかしVPNはその性質上必ず特定のポート番号を使い、パケットの特徴も簡単に特定できるので、通信内容が見られるわけではないが、VPNの使用自体はファイヤーウォールによって簡単に制限をかけることができます。うちの学校Wi-Fiももちろん、VPN接続は全滅です。

VPNが接続できない

では解決策は何かというと、80番ポート(HTTP)や443番ポート(TLS)など絶対にブロックできないポートを利用したTCP通信プロキシを使えばいいです。有名なものとして中国のネット検閲を突破するためによく使われるShadowsocksプロキシがあります。owner203も家の外では常にShadowsocksをオンにしています。Shadowsocksは、TCP通信+最大256bitの暗号化アルゴリズム+obfsパケット偽装で、汎用性も安全性もとても高いです。

サーバー側

サーバー側の設定はとても簡単です。インストールして設定するだけです。owner203のサーバーはUbuntu 18.10を使っています。

apt install shadowsocks-libev
apt install simple-obfs

次にShadowsocksの設定ファイルを編集します。設定ファイルは.jsonファイルになります。サーバーポートは443番ポート(TLS)を使って、暗号化アルゴリズムはchacha20-ietf-poly1305を使って、obfsパケット偽装はTLSに設定します。

vi /etc/shadowsocks-libev/config.json
/etc/shadowsocks-libev/config.json

{
"server":"0.0.0.0",
"server_port":443,
"local_port":1080,
"password":"mypassword",
"timeout":60,
"method":"chacha20-ietf-poly1305",
"fast_open":true,
"plugin":"obfs-server",
"plugin_opts":"obfs=tls;failover=127.0.0.1:8443;fast-open"
}

サーバーの設定はこれだけです。サービスを再起動して、状態を確認します。

sudo systemctl restart shadowsocks-libev
sudo systemctl status shadowsocks-libev

クライアント側

Android

Androidでは専用のクライアントAppがあります。本体obfsプラグインはともにGoogle Playからダウンロードできます。

iOS

iOSでは公式クライアントがないけど、Shadowsocksとobfsが使えるサードパーティAppはどれでもOKです。owner203はQuantumultというAppをおすすめします。

Windows

Windowsも専用クライアントソフトがあります。本体obfsプラグインをダウンロードして、obfsプラグインは本体と同じフォルダに置く必要があります。

macOS

macOSではShadowsocksX-NGという専用ソフトが使えます。obfsプラグインは一緒についています。

接続テスト

学校のWi-Fiに接続して、Shadowsocksを開いて、サーバーの設定に従ってクライアントを設定します。Obfuscation wrapperをTLSにして、Obfuscation hostnameは何でもいいので偽装したいドメイン名を設定します。owner203の設定ではShadowsocks通信をAppleとの通信に偽装させます。

Shadowsocks設定画面
obfsプラグイン設定画面
Shadowsocksサーバーに接続
スピードが変わらない

スピードは全然落ちません。さすがConoHa、回線が早いです。これで構内Wi-Fiでもシャドバができるようになります。Steamも普通に開けます。

最後に、後書きになりますが、言いたいことっていうと、Wi-Fiを提供するのであれば、わが学生たちはそれを使ってインターネットを自由に閲覧する権利があるはずです。変なウェブサイトでもゲームでも、学校のWi-Fiでは内容のフィルタリングや検閲をやるべきではありません。一日でも早く内容フィルタリングがなくなるよう願っています。

コメントを残す