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