外部Syslogサーバーの使用に関する考慮事項
外部 Syslog サーバーは、 StorageGRIDの外部にあるサーバーであり、システム監査情報を 1 か所に収集するために使用できます。外部 Syslog サーバーを使用すると、管理ノード上のネットワーク トラフィックを削減し、情報をより効率的に管理できます。 StorageGRIDの場合、送信 syslog メッセージ パケット形式は RFC 3164 に準拠しています。
外部 Syslog サーバーに送信できる監査情報の種類は次のとおりです。
-
通常のシステム操作中に生成された監査メッセージを含む監査ログ
-
ログインやルートへのエスカレーションなどのセキュリティ関連のイベント
-
発生した問題のトラブルシューティングのためにサポートケースを開く必要がある場合に要求される可能性のあるアプリケーションログ
外部Syslogサーバーを使用する場合
外部 syslog サーバーは、大規模なグリッドがある場合、複数の種類の S3 アプリケーションを使用する場合、またはすべての監査データを保持する場合に特に便利です。監査情報を外部 Syslog サーバーに送信すると、次のことが可能になります。
-
監査メッセージ、アプリケーション ログ、セキュリティ イベントなどの監査情報をより効率的に収集および管理します。
-
監査情報は管理ノードを経由せずにさまざまなストレージノードから外部 syslog サーバーに直接転送されるため、管理ノード上のネットワーク トラフィックが削減されます。
ログが外部 syslog サーバーに送信される場合、外部 syslog サーバーの実装における一般的な制限に準拠するために、8,192 バイトを超える単一ログはメッセージの末尾で切り捨てられます。 外部Syslogサーバの障害発生時に完全なデータ復旧のオプションを最大限にするために、監査記録のローカルログを最大20GBまで保存します。( localaudit.log
)が各ノードで維持されます。
外部Syslogサーバーの設定方法
外部Syslogサーバーの設定方法については、"監査メッセージと外部Syslogサーバーを構成する" 。
TLS または RELP/TLS プロトコルを使用するように構成する場合は、次の証明書が必要です。
-
サーバー CA 証明書: PEM エンコードで外部 syslog サーバーを検証するための 1 つ以上の信頼できる CA 証明書。省略した場合は、デフォルトのグリッド CA 証明書が使用されます。
-
クライアント証明書: PEM エンコードされた外部 syslog サーバーへの認証用のクライアント証明書。
-
クライアント秘密キー: PEM エンコードされたクライアント証明書の秘密キー。
クライアント証明書を使用する場合は、クライアントの秘密キーも使用する必要があります。暗号化された秘密鍵を提供する場合は、パスフレーズも提供する必要があります。暗号化された秘密キーを使用すると、キーとパスフレーズを保存する必要があるため、セキュリティ上の大きな利点はありません。簡素化のため、使用可能な場合は、暗号化されていない秘密キーを使用することをお勧めします。
外部Syslogサーバーのサイズを見積もる方法
通常、グリッドは、1 秒あたりの S3 操作数または 1 秒あたりのバイト数で定義される必要なスループットを達成できるようにサイズ設定されます。たとえば、グリッドで 1 秒あたり 1,000 件の S3 操作、または 1 秒あたり 2,000 MB のオブジェクトの取り込みと取得を処理する必要があるとします。グリッドのデータ要件に応じて外部 Syslog サーバーのサイズを決定する必要があります。
このセクションでは、外部 Syslog サーバーが処理できる必要があるさまざまなタイプのログ メッセージのレートと平均サイズを、グリッドの既知または望ましいパフォーマンス特性 (1 秒あたりの S3 操作数) に基づいて見積もるのに役立ついくつかのヒューリスティックな式を示します。
推定式で 1 秒あたりの S3 操作を使用する
グリッドのサイズが 1 秒あたりのバイト数で表されるスループットに合わせて設定されている場合、推定式を使用するには、このサイズを 1 秒あたりの S3 操作数に変換する必要があります。グリッド スループットを変換するには、まず平均オブジェクト サイズを決定する必要があります。これは、既存の監査ログとメトリック (存在する場合) の情報を使用するか、 StorageGRID を使用するアプリケーションに関する知識を使用して行うことができます。たとえば、グリッドが 2,000 MB/秒のスループットを実現するようにサイズ設定され、平均オブジェクト サイズが 2 MB の場合、グリッドは 1 秒あたり 1,000 件の S3 操作 (2,000 MB / 2 MB) を処理できるようにサイズ設定されていることになります。
|
次のセクションの外部 Syslog サーバーのサイズ設定の式は、最悪のケースの見積もりではなく、一般的なケースの見積もりを提供します。構成とワークロードによっては、数式で予測されるよりも syslog メッセージの割合や syslog データの量が多くなったり少なくなったりする場合があります。数式はガイドラインとしてのみ使用してください。 |
監査ログの推定式
グリッドがサポートすると予想される 1 秒あたりの S3 操作の数以外に S3 ワークロードに関する情報がない場合は、監査レベルをデフォルト値 (ストレージを除くすべてのカテゴリを [通常] に設定、ストレージは [エラー] に設定) のままにしておくことを前提として、次の式を使用して外部 syslog サーバーが処理する必要がある監査ログの量を見積もることができます。
Audit Log Rate = 2 x S3 Operations Rate Audit Log Average Size = 800 bytes
たとえば、グリッドのサイズが 1 秒あたり 1,000 件の S3 操作に対応している場合、外部 syslog サーバーのサイズは 1 秒あたり 2,000 件の syslog メッセージをサポートするように設定し、1 秒あたり 1.6 MB の速度で監査ログ データを受信 (通常は保存) できる必要があります。
作業負荷について詳しく知っていれば、より正確な見積もりが可能になります。監査ログの場合、最も重要な追加変数は、PUT (GET と比較) である S3 操作の割合と、次の S3 フィールドの平均サイズ (バイト単位) です (表で使用されている 4 文字の略語は監査ログのフィールド名です)。
コード | フィールド | 説明 |
---|---|---|
SACC |
S3テナントアカウント名(リクエスト送信者) |
リクエストを送信したユーザーのテナント アカウントの名前。匿名のリクエストの場合は空です。 |
SBAC |
S3テナントアカウント名(バケット所有者) |
バケット所有者のテナント アカウント名。クロスアカウントまたは匿名アクセスを識別するために使用されます。 |
S3BK |
S3バケット |
S3 バケット名。 |
S3KY |
S3キー |
バケット名を含まない S3 キー名。バケットに対する操作にはこのフィールドは含まれません。 |
P を使用して、PUT である S3 操作の割合を表します (0 ≤ P ≤ 1) (つまり、100% PUT ワークロードの場合は P = 1、100% GET ワークロードの場合は P = 0)。
K を使用して、S3 アカウント名、S3 バケット、および S3 キーの合計の平均サイズを表します。 S3 アカウント名が常に my-s3-account (13 バイト) であり、バケットの名前が /my/application/bucket-12345 (28 バイト) のような固定長であり、オブジェクトが 5733a5d7-f069-41ef-8fbd-13247494c69c (36 バイト) のような固定長キーを持っているとします。するとKの値は90(13+13+28+36)になります。
P と K の値を決定できる場合は、監査レベルをデフォルト(ストレージを除くすべてのカテゴリを「通常」に設定、ストレージは「エラー」に設定)のままにしておくことを前提として、次の式を使用して外部 syslog サーバーが処理する必要がある監査ログの量を見積もることができます。
Audit Log Rate = ((2 x P) + (1 - P)) x S3 Operations Rate Audit Log Average Size = (570 + K) bytes
たとえば、グリッドのサイズが 1 秒あたり 1,000 件の S3 操作に対応し、ワークロードの 50% が PUT であり、S3 アカウント名、バケット名、およびオブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは 1 秒あたり 1,500 件の syslog メッセージをサポートするサイズに設定し、監査ログ データを 1 秒あたり約 1 MB の速度で受信 (および通常は保存) できる必要があります。
デフォルト以外の監査レベルの推定式
監査ログに提供される数式では、デフォルトの監査レベル設定 (ストレージを除くすべてのカテゴリが [通常] に設定されているが、ストレージは [エラー] に設定されている) を使用することを前提としています。デフォルト以外の監査レベル設定の監査メッセージのレートと平均サイズを見積もるための詳細な数式は利用できません。ただし、次の表を使用して、レートの大まかな見積もりを行うことができます。監査ログに提供されている平均サイズの計算式を使用することもできますが、「追加の」監査メッセージは平均してデフォルトの監査メッセージよりも小さいため、過大な見積もりになる可能性があることに注意してください。
条件 | 計算式 |
---|---|
レプリケーション: 監査レベルはすべてデバッグまたは通常に設定されています |
監査ログレート = 8 x S3 操作レート |
消去コーディング: 監査レベルはすべてデバッグまたは通常に設定されています |
デフォルト設定と同じ式を使用します |
セキュリティイベントの推定式
セキュリティ イベントは S3 操作と相関しておらず、通常はごくわずかな量のログとデータが生成されます。これらの理由により、推定式は提供されません。
アプリケーションログの推定式
グリッドがサポートすると予想される 1 秒あたりの S3 操作の数以外に S3 ワークロードに関する情報がない場合は、次の式を使用して、外部 syslog サーバーが処理する必要があるアプリケーション ログの量を見積もることができます。
Application Log Rate = 3.3 x S3 Operations Rate Application Log Average Size = 350 bytes
したがって、たとえば、グリッドのサイズが 1 秒あたり 1,000 回の S3 操作に対応している場合、外部 syslog サーバーのサイズは、1 秒あたり 3,300 回のアプリケーション ログをサポートし、1 秒あたり約 1.2 MB の速度でアプリケーション ログ データを受信 (および保存) できるようにする必要があります。
作業負荷について詳しく知っていれば、より正確な見積もりが可能になります。アプリケーション ログの場合、最も重要な追加変数は、データ保護戦略 (レプリケーションと消去コーディング)、PUT である S3 操作の割合 (GET/その他と比較)、および次の S3 フィールドの平均サイズ (バイト単位) です (表で使用されている 4 文字の略語は監査ログ フィールド名です)。
コード | フィールド | 説明 |
---|---|---|
SACC |
S3テナントアカウント名(リクエスト送信者) |
リクエストを送信したユーザーのテナント アカウントの名前。匿名のリクエストの場合は空です。 |
SBAC |
S3テナントアカウント名(バケット所有者) |
バケット所有者のテナント アカウント名。クロスアカウントまたは匿名アクセスを識別するために使用されます。 |
S3BK |
S3バケット |
S3 バケット名。 |
S3KY |
S3キー |
バケット名を含まない S3 キー名。バケットに対する操作にはこのフィールドは含まれません。 |
サイズ見積りの例
このセクションでは、次のデータ保護方法でグリッドの推定式を使用する方法の例について説明します。
-
レプリケーション
-
イレイジャー コーディング
データ保護のためにレプリケーションを使用する場合
P は、PUT である S3 操作の割合を表します。ここで、0 ≤ P ≤ 1 です (つまり、100% PUT ワークロードの場合は P = 1、100% GET ワークロードの場合は P = 0)。
K は、S3 アカウント名、S3 バケット、および S3 キーの合計の平均サイズを表します。 S3 アカウント名が常に my-s3-account (13 バイト) であり、バケットの名前が /my/application/bucket-12345 (28 バイト) のような固定長であり、オブジェクトが 5733a5d7-f069-41ef-8fbd-13247494c69c (36 バイト) のような固定長キーを持っているとします。するとKの値は90(13+13+28+36)になります。
P と K の値を特定できる場合は、次の式を使用して、外部 syslog サーバーが処理する必要があるアプリケーション ログの量を見積もることができます。
Application Log Rate = ((1.1 x P) + (2.5 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (220 + K)) + ((1 - P) x (240 + (0.2 x K))) Bytes
したがって、たとえば、グリッドのサイズが 1 秒あたり 1,000 件の S3 操作に対応し、ワークロードの 50% が PUT であり、S3 アカウント名、バケット名、およびオブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは 1 秒あたり 1,800 件のアプリケーション ログをサポートするようにサイズ設定する必要があり、0.5 MB/秒の速度でアプリケーション データを受信 (および通常は保存) することになります。
データ保護のために消失訂正符号を使用する場合
P は、PUT である S3 操作の割合を表します。ここで、0 ≤ P ≤ 1 です (つまり、100% PUT ワークロードの場合は P = 1、100% GET ワークロードの場合は P = 0)。
K は、S3 アカウント名、S3 バケット、および S3 キーの合計の平均サイズを表します。 S3 アカウント名が常に my-s3-account (13 バイト) であり、バケットの名前が /my/application/bucket-12345 (28 バイト) のような固定長であり、オブジェクトが 5733a5d7-f069-41ef-8fbd-13247494c69c (36 バイト) のような固定長キーを持っているとします。するとKの値は90(13+13+28+36)になります。
P と K の値を特定できる場合は、次の式を使用して、外部 syslog サーバーが処理する必要があるアプリケーション ログの量を見積もることができます。
Application Log Rate = ((3.2 x P) + (1.3 x (1 - P))) x S3 Operations Rate Application Log Average Size = (P x (240 + (0.4 x K))) + ((1 - P) x (185 + (0.9 x K))) Bytes
したがって、たとえば、グリッドのサイズが 1 秒あたり 1,000 件の S3 操作に対応し、ワークロードの 50% が PUT であり、S3 アカウント名、バケット名、およびオブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは 1 秒あたり 2,250 件のアプリケーション ログをサポートするサイズに設定し、0.6 MB/秒の速度でアプリケーション データを受信 (および通常は保存) できる必要があります。