目次

セキュリティアーキテクチャ

Pandora FMS ドキュメント一覧に戻る

概要

Pandora FMS の各コンポーネントのセキュリティ要素を、PCI/DSS、ISO 27001、ENS、LOPD などの規制に従って説明しています。

さらに、各 Pandora FMS 要素のセキュリティ メカニズムの具体的な説明、および Pandora FMS で利用可能なツールやその他のメカニズムを使用して発生する可能性のあるリスクとそのリスクを軽減する方法も含んでいます。

一般的なセキュリティの実装

コンポーネントごとのセキュリティ

サーバ

考えられる脆弱性と保護手段

解決策: NFS を使用して、外部構成ファイル用の外部保護コンテナを実装します。

解決策: 設定後に機密性の高いエージェントのリモート設定を無効にし、完全なセキュリティを確保するために、リモートから設定変更できないようにします。最もデリケートなデバイスのであれば、エージェントを用いないリモート監視をします。

  1. (グループごとに機能する)パスワード保護システム。
  2. エージェントの自動作成を制限し、代わりに手動で作成します。
  3. すでに設定があるものを除き XML から新しい情報を取得しないようにしたり、エージェントの変更を自動検出する機能を制限します。

解決方法: サーバとMySQLデータベース間のTLS通信を有効にします。認証方法 caching_sha2_password を設定します。

Tentacle

考えられる脆弱性と保護手段

解決策: セキュアな外部 NFS システムにより、サーバと同じ方法で保護できます。

解決策: バランシングのための TCP サービス、またはアクティブ/アクティブクラスターで HA ソリューションをセットアップします。 標準の TCP サービスであるため、いずれのハードウェアまたはソフトウェアソリューションも利用できます。

コンソール

考えられる脆弱性と保護手段

解決策: 保護された外部 NFS システムにより、サーバと同様の方法で保護できます。

解決策:

  1. 厳格なパスワードポリシーを実装します(ポイント14)。
  2. 二段階認証システムを実装します(ポイント8)。

解決策: SSL/TLS を実装します。

解決策: SSL/TLS を実装します。

解決策: 暗号化データストレージの実装。

解決策:

  1. 監査ログを有効化し、ユーザにその存在とその正確性を示します。
  2. 拡張 ACL システムを有効化して、各ユーザの機能をできるだけ制限します。
  3. 定期的に監査ログを外部システムにエクスポートします。

解決策: アプリケーションを含むサーバのセキュリティ強化。

エージェント

考えられる脆弱性と保護手段

解決策:

  1. これらのポリシーまたは設定を変更できるユーザを制限します(通常のコンソール ACL または拡張 ACL を使用)。
  2. 特に機密性の高いシステムに対して、エージェントの “読み取り専用” モードを有効化します(設定のリモート変更は許可されません)。

解決策: パーミッション設定を正しくします。

解決策:

  1. (通常のコンソール ACL または拡張 ACL を介して)実行可能ファイルをアップロードできるユーザを制限します。
  2. 新しいプラグインの監査をします。

データベース

考えられる脆弱性と保護手段

解決策: 安全なTLS接続の実装。 MySQL はそれをサポートしています。

解決策: アクセスパーミッション設定の修正。

ベースシステムの強化

システムの強化は、企業の全体的なセキュリティ戦略における重要なポイントです。

メーカーとして、私たちは標準の RHEL 8 または Ubuntu server プラットフォームに基づいて、すべての Pandora FMS コンポーネントを安全にインストールするための一連の推奨事項を示しています。

これらの推奨事項は、他の Linux ベースの監視システムにも適用されます。

アクセス認証

システムにアクセスするためには、特権のない必要に応じてアクセスを制限した目的に応じたユーザを作成します。

理想的には、各ユーザの認証は、トークンに基づく二段階認証システムと統合します。このガイドの範囲外ですが、Linux に統合可能な Google 認証システム® などの無料で安全な代替手段があります。 それらの使用を真剣に検討してください。

アプリケーション用に何らかのユーザを作成する必要がある場合は、リモートアクセス権限のないユーザにする必要があります(そのためには、シェルまたは同等の利用を無効にします)。

スーパーユーザアクセス

特定のユーザーが管理者権限を持つ必要がある場合は、sudo コマンドを使用します。

システムを最新の状態に保つ

ネットワークに接続するか、プロキシサーバを使用するように dnf システムを設定するだけです。

このコマンドは、ライブラリー、設定などの変更で潜在的な問題を引き起こす可能性がありますが、特にシステムを本番環境として利用する場合は、システムのアップグレードを省略しないことが重要です。すでに利用中の本番システムの場合は、これらの重要なコンポーネント、つまり脆弱性のあるコンポーネントのみをアップグレードする必要がある場合があります。

たとえば、RHEL システムで mysql サーバ のみをアップグレードする場合は、dnf update mysql-server を実行します。

システムのアップグレードは、定期的に実行する必要がある対応です。 システムパッケージインベントリを使用して、脆弱なバージョンをチェックし、緊急アップグレードを実行します。

アクセス監査

セキュリティログ /var/log/secure を有効化し、それらのログを監視する必要があります。

CentOS ではこれがデフォルトで有効になっています。そうでない場合は、/etc/rsyslog.conf または /etc/syslog.conf を確認してください。

監査システムのログを取得し、外部のログ管理システムで収集することをお勧めします。Pandora FMS はそれを簡単に行うことができ、必要に応じてアラートを発報したり、一元的に確認したりするのに役立ちます。

SSH サーバの保護

SSH サーバを使用すると、Linux システムにリモート接続してコマンドを実行できるため、これは重要なポイントであり、次の点に注意して保護する必要があります(そのためには、ファイル /etc/ssh/sshd_config を編集し、サービスを再起動します)。

#Port22     ->     Port 31122
#PermitRootLogin yes        ->    PermitRootLogin no
#AllowTcpForwarding yes        ->    AllowTcpForwarding no
#PermitTunnel no        ->    PermitTunnel no
Banner /etc/issue.net

MySQL サーバの保護

MySQL が内部のみにサービスを提供する場合は、netstat を使用して、localhost のみで待ち受けていることを確認する必要があります。

netstat -an | grep 3306 | grep LIST
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

この場合、どこからでも接続を受け付けます。制限するには、ファイル /etc/my.cnf を編集し、セクション [mysqld] に次の行を追加します。

bind-address = 127.0.0.1

サービスの再起動後、待ち受けを再度確認します。

MySQL パスワード

特権ユーザで MySQL コンソールに接続します。

mysql -h host -u root -p

パスワードが安全であり、パスワードの入力を求められていることを確認します。 そうでない場合は、次のコマンドで設定します。

mysqladmin password

このセキュリティ対策は、外部からの攻撃だけでなく、内部ユーザによる誤用からもデータベースを保護するために不可欠です。

Apache web サーバの保護

ServerTokens Prod

上記の行を追加すると、サーバ情報ヘッダー内の Web サーバのバージョン (Apache、Nginx) が非表示になります。

PHP アプリケーションエンジン

Pandora FMS が実行されるアプリケーションエンジンを保護するために、特にセキュリティが重要な環境では、セッション クッキー が SSL でのみ送信されるようにアプリケーションへのアクセスを保護することが必要になる場合があります。

これにより、HTTP (暗号化なし) 経由で使用した場合にアプリケーションが動作しなくなります。

これを行うには、次の設定を php.ini ファイルに追加する必要があります。

session.cookie_httponly = 1
session.cookie_secure = 1

システムサービスの最小化

この手法は非常に網羅的であり、システムに不要なものをすべて排除するだけです。 このようにして、実際には必要のない、誤って設定されたアプリケーションで将来発生する可能性のある問題を回避します。 この方法へのアプローチを単純化するために、マシン上にポートを開いて待ち受けているアプリケーションのみを対象とします。このために、netstat -tulpn を実行します。

各ポートを調査し、その背後にあるアプリケーションを把握する必要があります。これを行うには、dnf または apt でインストールできる lsof コマンドを使用できます。

localhost (127.0.0.1) で待ち受けているサービスは、すべての IP アドレス (0.0.0.0.0) で待ち受けているサービスよりも安全です。また、開いているポートで待ち受けているサービスがある場合は、localhost のみで待ち受けるように修正する必要があります。

Pandora FMS プロセスインベントリシステムを使用して、時間の経過とともに新しいプロセスが開始されていないことを確認します。

追加設定

NTP 時刻同期

RHEL システムの時刻同期を設定することをお勧めします。

dnf install ntpdate
echo "ntpdate 0.us.pool.ntp.org"> /etc/cron.daily/ntp
chmod 755 /etc/cron.daily/ntp

ローカル監視

システムには、Pandora FMS エンドポイントをインストールして起動します。MS Windows® オペレーティングシステムの場合、バージョン 761 以降、インストール実行ファイルは署名されています。

標準チェックに加えて、次のアクティブチェックをお勧めします。

module_plugin grep_log_module /var/log/messages Syslog \.\*
module_plugin grep_log_module /var/log/secure Secure \.\*

エンドポイントをインストールしたら、少なくとも次の情報をエージェントタブで手動で定義する必要があります。

Linux におけるセキュリティ監視

公式プラグインを使用すると、実行のたびに、ほぼリアルタイムでエージェントのセキュリティをプロアクティブに監視でき、関連するイベントの警告を発することができます。

このプラグインは、最新の Linux マシンでのみ実行することを目的としています。これには、32および 64bit 版の John the ripper 1.8 + Contrib パッチのカスタムビルドが含まれています。プラグインの主な概要は、モノリシックであり、強化ポイントを検出し、管理者に何も尋ねることなくディストリビューション間の違いを解決しようとすることです。そのため、バージョン、ディストリビューション、またはアーキテクチャに関係なく、どのシステムでも同じように展開することができます。

このプラグインは以下をチェックします。

Pandora FMS ドキュメント一覧に戻る