🐈‍⬛

HashiCorp Vaultを理解する(7):Audit Devices

2024/06/25に公開

イオン⁠⁠⁠⁠⁠⁠⁠スマートテクノロジーのCTO室SREチームの@hikkie13です。

過去の記事に記載がある通り、弊社ではHCP Vaultの導入を進めています。
https://zenn.dev/aeonpeople/articles/6625a900552311
https://zenn.dev/aeonpeople/articles/0b4492898a0fd3

導入には教育・学習が欠かせません。
その過程で得た知識を何回かに分けてまとめていこうと思います。(心が折れない限り)

今回は、VaultのAudit Devicesについてです。

Audit Devices

  • Vaultへのすべての認証されたリクエストとレスポンスの詳細なログを保持する。
  • 監査ログは、JSON形式で、HMAC-SHA256を使用してハッシュ化される。これにより、秘密情報やトークンが決して平文で表示されないようにする。
  • ログファイルは保護されるべきであり、権限を持つユーザーは/sys/audit-hash APIを使用して秘密の値を確認し、ログファイルと比較することができる。

Audit Devicesの種類

Vaultは複数のAudit Devicesをサポートしており、それぞれ異なる出力形式や保存先を持つ。代表的なものは以下である。

  • File
    • ローカルファイルにログを記録する。
    • シンプルで設定が容易
    • スケーラビリティに限界がある。
    • ログローテーションはサポートしない。
  • Syslog
    • Syslogプロトコルを使用してログを記録する。
    • 既存のSyslogインフラに統合するのに適する。
  • Socket
    • ネットワークソケットを通じてリモートサーバにログを送信する。
    • リアルタイムのログ収集に便利。
    • TCP、UDP、またはUNIXソケットに書き込める
      • 強力な保証が必要な場合はTCPを使用するべき。
  • HTTP
    • HTTPエンドポイントにログを送信する。
    • 外部のログ管理サービスと連携する場合に使用する。

Audit Devicesに関する注意点

  • 複数の監査デバイスを有効にすることができる & 実施すべき。
    • ログの冗長性を確保するため。
  • Audit Devicesが有効な場合、Vaultはクライアントのリクエストを完了する前にログに書き込む必要がある
    • 可用性より安全性が優先される
    • Vaultが永続的なログに書き込めない場合、クライアントのリクエストに応答を停止するため、VaultがDownする
    • Vaultのリクエストを完了する前に少なくとも1つの監査デバイスがログに書き込む必要がある。
  • 通常のログ管理と同様に以下の点に配慮する。
    • 長期間のログ保存が必要な場合は、定期的にログをアーカイブし、安全な場所に保管するプロセスを確立する。(log collector agentを導入してログ管理プラットフォームに転送するなど)
    • リアルタイムでログを監視し、異常な活動が検出された場合にアラートを発する仕組みを導入する。
    • 適切なアクセス制御を行い、不正アクセスから保護する。

参考

https://developer.hashicorp.com/vault/docs/audit
https://developer.hashicorp.com/vault/docs
https://youtube.com/playlist?list=PLFkEchqXDZx7CuMTbxnlGVflB7UKwf_N3&si=uJE2c_GhjxQ4FmMA
HashiCorp Certified: Vault Associate 2024 (w/ Hands-On Labs)
HashiCorp Certified: Vault Operations Professional

最後に(採用のお知らせ)

イオンスマートテクノロジーではエンジニアをはじめとした様々な職種を積極的に採用中です!
これからとてもおもしろいフェーズへ突入していくと思いますので興味のある方は是非カジュアル面談などで話を聞いてください!

https://engineer-recuruiting.aeon.info/

AEON TECH HUB

Discussion