90日ごとに入れ替える決まりでも、2割の箇所に行き届かなければ平均269日古いままでした。
365日ごとを全箇所で守れば183日です。厳しさより、行き届くかどうかが効きます。
短い寿命は露出を狭めます。そのぶん発行の回数が増え、仕組みへの負荷になります。
HashiCorp Vaultは、秘密の管理を1か所にまとめる仕組みです。公式は手元でもクラウドでも混在した環境でも、重要なデータのために、集中した、よく記録される特権的な接続と秘密の管理を提供すると述べています。
まとめる利点のひとつが、寿命を決められることです。どれだけ効くのか実際に測って数えました。
利用側 200 台・30日ぶん。寿命が来たら新しいものに入れ替える 漏れる時点を 20,000 通り試し、そこから無効になるまでの時間を測る 寿命 30日の発行回数 漏れてから無効までの平均 いちばん長い場合 15分 576,000回 0.1時間 0.2時間 1時間 144,000回 0.5時間 1.0時間 8時間 18,000回 4.0時間 8.0時間 1日 6,000回 12.1時間 24.0時間 30日 200回 358.0時間 720.0時間 入れ替えない 200回 357.7時間 720.0時間
15分の寿命なら、漏れても平均0.1時間で使えなくなります。30日だと358.0時間です。
その代わり発行は200回から576,000回に増えます。露出は3580分の1、発行は2880倍でした。
表の下2行を見ると、30日の寿命は入れ替えない場合とほとんど同じです。形だけ入れ替えても効きません。
8時間なら、発行18,000回で露出4.0時間です。ここが実用の折り合いでした。
同じ形の判断はセッションとJWTの記事でも扱っていて、寿命は短いほど良いわけではありません。
露出は短くできるが、発行回数がその分だけ増える。
Vault provides centralized, well-audited privileged access and secret management for mission-critical data whether you deploy systems on-premises, in the cloud, or in a hybrid environment.原文HashiCorp 公式ドキュメント「What is Vault?」 この内容の有効期限2027-02-18
秘密は散らばります。決まりを厳しくしても、届かない箇所があれば平均は逆転します。
HashiCorp Vaultが扱う秘密は、あちこちに置かれる小さな情報です。公式は秘密とは、資格情報、暗号の鍵、認証の証明書など、アプリケーションが安定して安全に動くために必要な、機微で個別の情報であると述べています。
個別に置かれるので、入れ替えが届かない箇所が出ます。どれだけ効くのか実際に並べて数えました。
秘密が置かれた場所 3,000箇所。3年ぶんを見る 入れ替えの決まりと、その決まりから漏れる箇所の割合を変える 入れ替えの決まり 漏れ0% 漏れ5% 漏れ20% 90日ごと 平均45日 平均99日 平均269日 180日ごと 平均90日 平均139日 平均302日 365日ごと 平均183日 平均227日 平均370日 決めていない 平均1095日 平均1095日 平均1095日
90日ごとで2割に届かないと平均269日です。365日ごとを全箇所で守った183日より古くなります。
縦に見ると、決まりを90日から365日に緩めても45日から183日です。届かない箇所の影響のほうが大きく出ました。
だから先に決めるのは、間隔ではありません。置かれている箇所を全部挙げられるかどうかです。
1か所にまとめる利点はここにあります。取りに来る形なら、置き忘れが起きません。
秘密が散らばる経路についてはセキュアコーディングの記事でも扱っていて、書き込んだまま残る形がいちばん多くなります。
Secrets are sensitive, discrete pieces of information like credentials, encryption keys, authentication certificates, and other critical pieces of information your applications need to run consistently and securely.原文HashiCorp 公式ドキュメント「What is Vault?」 この内容の有効期限2027-02-18
成功も失敗も残します。量は250倍になりますが、追えるのは成功分を残した場合だけです。
HashiCorp Vaultは、成否によらず記録します。公式はその過程を通じて、認証や認可が成功したかどうかにかかわらず、すべての動きを記録するので、重要な仕組みとのやり取りを追えると述べています。
量はどれだけになるのか。寿命ごとに実際に数えて比べました。
利用側 200 台。1台が1日に 400 回読む。1件の記録は 780 バイト 寿命を変えると発行の記録も増える。全部記録する場合と、失敗だけ記録する場合を比べる 寿命 1日の記録件数 全部記録すると 失敗だけ記録すると 比 15分 99,200件 73.8MB/日 302.4KB/日 250倍 1時間 84,800件 63.1MB/日 258.2KB/日 250倍 8時間 80,600件 60.0MB/日 245.3KB/日 250倍 1日 80,200件 59.7MB/日 244.5KB/日 250倍
全部残すと1日73.8MBです。失敗だけなら302.4KBで、250倍の差があります。
寿命を1日から15分に縮めても、記録件数は80,200件から99,200件です。読む回数のほうが多いので、発行の増加は目立ちません。
失敗だけの記録では、誰がいつ何を取り出したかが分かりません。侵入されたあとの調査で必要になるのは、この成功分です。
1日73.8MBなら、1年で約26GBです。置ける量です。量を理由に削る判断には根拠が要ります。
3つの計測はいずれも手元で書いた模型で、実際のHashiCorp Vaultを動かしたものではありません。漏れる時点が寿命の中で一様に散らばると置いており、実際には偏ります。1件780バイトや失敗0.4%も置いた値です。入れ替えの届かない割合も仮に置いたもので、実際の値は組織ごとに測る必要があります。ここで見せているのは、寿命を短くすると露出は狭まるが発行が増えるという点と、決まりの厳しさより届くかどうかのほうが効くという点の2つです。
Throughout the process, Vault audits all activity, regardless of whether authentication or authorization succeeds so you can track interactions with mission critical systems.原文HashiCorp 公式ドキュメント「What is Vault?」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る