4 MFA

概要

Zabbixへのサインインには、多要素認証(MFA)を使用でき、ユーザー名とパスワードだけでなく、追加のセキュリティ層を提供します。

MFAを使用する場合、ユーザーはZabbixに存在し、ログイン時にZabbixの認証情報を提供し、さらに通常はユーザーの携帯電話の認証アプリによって生成されたコードなど、他の手段で本人確認を行う必要があります。

複数のMFA方式が利用可能であり、ユーザーは自分のセキュリティ要件や好みに最適なオプションを選択できます。 これらの方式には、時刻ベースのワンタイムパスワード(TOTP)とDuo Universal Promptがあります。

設定

設定パラメータ:

パラメータ 説明
多要素認証を有効にする チェックボックスをオンにすると多要素認証が有効になります。
メソッド 追加をクリックしてMFAメソッドを設定します(下記のメソッド設定を参照)。

メソッドの設定

メソッド設定パラメータ:

パラメータ 説明
タイプ MFAメソッドのタイプを選択:
TOTP - 認証アプリを使用して時限ワンタイムパスワードを生成します。
Duo Universal Prompt - Duo認証サービスを使用して多要素認証を提供します。
名前 認証アプリで全てのMFAユーザーにアカウント名として表示される名前を入力します(例:"Zabbix")。
ハッシュ関数 TOTPコードを生成するためのハッシュ関数(SHA-1、SHA-256、またはSHA-512)を選択します。
このパラメータは、MFAメソッドタイプが「TOTP」に設定されている場合に利用できます。
SHA-256またはSHA-512を選択すると、多くのアプリケーションがこれらの関数をサポートしていないため、互換性が大幅に制限される可能性があることに注意してください。
コード長 認証コードの長さ(6または8)を選択します。
このパラメータは、MFAメソッドタイプが「TOTP」に設定されている場合に利用できます。
APIホスト名 Duo認証サービスから提供されたAPIホスト名を入力します。
このパラメータは、MFAメソッドタイプが「Duo Universal Prompt」に設定されている場合に利用できます。
クライアントID Duo認証サービスから提供されたクライアントIDを入力します。
このパラメータは、MFAメソッドタイプが「Duo Universal Prompt」に設定されている場合に利用できます。
クライアントシークレット Duo認証サービスから提供されたクライアントシークレットを入力します。
このパラメータは、MFAメソッドタイプが「Duo Universal Prompt」に設定されている場合に利用できます。

設定例

このセクションでは、Time-Based One-Time Password (TOTP) および Duo Universal Prompt を使用したMFAの設定例を示します。

TOTP

TOTP では、ユーザーは認証アプリ(たとえば、Google Authenticator アプリ)を使用して本人確認を行う必要があります。

1. Zabbix の Users > Authentication にある MFA 設定に移動し、多要素認証を有効にします。

2. 次の設定で新しい MFA method を追加します。

  • Type: TOTP
  • Name: Zabbix TOTP
  • Hash function: SHA-1
  • Code length: 6

3. Add ボタンをクリックし、次に Update ボタンをクリックします。

4. Users > User groups に移動し、次の configuration で新しいユーザーグループを作成します。

  • Group name: TOTP group
  • Users: Admin
  • Multi-factor authentication: Default(または、デフォルトに設定されていない場合は "Zabbix TOTP")

5. Zabbix からログアウトし、資格情報を使用して再度ログインします。
ログインに成功すると、MFA の登録を求められ、QR コードとシークレットキーが表示されます。

6. QR コードをスキャンするか、シークレットキーを Google Authenticator アプリに入力します。
アプリが検証コードを生成するので、それを入力してログイン処理を完了します。

7. 以降のログインでは、Google Authenticator アプリから検証コードを取得し、ログイン時に入力します。

Duo Universal Prompt

Duo Universal Prompt では、ユーザーは Duo Mobile 認証アプリを使用して本人確認を行う必要があります。

Duo Universal Prompt の MFA メソッドを使用するには、php-curl 拡張のインストール、HTTPS 経由での Zabbix へのアクセス、および Duo サーバーへのアウトバウンド接続の許可が必要です。 さらに、Web サーバーで Content Security Policy (CSP) を有効にしている場合 は、仮想ホストの設定ファイルにある CSP ディレクティブへ "duo.com" を追加してください。

1. Duo Signup で無料の Duo 管理者アカウントに登録します。

2. Duo 管理パネルを開き、Applications > Protect an Application に移動し、Web SDK アプリケーションを検索して Protect をクリックします。

3. Zabbix で MFA メソッドを設定するために必要な認証情報(Client ID、Client secret、API hostname)を控えます。

4. Zabbix の Users > Authentication で MFA 設定に移動し、多要素認証を有効にします。

5. 次の設定で新しい MFA method を追加します。

  • Type: Duo Universal Prompt
  • Name: Zabbix Duo
  • API hostname: (Duo の API hostname を使用)
  • Client ID: (Duo の Client ID を使用)
  • Client secret: (Duo の Client secret を使用)

6. Add ボタンをクリックし、次に Update ボタンをクリックします。

7. Users > User groups に移動し、次の configuration で新しいユーザーグループを作成します。

  • Group name: Duo group
  • Users: Admin
  • Multi-factor authentication: Default(または、デフォルトに設定されていない場合は "Zabbix Duo")

8. Zabbix からログアウトし、資格情報を使用して再度ログインします。 ログインに成功すると、MFA への登録を求められ、Duo にリダイレクトされます。 Duo のセットアップを完了し、スマートフォンの Duo アプリでユーザーを確認してログインします。

9. 以降のログインでは、Duo アプリで提供される適切な MFA メソッド(確認コードの取得、プッシュ通知への応答、ハードキーの使用など)を使用し、ログイン時に必要な情報を入力します。