4 MFA

概要

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

MFAでは、ユーザーがZabbixに存在している必要があり、ログイン時にZabbixの認証情報を入力し、さらに別の手段で本人確認を行う必要があります。通常は、ユーザーのスマートフォン上の認証アプリで生成されたコードを使用します。

複数のMFA方式が利用可能であり、ユーザーは自身のセキュリティ要件や好みに最も適した方法を選択できます。
これらの方式には、Time-Based One-Time Password(TOTP)とDuo Universal Promptがあります。

設定

設定パラメータ:

Parameter Description
Enable multi-factor authentication チェックボックスをオンにして、多要素認証を有効にします。
Methods Add をクリックしてMFA方式を設定します(以下の方式の設定を参照)。

メソッドの設定

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

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

設定例

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

TOTP

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

1. Zabbix の UsersAuthentication で MFA 設定を開き、多要素認証を有効にします。

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

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

3. Add ボタンをクリックし、続いて Update ボタンをクリックします。

4. UsersUser groups に移動し、次の設定で新しいユーザーグループを作成します。

  • 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 Admin Panel を開き、ApplicationsProtect an Application に移動し、Web SDK アプリケーションを検索して、Protect をクリックします。

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

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

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

  • 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. UsersUser groups に移動し、次の設定で新しいユーザーグループを作成します。

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

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

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