VyOSのサイトを久しぶりに眺めていたら、Google Authenticatorなどで利用されている「TOTP(時間ベースのワンタイム パスワード)」による2要素認証が利用できるようになったというアップデート情報を見つけました。
VyOS Project November 2022 Update
https://blog.vyos.io/vyos-project-november-2022-update
Support for Two Factor Authentication for CLI access via Google Authenticator
どのように利用できるのか、簡単に試してみました。
試したときのイメージは以下になります。
Version: VyOS 1.4-rolling-202302150317
VyOS側の設定は、以下のコマンドを設定するだけです。
set system login user <user> authentication otp key <key>
set system login user <user> authentication otp rate_limit <rate_limit>
set system login user <user> authentication otp rate_time <rate_time>
set system login user <user> authentication otp window_size <window_size>
<注意点など>
・初めて試すときはログインできなくなっても困らない環境やアカウントで試してください
私は最初に試したときに確認コードが合わずログインできなくなりました
・keyに設定できる文字列はBase32かつ26文字以上が必須条件です。
・Base32はA~Z、2~7の文字列を利用します。(OやIは避けた方が良いかもしれません)
今回試したときは、以下のように設定しました。
set system login user vyos authentication otp key '234567abcdefg234567abcdefg'
set system login user vyos authentication otp rate_limit 3
set system login user vyos authentication otp rate_time 30
set system login user vyos authentication otp window_size 3
これでCommitすればVyOS側の設定は完了です。
今回の確認では、Google Authenticatorを利用します。
Google Authenticatorの設定は、以下となります。
- スマートフォンアプリのGoogle Authenticatorを起動
- 追加アイコンをタップ
- セットアップキーを入力
- 以下のパラメーターを設定
- アカウント名:任意
- キー:VyOSのotp keyに設定した文字列
- キーの種類:時間ベース
- 追加をタップ
設定は以上です。
設定されたVyOSにログインしてみましょう。
SSHでVyOSにログインすると、パスワード認証を通過したあとに以下のように認証コードの入力が求められます。
コンソールログインのときも同様に認証コードが必要になります。
ログイン時のセキュリティを強化したい場合には利用すると良いかもしれません。
それでは。