はじめに
前回、解説第1回の記事では、EasyBlocks Syslog Ver.2系で見直したセキュリティの全体像を紹介しました。
第2回の今回は、ログイン・アカウントまわりの変更を取り上げます。この変更は、2つの考え方に分けられます。
今回は、それぞれの変更が何を防ぐためのものかを整理したうえで、検証機で実際の動きを確かめてみました。
※本記事で紹介する画面・仕様は開発中のものです。リリースまでに変更になる場合があります。
変更点と、それぞれが防ぐもの
ログイン・アカウントまわりの主な変更を、「何を防ぐか」と「使う側に何が起きるか」で整理しました。
| 区分 | 変更 | 防ぐもの | 使う側に起きること |
|---|---|---|---|
| 入口 | 管理者アカウントを初回アクセス時に作成 | 共通の初期パスワードが変更されずに残り、第三者に推測されること | 導入時に、管理者アカウントの作成が必要 |
| 入口 | パスワードの強度チェック | 推測されやすいパスワードが使われ続けること | 文字種と長さの条件を満たさないパスワードや、よく使われるパスワードは登録できない |
| 入口 | ログイン失敗時のロック | パスワードの総当たり | 同じ利用者名または同じ接続元から5回続けて失敗すると、10分間ロック。SSHも同じ条件 |
| 入口 | 2段階認証(任意) | パスワードが漏れた場合の侵入 | 認証アプリの6桁のコードを入力。端末の紛失に備え、バックアップコードの保管が必要 |
| 入口 | 無操作時の自動ログアウト | ログインしたまま放置された画面を、第三者に操作されること | 無操作が2時間続くとログアウト。期限の前に延長を確認する画面が出る |
| 入口 | 利用者を削除した時点での遮断 | 退職や異動のあとも、アクセスが残ること | 削除した時点で、ログイン中の画面も使えなくなる |
| 入口 | 閲覧権限での認証情報の伏せ字 | 設定の確認を任せた相手に、認証情報まで見せてしまうこと | 参照のみの権限では、設定画面のパスワードなどが伏せ字になる |
| 入口 | メール通知のOAuth2(選択肢) | 機器にメールのパスワードを保存すること | SMTP認証に加えて、Gmail・Microsoft 365のOAuth2を選べる |
| 記録 | 操作ログ | 不正な操作の見逃しと、後から説明できないこと | ログインの成否、設定変更、ファイル削除、SSHログインなどを、日時・利用者・接続元とともに記録 |
表のうち8項目は入口を絞る変更で、最後の操作ログは記録を残す変更です。
入口をどれだけ絞っても、入った後の記録がなければ、何が起きたかを後から確かめられません。反対に、記録だけがあっても、入口が開いたままでは防げる被害が限られます。Ver.2系では、この2つをそろえています。
また、入口で起きたこと自体も記録に残ります。ログインの失敗やロック、2段階認証、利用者の削除、無操作による自動ログアウトも、操作ログに日時・利用者・接続元とともに記録されます。
導入時の流れも変わります。Ver.2系は機種共通の管理者パスワードを持たず、初回アクセス時の初期設定画面で、使用許諾契約書の確認と管理者アカウントの作成を行います。
試しに、英字の大文字・小文字と数字を組み合わせていないパスワードを入れてみると、画面上部に赤いメッセージが出て登録できませんでした。

保守用アカウント(ebsupport)の初期パスワードも、変更するまで本機を利用できません。初期設定の途中で、変更を求める画面が表示されました。

やってみた①:ログインに5回失敗するとどうなるか
まずは、わざとパスワードを5回続けて間違えてみました。
5回目に失敗したあと、もう一度アクセスしてみると、ログイン画面は表示されず、ブラウザの「このサイトにアクセスできません」という画面になりました。ロック中は、その接続元からは管理画面そのものが開けなくなります。10分経つと、通常どおりログイン画面が表示されました。

操作ログを見ると、5回の失敗がそれぞれ試行した利用者名とともに残り、5回目の時点で「ユーザー『ebadmin』を10分間ロック」と「IP『(接続元)』を10分間ロック」の2行が記録されていました。利用者名と接続元の両方でロックがかかっていることが、記録からも分かります。

接続元のIPアドレスでもロックされるため、複数の担当者が同じ接続元から管理画面を使う環境では、誰か一人が5回続けて間違えると、その接続元からは10分間入れなくなると考えられます。
やってみた②:2段階認証を設定してログインする
2段階認証(MFA)は、利用者ごとにマイページから有効にします。利用は任意です。
設定画面に表示されるQRコードを認証アプリで読み取り、アプリに表示された6桁のコードを入力して有効化します。

有効化すると、バックアップコードが10個表示されます。認証アプリの端末をなくした場合に使うもので、1個につき1回だけ使え、この画面以外では再表示されません。

マイページでは、2段階認証の状態とバックアップコードの残数を確認でき、2段階認証の無効化やバックアップコードの再発行もできます。
次回のログインからは、パスワードに続けて認証コードの入力を求められます。認証アプリの6桁のコードか、8桁のバックアップコードを入力します。画面の注記によると、認証は5分以内に完了する必要があり、認証コードを5回続けて間違えると、接続元のIPアドレスがロックされます。

認証アプリの端末をなくした場合は、バックアップコードでログインできます。バックアップコードも手元にない場合は、管理者権限の利用者が、ほかの利用者の2段階認証を強制的に解除できます。
2段階認証の設定と認証の結果も、操作ログに残ります。

やってみた③:ログイン中の利用者を削除する
最後に、ログインしている利用者を、別のブラウザから管理者が削除してみました。
削除された側のブラウザでは、ログイン画面に戻されました。同じ利用者名とパスワードを入力し直しても、ログインできませんでした。退職や異動の際に、アカウントを消した時点で管理画面へのアクセスを断つことができます。
操作ログには、利用者の追加、その利用者のログイン、管理者による削除、削除後のログイン失敗が、順に記録されていました。

おわりに
今回は、EasyBlocks Syslog Ver.2系のログイン・アカウントまわりの変更を、「誰が管理画面に入れるかを絞ること」と「入った後に誰が何をしたかを残すこと」の2つの考え方から紹介しました。
実際に試してみると、ロック中は管理画面そのものが開けなくなること、2段階認証には端末をなくした場合の手段が用意されていること、そして今回試した動きは、操作ログに残ることを確かめられました。
次回の第3回は、通信機能とセキュリティの変更点を取り上げます。許可した通信だけを開く方式や、syslog over TLSでの受信など、ログを受け取る側の入口の話です。
最後までお読みいただき、ありがとうございました。次回もよろしくお願いします。
▼EasyBlocks Syslog Ver.2ソフトウェアリリースに関する過去記事はこちら

