学校のWi-Fiの調査 / SoftEther VPN を EC2 に立ててみる
TL;DR: 学校のWi-FiでTwitterがしたい
私の高校にはWi-FIアクセスポイントが整備されている。BYOD (Bring Your Own Device) とかなんとか言っており高度情報化社会 (Society 5.0) を見据えた先進的IT教育を行っているなあという感じ。これで我々生徒は 授業中にネットし放題 IT機器を最大限に利用した教育を受けられる。ところがなんとTwitterがフィルタリングにおいてブロックされており、これでは世界中の才覚あふれるITエンジニアのみなさんとつながることができない。その他ちょくちょく問題が起きているっぽいので、ITを志しインターネットを愛するものとして見識を深めるために 調査を行いたいという次第。
つながるサイト・つながらないサイト
有名なサイトの接続可否について軽く調査してみよう。
-
https://tweetdeck.twitter.com…だめ (HSTS)
-
https://zenn.dev…画像が出ない
-
Discord…使える
-
https://facebook.com…だめ (HSTS)
-
http://mastodon.social…だめ (フィルタリング画面)
-
https://hppd.dev…だめ (HSTS)
-
フォロイーのサイト1…だめ
-
知り合いのサイト1…OK
-
知り合いのサイト2…OK
全体的に高校生がよく使っていそうなSNS系サイトが重点的にブロックされており、GitHubやZennは大丈夫だった。Mastodonは半公式の社会鯖と公式紹介サイトのjoinmastodon.orgだけ、Misskeyも公式のio鯖がブロックされており、しっかり認知されているようだが、いくつかのサーバーは普通に通している。分散型SNSがちゃんと分散して働いていることを実感できて軽く感動している。
Twitterなど特定のホストだけをブロックするので blocklist で運用してるのかと思ったが、おれのサイトとかはブロックされていて、完全に未知のドメインは弾くようになっている。ここで気になるのは知り合いのサイト12で、界隈を選べば知名度のある知り合いとはいえ担当者が個別に知っているはずがないので、おそらくまったく新規のドメインはブロックし、その後何らかの操作によって承認されるのだろう。労働者を雇って網にかかったドメインを調査し問題なさそうなものを allowlist にブチ込む、という仕組みかもしれない。おれたちのネットサーフィンが雇用の創出に結びついているようだ。
さきほどのプロセスを仮定すると、要するにこのネットワークを利用しているうち僕以外の誰かがGitHubやらZennやら知り合いのサイトにアクセスしているということになるわけだ。知名度が高くて羨ましいなあ。また、mastodon.socialを通したがmstdn.jpが通っていることは謎。ちゃんと基準作ってないのかな。
ブロックされたときにHTTPSを使っていると証明書エラーになることがわかってきた。どうやら応答に謎の証明書がくっついているようで、Fortinetという会社のものらしい。
この会社は統合脅威管理 (UTM) …要するにフィルタリングとかを提供する会社というわけ。どうやら県と契約しているらしい。証明書には製品名の略称っぽいのが入っている。
ブロックされました画面をよく見たら❌マークがfortinet所有と思しきドメインから引っ張られている。❌とか❗みたいにいろいろなアイコンが1枚の画像ファイルにまとめられていて、使うときはCSSのbackground-positionで切り取っている。あとはHTML4なのが気になるところ。
Zennについて。Zennは問題なく利用できるが画像アセットが読み込まれない。storage.googleapis.comがブロックされているようで、
によればGoogle Cloud Storageがブロックされている一方で、Qiitaの画像は問題なく出る、すなわちAWS S3は大丈夫。なんで?
ニコニコは観れない。HTMLは出るがCSSとJSがcdn.nimg.jpに置いてあるのが来ないっぽい。
WSLの apt update
は普通にできる。
これを突破するとしたらSoftEtherだろう。いやまあIPSecとかPPTPでもできるかもしれないが確実ではない。
Twitter Web Client (twitter.com) だが、キャッシュが効くのでUIは問題なく表示される。APIがブロックされるだけ。
よく考えたらフィルタリングルールの管理はFortinetでやってると思われるな。それなら若干知名度のある知り合いたちのサイトにアクセスされてるのは自然だ。
今日試しにTailscaleに登録してサクッとつないでみたがtwitter.comは弾かれっぱなしだった.どのレイヤーで弾かれてるのかわからん.
twitter.com とかにpingしてみてもタイムアウトするので,これはIPレベルで死んでいるのでは?
というわけでAWSアカウント作ってみた。 IAMの管理がバカめんどくさい。