朝から昼寝

ITや家計、身近なことの整理

[お知らせ]
当サイトは、2024年1月1日に
新URL(happynap.net)に引っ越しました





このページの内容は、最新ではない場合がありますので、新URLをご確認ください。






当サイトには広告を含みます。"オススメ"として紹介している商品やサービスは、個人的にそう思えたものだけです。
共感、興味をもっていただけるものがあればご利用ください (広告掲載ポリシー)。

開発者ツールでBaffalo家庭用ルーターのWeb管理画面の認証仕様を推定

概要

警視庁から発信された"家庭用ルーターの不正利用に関する注意喚起について"に関して調べていた際に、自宅にある家庭用ルーターのWeb管理画面がどのような認証の動作になっているか気になったので確認してみました。

本記事では、Baffalo家庭用ルーターの管理画面の認証仕様について、開発者ツールで確認した結果からまとめてみます。

BaffaloのWSR-1800AX4Sについて確認した結果ですが、Baffaloの他機種でも、同じWeb管理画面であれば同様かと思います。

Stable Diffusionで作成してみました(プロンプトは、"it engineer, considering, sunglasses, wi-fi router, radio wave effect, cyber space background")
Stable Diffusionで作成してみました(プロンプトは、"it engineer, considering, sunglasses, wi-fi router, radio wave effect, cyber space background")

本記事の目的

  • Baffalo家庭用ルーターのWeb管理画面の認証の動作を確認する


目次

ログイン画面

自宅にあるルーター、Baffalo WSR-1800AX4SのWeb管理画面のログインフォームです。よくあるやつです。

開発者ツールによるログイン時のキャプチャ

ブラウザ(Chrome)の開発者ツールにて、上記のログインフォームにユーザー名とパスワードを入力し、ログインボタンを押した際のキャプチャを取得しました。

ログインボタンを押した際に、POSTメソッドが実行されています。

POSTによるログイン情報の送信

キャプチャ中のフォームデータ(ペイロード)を確認し、POSTメソッドにより、ユーザー名とパスワードが送信されていることが分かります。
(HTMLソースからフォームの内容を確認しても分かります)

(参考) nosave_session_numはおそらくCSRF対策

上記のPOST実行時に送信されているデータのうち、nosave_session_numというパラメタがあります。

これはおそらくCSRF対策のためのランダムな数値(ID)でしょう(Webアプリとしての一般的なセキュリティ対策)。

この数値は、ログイン画面をリロードするたびに変わります。

HTMLソース上は、以下のようにhidden属性つきで<form>要素に含まれています。

ログイン後の設定画面についても、同様に各フォームに対してCSRF対策が施されているようです。セキュリティ的に良いことです。

Cookieは使用されていない

ログイン前後のCookieの利用状況を確認しましたが、認証情報を保持するためのCookieは無いようです(Cookieによるセッション管理のような処理が無い)。

おそらくUI制御用と思われるmobileのフラグのみ、Cookieとして使用されています。

ここまでが、開発者ツールによるキャプチャの確認結果です。

認証情報が何をもとに保持、管理されているのか

上記より、認証情報を保持するためにCookieが使用されていないことが分かりました。

また、処理内容から明らかに、Basic認証でもありません。

では、このWeb管理画面はどのように認証情報を保持しているのでしょう。

"認証情報"という表現は便宜的なものですが、つまりは、ログイン成功した後はルーターの設定変更等、管理者としての"操作"を行える訳ですが、このWeb管理画面が、その"操作"が本当にログイン成功した主体(ブラウザ等)によるものであることをどのように判断しているか、その判断に用いる要素、基準のことを認証情報と呼びながら、話を進めます。

ここからは、動作確認結果に基づく推測です。

アクセス元のIPアドレスが認証情報に相当

動作を確認したところ、以下でした。

  • 管理画面に対するアクセス時のソースIPアドレスが、ログイン成功した際のそれと同じなら、再度認証を要求されることなく、ルーターの設定変更等、管理者として"操作"できる

アクセス元のIPアドレスを認証情報に相当するものとして扱っているようです。

レイヤがズレている

Webアプリがアクセス元のIPアドレス情報をもとにログイン済みかどうかの判断を行うということは、レイヤがズレた実装になっているということです。

Webアプリ自体のコードが動作するHTTPのレイヤ(L7)と、そのための通信に利用されるIPのレイヤ(L3)は異なるため、少し変な動作になることがあります。

レイヤのズレによる変な動作の例

具体的には、以下のような動作が発生します。

  • ログイン成功したブラウザとは別のブラウザを起動してWeb管理画面にアクセスすると
    再度認証を要求されず、ログイン成功した場合と同様に、ログイン後の画面に遷移できます。
    (仮に、Cookieを使用したWebアプリなら、別ブラウザやシークレットモードを使用すると、再度認証を要求されます)

  • ログイン成功後に、端末のIPアドレスを別のものに変更してWeb管理画面にアクセスすると
    ログイン成功したブラウザによる継続操作であっても、再度認証を要求されます。
    IPアドレスを元に戻してWeb管理画面にアクセスすると、認証要求されません。

"本当に変かどうか"については、特に定義は無いので、あまり深く言及はしません。

ただ一応、注意点は後述します。

もちろん、タイムアウト前の話

取扱説明書(上記画像)によると、このWeb管理画面のタイムアウトは5分間のようで、ログイン成功後であっても、その時間を過ぎると、次の操作からは再度認証を要求されます。

タイムアウト時間が5分と短いのは良いかと思います(ただ設定変更はできなさそう)。

もちろん、手動によるログアウトは可能

ログアウトボタンを押せば、ログアウトできます。

ログアウト後に再度管理画面にアクセスすると、認証を要求されます。

使用上の注意

上記より、このWeb管理画面の認証は、一般的なWebアプリに比べると簡易的なものであることが分かります。

もちろん、家庭用の製品なので、家の中はある程度安全(物理的に不正アクセスされるリスクが低いセキュリティゾーン)であるという想定に基づき、家庭内LANのみでの利用が想定されているためでしょう。

使用上の注意点としては、以下です。

  • 管理画面を使い終えたら確実に手動ログアウトする
    ※ブラウザ終了では不十分 (同じIPアドレスからのアクセスはタイムアウトまで認証回避可)
  • 不用意(むしろ絶対)に、インターネット側(WAN側)からのログインを許可しない

まとめ

本記事では、Baffalo家庭用ルーターの管理画面の認証仕様について、開発者ツールで確認した結果からまとめてみました。

関連記事として、警視庁による注意喚起や、Wi-Fiルーターについては以下です。

happy-nap.hatenablog.com

happy-nap.hatenablog.com