ソフトバンク光BBユニットのセキュリティと、Wi-Fiルーターのファイアウォールをちゃんと確認した

この記事は、ソフトバンク光のIPv6 IPoE + IPv4を活かしたまま、せっかく買ったASUS RT-AX86Uを活用しようとした記録である。
正確に言えば、そんな状況でIPv4しかしらないクソ雑魚が、おっかなびっくり、NATのない世界でIPv6のセキュリティを(一般的に)どんなふうになってるんだろうと調べた記録である。

概要

  • 回線契約:ソフトバンク光のIPv6 IPoE + IPv4オプション(IPv6高速ハイブリッド)
    • このオプションを効かせるためには当然光BBユニットを契約しています
    • IPv6の/64ブロックはもちろん、IPv4グローバルアドレスをもらえすSB光はGood(個人の見解です)
  • ルーター:ASUS RT-AX86U
  • やりたいこと:
    • IPv6 IPoE接続を活かしたまま、IPv4も活かす
    • つまり、IPv6 IPoE接続のためにSB光BBユニットは繋がなければならない
    • しかし、SB光BBユニットは前回の記事にもあるとおりマジクソなので、できる限り機能を殺して、ASUSルーターを活かす
    • せっかくIPv6ブロックをもらったので、IPv6エニーキャストアドレスは全ての(IPv6に対応する)クライアントに配る
    • ただし、セキュリティ上IPv6アドレスでの外部からの接続は遮断する


結論(最終的にいきついた設定)

  • 接続
    • 光BBユニットにおいて、DMZとしてWi-FiルータのIPv4ローカルアドレスを指定
    • 光BBユニットの無線LAN機能はOff
    • Wi-Fiルータ側では、IPv6についてパススルーを設定
  • セキュリティ
    • 光BBユニットで、「ルーター機能の設定」>「パケットフィルタ設定(IPv6)」>「セキュリティレベル設定」は「高」とする(デフォルトのままとする)
    • ASUSルータで、「詳細」>「ファイアウォール」>「IPv6 ファイアウォールを有効にする」を「はい」とする

設定詳細

今回我が家では、光BBユニットはIPv6 IPoE接続を活かすためだけの箱と化してもらうこととした。つまり、下記の図である。

※いわゆる二重ルータの状態である。実際のところ二重ルータであろうとほぼ差異なし(正直個人宅用途としては有意差無しレベルのレイテンシ差)であったため、今回は管理上の煩雑さよりも、IPoE接続を活かしたままASUSルータの各種機能を活かすほうが有利であろうと判断した。

※SB光のIPv4 on IPv6がどのような接続方式なのか不明。公式の説明を見るに4rdかなと思っていたが、BBIX の IPv4 over IPv6 技術は 4rd/SAM ではありませんCharlie Fukuchi @bbix_mfukuchi - Twitterなどを参照するにIPIPトンネルらしい。

具体的な設定はここで詳細を書くほどでもなく、https://w.atwiki.jp/isp_select/pages/18.html#id_8957271bを見てもらうのが最も良い。実際にはDHCP範囲等は上記ページと我が家(上図)では異なる形としたが、エッセンスは同じである。

  • 光BBユニットにおいて、DMZとしてWi-FiルータのIPv4ローカルアドレスを指定
  • 光BBユニットの無線LAN機能はOff
  • Wi-Fiルータ側では、IPv6についてパススルーを設定

というのが重要で、LANのサブネットや、DHCPレンジについては各自判断されたい。

IPv6エニーキャストアドレスを配布されたクライアントは、外部からの接続に対して安全か

これまでのIPv4の世界では、NATが存在し、(それがアドレス枯渇への苦肉の策とはいえ)ある意味WANとLANを明確に区切ってくれていたこそ、外部からの接続に対して安心感があったと思います。

IPv6のエニーキャストアドレスを全クライアントに配布する世界とはいえ、当然外部からアクセスされたくはないわけで、一般家庭においてはセキュリティ上拒否すべきです。
そして、インターネットをあらゆる人が使う時代においては、そんなことを意識せずとも最低限のセキュリティは担保されているべきです。これを確かめてみたいと思います。

というわけで、上掲のネットワーク構成において、我が家LAN内のIPv6アドレスが外部接続を拒否していることを確認していきましょう。


LAN内に置いたWebサーバへの疎通を試す図です。
Macであれば、"sudo apachectl start"だけでWebサーバを起動できます。図「Mac(1)」のコンピュータでWebサーバを起動し、このコンピュータのIPv6アドレスをリクエストして、Webページが返ってくるのかどうかを確認しながら、ネットワークの構成を切り分けていきましょう。

まず、LAN内から見たWebサーバの状態です。


自身はもちろん、同じルータ配下にいるクライアントからは閲覧可能です。
今回は、Mac(1)のコンピュータのWebサーバを、iPhoneから閲覧しましたが、ちゃんと「It works!」が確認できています。

では、ルータ外のクライアント、とはいえ同じ光BBユニット配下のクライアントからはどうでしょうか?
先程と同じiPhoneを、今度は上位ルータである光BBユニット配下に接続して試してみましょう。


WebサーバであるMac(1)のIPv6アドレスを指定したところ、閲覧できませんでした。
これは、ASUSルータ(RT-AX86U) のIPv6ファイアウォールが有効なためです。試しにこのファイアウォールを切ってみましょう(真似する場合は自己責任でお願いします)。


ASUSルータの管理画面からIPv6ファイアウォールを無効にしたところ、Webサーバにアクセスすることができました。当然の結果ではありますが、この状態ではルータは無防備にIPv6接続をパススルーしており、外部からのリクエストをそのまま解決してMac(1)のコンピュータにルーティングしたわけであります。

では最後に、これをインターネット側から見た場合はどうでしょうか?

※手持ちのiPhone7では、ソフトバンクのキャリアネットワークからはIPv6接続をもらえないので、ここからは別途用意した他のコンピュータである「Mac(2)」から確認します。https://www.soumu.go.jp/main_content/000517037.pdfによると、もっと新しいiPhoneや、ほかスマートフォンであればキャリア網からもIPv6接続できるので、簡単に確認できると思います。

インターネット側からも、まだLANのWebサーバに到達することはできませんでした。
これは、光BBユニットのデフォルト設定で、「ルーター機能の設定」>「パケットフィルタ設定(IPv6)」>「セキュリティレベル設定」が「高」であるためです。光ユニットが外部からのアクセスを弾いているようです。

これは、ソフトバンク光ユーザは、光ユニットをつないでそのままつないでいるかぎり、とりあえずの安全は得られているということです。
では、最後にソフトバンク光BBユニットのセキュリティも解除してみましょう(真似する場合は自己責任でお願いします)。


ついにやりました!
光BBユニットのセキュリティを「低」に設定することで、Webサーバが外部からも閲覧可能です。ザルセキュリティではありますが、ある意味ピュアッピュアにインターネットに接続している状態です。悪い人さえいなければ、こんなにIPv6エニーキャストアドレスが降ってくる世界は簡素で美しいわけですね。

したがって、結論はこうです。
  • 光BBユニットで、「ルーター機能の設定」>「パケットフィルタ設定(IPv6)」>「セキュリティレベル設定」は「高」とする(デフォルトのままとする
  • ASUSルータで、「詳細」>「ファイアウォール」>「IPv6 ファイアウォールを有効にする」を「はい」とする(デフォルトは違った気がするので、ちゃんと設定するのがオススメ)


もちろんこれだけでセキュリティが万全なわけではありません。ここまでご覧の皆様におかれましては、例えばMacOS標準のファイアウォールしかり、WindowsのWindows Defender ファイアウォールしかり、各種アンチウイルスソフトしかり、あるいは真面目に高機能ルータを買ってルールを組むなり、他防護策も検討してください。
しかし、IPv4のNATありきの世界から、突然IPv6の世界に放り込まれた、私含むオジサン各位は、少しは安心ですねw

また、ここまでくれば、自宅サーバを公開したい場合にも、どの設定をどう変更するべきかが見えてくるはずです。IPv6の/64ブロックでは物足りない場合には、ひかり電話を契約すると/54が降ってくるらしい(未検証)ので、そういったことも検討するとよさそうですね。



[補足]勉強させていただき、参考にさせていただいた資料やウェブサイト等


最後に蛇足と苦言

「ソフトバンク光ユニットと市販のWi-Fiルータを共用させたい」という気持ちの人に「光ユニットをルータとしてください、Wi-FiルータはAPモードにしてください、それ以外はインターネットに繋がりません、アホです」みたいなYahoo!知恵袋や価格.comの掲示板を見ていて本当に腹立たしく悲しい気持ちになりました。どうか人類が進歩しますように・・・。

コメント

このブログの人気の投稿

Twitter=>discord連携の際に、複数行のテキストを取り出す場合はIFTTTじゃなくてZapierを使うといい

懐かしのミニ四駆たちがでてきました。