【レポート】HashiCorp Vaultではじめるインフラセキュリティ対策と自動化  # Security Days Spring 2023

2023年3月7日から10日に行われているSecurity Days Spring 2023 Tokyoに参加しました。本記事はそのセッションレポートです。
2023.03.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうもさいちゃんです。

この記事は2023年3月7日から10日に行われたSecurity Days Spring 2023 Tokyoで発表された「HashiCorp Vaultではじめるインフラセキュリティ対策と自動化」というセッションのレポートブログになります。

セッション概要

クラウドの市場浸透によって、企業のITインフラはよりダイナミックに、かつマルチ・ハイブリッドクラウドと多様化し、そしてその運用は複雑化しています。その変化に適したセキュリティ対策を取らなければ、情報漏洩などのリスクに繋がる恐れがあります。特にシークレットと呼ばれる、特定のシステムにアクセスするための権限が紐づいた資格情報は、環境下において漏洩時の被害が拡大しやすいため適切な対策が必要です。本セッションでは、弊社が提供する「HashiCorp Vault」と具体的なユースケースをご紹介しながら、多様化する動的なインフラ環境において今企業が取り組むべきセキュリティ対策を紐解きます。

スピーカー

HashiCorp Japan(株) Senior Solutions Engineer 伊藤 忠司 氏

レポート

  • インフラといっても幅広い
  • 本日はシークレットに関するセキュリティ体制の強化
  • マシンの認証認可に関するシークレット管理

シークレット管理の重要性

  • DXにいち早く対応するため
  • 開発スピードを向上するため
  • クラウド活用の拡大新たなプラクティスの導入
  • 多岐にわたる環境のシークレット
  • 多様なサービスやツール群の利用
  • シークレットとは
    • ユーザーやシステムが他のシステムやーデータにアクセスできるようにするもの
    • ID/パスワードやAPIトークン、SSH鍵、暗号鍵など
  • シークレットの漏洩に起因するセキュリティインシデントは増加
  • 2025年までに年間推定損失額は10.5兆ドル(米国)
  • セキュリティ侵害の増加率も増え続けている(380%)
  • 人が関与しているものが8割
  • アプリケーションの侵害はクレデンシャルや認証情報が原因がほとんど
  • シークレット管理で取るべき対策
    • 自動化
    • 定期的なローテーション
    • 集中管理
  • 機密情報管理に必要なステップ
    • シークレットの一元管理
    • 暗号化
    • アクセス管理
    • 監査
    • シークレットの動的管理(ローテーション)

HashiCorp Vaultについて

  • ユースケース
    • シークレット情報の一元管理
    • データ保護
    • クレジットカード番号などの暗号化
    • データベースやストレージの暗号化
  • シークレット管理のベストプラクティス
    • 定期的なローテーション
    • 人やアプリに応じた権限管理
    • 監査記録
    • 暗号化
  • 自社のシークレット管理をベストプラクティスに沿った形で行うのは難しい
  • 様々なシークレットが個別にクライアント側で管理されている(シークレットスプロール)
  • このような管理ではインシデントが起きやすい
  • 会社のシークレットを自宅に持ち帰ってしまい流失する
  • シークレットをエクセルで管理し、共有により流失経路不明
  • Vaultならシークレットを集中管理
    • クライアント側でのリスクを完全に排除
    • 権限に基づいたシークレットアクセス
    • 監査、シークレットの暗号化を一元化
    • 動的なシークレット管理とシークレットローテーションの自動化
  • Vault自体のアクセス権限管理、アクセス情報も管理可能
  • Vaultの利用方法
    • API、CLI、GUIでの利用
  • ワークフロー
    • クライアントの認証(トークンの取得)
    • 認証方法は多岐にわたる(様々な認証基盤-LDAP、OKta、OpenID、Cloudの認証メソッド、Vault独自の認証など)
    • 認証ができるとトークンが返される
    • トークンにはポリシーが付与されていてVaultAPIを呼び出せるようになっている
    • Vaultはトークンに付与されたポリシー(明示的な許可)に基づいてクライアントの操作を許可する
    • シークレットへアクセス
  • シークレットエンジン
    • 静的シークレット(キーバリュー)
    • 動的シークレット(バックエンドト連携)
      • 一意で最低限の権限を持ったシークレット
      • バックエンドサービスごとに一意に一時的な権限付きシークレット情報を生成し管理
      • パス名を設定し分類が可能(リージョン、環境)
      • 動的にシークレットを生成
      • 最小権限のシークレットを必要な時のみ生成
      • 常時新しいキーを利用
      • すべて期限付きのシークレット(ローテーションが自動)
      • 明示的に任意のタイミングで破棄することも可能
    • 暗号化

まとめ

  • 環境の多様化によりインフラセキュリティの中でもシークレット管理は重要になっている
  • 管理の自動化とローテーションが大事
  • HashiCorp Vaultを使ってベストプラクティスを準拠しよう

最後に

現場では様々なシークレットが存在し、それらは独自に管理されているもしくはExcelなどのシートで管理されておりそれを社内で共有するといった危険な状態の場合に起こりうるインシデントについても説明がされていて勉強になりました。

今回セッション内で紹介されているHashiCorp Vaultについての情報は下記からご覧いただけます。