このセクションでは、アクセス制御を安全に設定するためのベストプラクティスについて説明します。
ユーザーアカウントは常に、できるだけ少ない権限で実行する必要があります。 これは、Zabbix Webインターフェースのユーザーアカウント、データベースユーザー、Zabbixサーバー/プロキシ/エージェントのプロセスユーザーには、目的の機能を実行するために必要な権限のみが与えられる必要があることを意味します。
'zabbix'ユーザーに追加の権限を与えると、設定ファイルにアクセスし、インフラストラクチャのセキュリティを侵害する可能性のある操作を実行できるようになります。
ユーザーアカウントの権限を設定するときは、Zabbix Webインターフェースのユーザータイプを考慮する必要があります。 Adminユーザータイプは、Super Adminユーザータイプより権限が少ないにもかかわらず、設定を管理し、カスタムスクリプトを実行できることに注意してください。
一部の情報は、権限を持たないユーザーでも利用できます。 たとえば、アラート → スクリプト は Super Adminユーザーのみが利用できますが、スクリプトはZabbix APIを通じて取得することもできます。 この場合、スクリプトのアクセス許可を制限し、スクリプトから機密情報 (アクセス資格情報など) を除外すると、グローバルスクリプトで利用可能な機密情報の公開を避けることができます。
デフォルトでは、ZabbixサーバーとZabbixエージェントのプロセスは単一の'zabbix'ユーザーを共有します。 Zabbixエージェントがサーバー設定の機密情報 (データベースのログイン情報など) にアクセスできないようにするには、エージェントを別のユーザーとして実行する必要があります。
User
パラメータで指定します。Windows上でZabbixエージェントをコンパイルし、OpenSSLを保護されていないディレクトリ(例: c:\openssl-64bit
、C:\OpenSSL-Win64-111-static
、C:\dev\openssl
)に配置している場合は、管理者以外のユーザーによるこのディレクトリへの書き込み権限を必ず無効にしてください。無効にしないと、Zabbixエージェント2は権限のないユーザーが変更できるパスからSSL設定を読み込み、潜在的なセキュリティ脆弱性が発生します。
Zabbixコンポーネントのセキュリティを強化するために、一部の機能をオフにすることができます。
$ALLOW_HTTP_AUTH=false
を設定することで無効にできます。フロントエンドを再インストールすると (setup.php を実行すると)、このパラメータが削除されることに注意してください。