コンテンツにスキップ
日本語

保持期間、削除、観測

運用で聞かれる三つを扱います。データをどれくらい残すか、削除はどう進んで何が証拠として残るか、 システムの状態をどう観測するか、そしてディスクを見積もるときにどの数字を使うかです。

ポリシーは「セキュリティポリシー」のページの「ログの保持とレビュー」の節にあります。五つの保持日数と、一度の掃除の上限です。

ポリシーキー 出荷時の値
操作ログの保持日数 0(ずっと保持)
コマンドの流れの保持日数 0(ずっと保持)
アラート記録の保持日数 0(ずっと保持)
接続の録画の保持日数 90
チェックポイントの保持日数 0(ずっと保持)
一度の掃除で削除する上限 100000

0 はずっと保持することを意味します。いま効いているポリシーグループがこの項目に要求を付けていれば、設定の引き出しから見られます。ページ先頭で組に適用でき、先にプレビューします。

キーをまたぐ制約がひとつあります。チェックポイントの保持日数は、四種類のデータのうち最も長いもの(0 は無限として扱います)を下回れません。 反すると、その保存はまとめて拒否されます。一度の掃除の上限の下限は 5000 件です。

削除のスケジュールは 1 日に一度走り、分けて消します。一度で終わらなければ翌日に続き、オンラインの要求を止めません。 保持の期間を短くする前に、画面が一度確認します。削除は取り消せないからです。

監査記録は「封印済みのチェックポイントの区間」を分けられない最小の単位として扱います。区間に期限の来ていない行がひとつでも残っていれば、 その区間はまだ消しません。チェーンを切らさず検証できるままにするためです。

オフサイトへ上げ終えた録画は、期限が来たらローカルのファイルだけを消し、台帳に印を付けます。 リモートのオブジェクトへ削除の呼び出しは送りません。リモート側の期限はバケットのライフサイクル規則が受け持ちます。

GET /metrics が Prometheus のテキスト形式で運用の指標を出します。 このパスは意図して /api の下に置いていません。本番版の外向きのプロキシは /api と接続のチャネルだけを転送するので、 設定を足していない構成では外から届きません。監視のシステムに開くときは METRICS_TOKEN を設定します。 以後の要求には対応する Bearer トークンが要ります。合わなければ 401 を返し、応答に指標の名前も値も入りません。

最小の指標の集合は、プロトコル別の活動中のセッション数、活動中の接続数、録画のストレージの使用量、 重大度別の未確認のアラート数、監査のキューの深さ、監査の破棄の累計、封印の状態、 HTTP 要求の累計と遅延の分布です。オフサイト保管を有効にすると、アップロード待ち、失敗、リモート削除待ち、 完全性の不一致、いちばん古いアップロード待ちの経過時間、最後に成功したアップロードの時刻も出ます。

計算の重い指標はバックグラウンドの処理が定期的に更新します。録画のストレージの使用量は 30 秒ごとで、値は一周期ぶんまで遅れます。 封印の間も /metrics は読めます。まだ組み上がっていないサービスの指標は出ません。0 として出すことはしません。

監査の閲覧権限のある利用者には、ダッシュボードに「録画の使用量」のカードも出ます。 数値は録画のディレクトリの実際のファイルサイズの合計で、すべてのプロトコルを含みます。

次は一台での観測値です。どちらも待機の状態の下限で、桁を掴むためのものです。

プロトコル 観測
テキストのターミナル 待機でおよそ 30 B/s、セッション 1 時間あたり約 105 KB。混み合ったときの増え方はおよそ 1.32 倍
グラフィック接続 静止したデスクトップでセッション 1 時間あたり 10.4 MB から

換算はこうします。テキストの録画のディスクの必要量は、ターミナルの出力のバイト数に 1.32 を掛けたくらいです。 グラフィックの録画は、同時のセッション数、平均のセッション時間、増加率、保持日数を掛け合わせたくらいです。

先に詰まる資源は順に、グラフィックプロキシのコンテナ、録画のディスクの書き込み帯域と容量、データベースの接続プールの上限、 ターゲットホスト自身の接続数の上限です。バックエンドはセッション 1 本あたり goroutine がおよそ 16 増え、 メモリの増分の上界はセッションあたり約 148 KB です。

録画のストレージの使用量の指標に、増加率か容量の閾値のアラートを置くことを勧めます。

.env には調整できるつまみがいくつかあります。ターミナルの休眠の時間切れと最長の時間、チェックポイントの時間と行数の閾値、 一度の鍵の入れ替えで処理する上限、クラスタの一覧の時間切れです。空にすると内蔵の既定値を使います。 クエリコンソールの同時のセッション数の上限は、ひとり 4 本、全体で 64 本です。

バックエンドのコンテナとプロセス

Section titled “バックエンドのコンテナとプロセス”

バックエンドのプロセスは必要な最小権限で動き、権限の引き上げは禁止し、core は書かず、メモリページをロックします。 プロセスは起動前にダンプ不可にします。付けられなければ停止してログに残します。システムが持っているアカウントの秘密は、最後の用途が終わったら消します。 データ鍵がメモリにどれくらい残るか、封印がいつキャッシュを消すかは、鍵管理です。

  • 削除のたびに一件の記録を書きます。データの種類、消した時間の範囲、実際に消した件数、一部だけ終わったかどうかが入ります。
  • 監査記録の削除には、今回含んだチェックポイントの通し番号または区間も書きます。
  • 削除の記録そのものも syslog で転送されるので、「何を消したか」の複製が外部のシステムにも残ります。
  • これらの項目のおかげで、正規の期限による削除と悪意ある削除を証拠の上で見分けられます。判定のしかたはチェックポイントチェーンにあります。