見出し画像

パスワードを暗号化せずに playbook へ保存『セキュリティの話②』

自動化は動いている。
デプロイも楽になった。
その裏で 情報漏えいリスクは爆増
原因は パスワードを平文のまま playbook に書いていること
Ansible 初学者が「とりあえず動かす」でやりがちな、静かに危険な設定だ。


冒頭の一言要約

playbook に平文パスワードは“事故待ち”。
自動化できていても、セキュリティはゼロ点。


症状(あるある)

  • Git に playbook をそのまま置いている

  • DB パスワードが yaml に直書き

  • 社内共有フォルダに playbook がある

  • 退職者も過去のパスワードを知っている

  • ログに認証情報が出ている

  • 「まだ漏れてないから大丈夫」と思っている


原因と仕組み(なぜ起きるか)

  • playbook はただのテキストファイル

  • Git 履歴に一生残る

  • アクセス権をミスると誰でも読める

  • CI/CD ログに出力されることがある

  • コピペで他案件に流用される

  • 「一時的」のつもりが本番化

Ansible や IaC は
安全に書かないと、漏えいを量産する道具になる。
平文保存は、
侵入されなくても“内部漏えい”を自分で作る行為だ。


図:平文保存の危険な流れ

[playbook.yml]
   │ パスワード直書き
   ▼
[Git / 共有フォルダ]
   │
   ├─ 誰でも読める
   ├─ 履歴に永遠保存
   └─ CIログに出力
        ↓
   情報漏えいリスク

切り分け(最短コース)

  1. playbook 内の平文確認

    • password: xxxx

    • secret: xxxx

  2. Git 履歴の検索

    1. git log -p | grep password

  3. 共有範囲の確認

    • リポジトリアクセス権

    • 社内共有フォルダ権限

  4. CI/CD ログの確認

    • 認証情報が出ていないか

  5. 同じパスワードを使っていないか確認


今すぐ効く対処(テンプレ)

◆ Ansible Vault を使う(基本)

ansible-vault create secrets.yml
db_password: secret123

playbook から参照:

vars_files:
  - secrets.yml

◆ 既存平文の応急対応

  • 直ちに パスワード変更

  • playbook から削除

  • Git 履歴を rewrite(可能なら)

  • Vault へ移行

削除しただけでは履歴に残る


恒久対策/再発防止チェックリスト

  • playbook に平文パスワードを書かない

  • Ansible Vault を必須化

  • Secret 管理方針を決める

  • Git リポジトリのアクセス制御

  • CI/CD ログのマスキング

  • 定期的に playbook を棚卸し

  • パスワード変更手順を用意

  • 新人向けにルールを明文化


落とし穴(やりがちミス)

  • 社内だけだから大丈夫と思う

  • Vault が面倒で後回し

  • 変数名を変えただけで隠した気になる

  • .gitignore に入れ忘れる

  • 退職者のローカルに残り続ける


まとめ(行動指針)

IaC / 自動化では、
「どこに秘密が残るか」までが設計

平文を消す → Vault に入れる → パスワードを変える。
この3点をやるだけで、
playbook 由来の情報漏えい事故は確実に防げる。

いいなと思ったら応援しよう!