Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 3 years have passed since last update.

【限定】ヤマハのルーターの初期設定で事故を起こした話と初期設定

0
Last updated at Posted at 2021-12-03

🎄この記事は【慶應義塾大学 SFC 村井研 (RG) Advent Calendar 2021】3日目の記事です⛄


初期設定が完了したと思っていたYamaha製ルーター ”FWX120” を研究室ネットワークを通して公開したところ、初期パスワードで内蔵Telnetサーバーが全世界に公開されるインシデントを発生させてしまいました。その反省をもとに、自戒を込めて経緯と対策をまとめます。

ファイアウォールがセキュリティーホールになるっていうのは、まったく笑えない話です。

またこの場をお借りして、ルーターの脆弱性を早期に発見し初動対応にあたってくださったネットワーク管理者 (rgroot) の皆様に、改めて深くお礼を申し上げます。

前提

FWX120

セキュリティー・高速ルーティング・マネジメントを1台で実現するファイアウォール
https://network.yamaha.com/products/firewalls/fwx120/index

通常のルーターより少しファイアーウォール機能を拡張したルーターという位置づけの製品という認識。分解したら中身はRTX810と同じだった

Telnet

IPネットワークにおいて、遠隔地にあるサーバやルーター等を端末から操作する通信プロトコル、またはそのプロトコルを利用するソフトウェアである。
(Wikipedia)

SSHと概ね同じことを暗号化せず平文で行う、昔のプロトコル。

無名ユーザー
これはどうもYamahaNW製品特有の存在らしい。初期ユーザーがユーザー名なに設定されており、この無名ユーザーは削除できない参考

経緯

夏休み頃から研究室内で一切のセキュリティやFWが設定されていないネットワーク (unfilterdセグメント) の固定IPを取得し、UbuntuServer実機1台を接続していた。
当該ルーター (FWX120) 自体はハ◯ドオフのジャンク品で買ってきたもので、ポートフォワードなどを使って1つの固定IPから自席の複数端末へアクセスできないかと思い、勉強がてら導入しようとしていた。基本的に動作に問題は見つかっていない。

当時の設定状況
当該ルーターをUnfilterdに接続する前に、おおむね以下のような設定を行っていた。

  • 筐体に固定IPアドレスと、unfilterdセグメントに接続している旨を記載
  • 自分のユーザーアカウントの作成
  • WAN (LAN2) 側からのHTTPアクセスを禁止
  • 「管理用パスワード」の変更
  • WAN側固定IP設定
  • WAN側「セカンダリIPアドレス」をDHCPから取得するよう設定
    • これに関しては特に使う予定もなしに「何だろうこれ?」と軽い気持ちで有効化してしまった

見落としていた点
この初期設定において以下の点を見落としていたことがインシデントの原因となった。

  • 新規ユーザーアカウントを作成しても、無名ユーザーは削除されない。別途「無名ユーザーのパスワード」を変更しなければ、デフォルトの ”ログイン名なし/パスワードdoremi”でログインができる
  • デフォルトでTelnetサーバー機能がLAN,WAN側ともに有効になっている。 

この状態で一切のセキュリティやFWが設定されていないunfilterdセグメントに接続してしまった。

インシデントの発覚
当該ルーターを接続し3日目頃、

  • ネットワーク管理者が導入している外部監視ツールからの警告で、インシデントを招いているYamaha製品の存在が発覚
  • ネットワーク管理者が当該IPの端末に、無名ユーザー/doremiでTelnetログインが可能であることを確認
  • ネットワーク管理者が研究室内を探し回ったところ、私の席の当該ルーターであると発覚
    • 外部ツールの検出したIPが固定IPではなくDHCP取得のセカンダリIPだったため、場所や持ち主の特定に手間を増やしてしまった
  • ネットワーク管理者が当該ルーターのLANケーブル、電源を物理的に取り外し
  • 筐体に記名があったため、Slackで私へ連絡

このように外部ツールの発報以降、ネットワーク管理者の皆様が迅速に初期対応をしてくださり、当該ルーターがまだ悪用されていないとみられる段階でネットワークから隔離された。

今後取るべき対策(主に自分向け)

FWX120を含めたYamahaの初期設定で、今後実施するべきだと思う項目を列挙する。

参考
マニュアル (RTPro)

ファームウェアのアップデート

今回の場合、最新のファームウェアであればデフォルトでTelnetサーバーがWAN側に公開されず、インシデントの原因の1つがなくなっていた。
ファームウェア入手元 RTPro からファームウェアをダウンロードし、USBメモリやmicroSDの直下に入れてFWX120に入れ、電源を投入する。

WEB GUI > 詳細設定と情報 > 設定ファイル・ファームウェアファイルのコピー にアクセスし、ファームウェアのファイルをファイルを外部メモリから内部にコピー
スクリーンショット 2021-11-09 20.40.55.png

その後自動再起動とかでアップデートされた気がする。設定でファームウェアのバージョンを確認すればOK

シリアルコンソールの言語・文字コードを変更

4.19_コンソールの言語とコードの設定
console character ascii

ユーザーアカウントを作成

自分が使うアカウントを作成する。

4.5_ログインユーザー名とログインパスワードの設定
login user ユーザー名 encrypted パスワード

無名ユーザーを無力化する

FWX120の初期アカウントはユーザー名なし・PWdoremi。これが「無名ユーザー」であり、無名ユーザーのアカウント自体は削除できない仕様になっている。
せめて無害化しようと思うと、各インターフェースからのログインを拒否し、各種権限を剥奪するしかなさそう。

とりあえず無名ユーザーのPW変更

4.2_ログインパスワードの暗号化保存
login password encrypted
# 旧,新PWの入力

デフォルトではで無名ユーザーでログインした場合PWなしで昇格できてしまうので、管理パスワードを設定

4.4_管理パスワードの暗号化保存
administrator password encrypted

シリアル、WEB GUI、SSHのいずれのインターフェースから無名ユーザーにログインできなくしておく

4.8_ユーザーの属性を設定
user attribute administrator=off
user attribute connection=off  
no user attribute host=any

これであらゆるインターフェースからログインできなくなったはず
無名ユーザーで (ユーザー名を入力せずに) でログインをしようと試すとエラーが出る

Error: Login not allowed with user attribute

インターフェースを閉じる

使わないインターフェースは災のもとだということを学んだので、とりあえず片っ端からそれっぽいのを閉じておく。

telnet

ファームウェアのバージョンによってはデフォルトoffらしい

4.31_TELNETサーバー機能のON/OFFの設定
telnetd service off

クライアントから接続ができなくなったことを確認する

$ telnet 192.168.100.1
Trying 192.168.100.1...
telnet: connect to address 192.168.100.1: Connection refused
telnet: Unable to connect to remote host

ssh

4.53_SSHサーバー機能のON/OFFの設定
sshd service off

クライアントから接続ができなくなったことを確認する

$ ssh ユーザー名@192.168.100.1
ssh: connect to host 192.168.100.1 port 22: Connection refused

TFTP

ヤマハルーター に設定した項目は、TFTP により LAN 上のホストから設定ファイルとして読み出すことができます。またホスト上の設定ファイルを本機に読み込ませて設定を行うこともできます。

使う予定がなければ、とりあえず全ホストからの接続を拒否したほうが良いだろうと思われる。

4.42_TFTPによりアクセスできるホストのIPアドレスの設定
tftp host none

HTTP

もしHTTPを使わないなら

30.1.1_HTTPサーバー機能の有無の設定
httpd service off

自分は使いたいので、LAN1(LAN側)からだけ見れるようにする

30.1.2_HTTPサーバーへアクセスできるホストのIPアドレス設定
httpd host none
httpd host lan1

以上

最後に

この記事の下書きはインシデント発生翌日に書いたものの、以後当該ルーターに触れる時間が取れず、まだ再接続できずにいます。
この記事の内容について不足/修正点などあれば、コメント頂けますと幸いです。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?