Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NoPassphrase with credstash

098ad475722e3697ec2fba28c8654f9f?s=47 YouYou
July 23, 2020

NoPassphrase with credstash

SSL秘密鍵のパスフレーズを暗号化して外部からパスフレーズを呼び出せるようにした。

098ad475722e3697ec2fba28c8654f9f?s=128

YouYou

July 23, 2020
Tweet

Transcript

  1. CredStashでSSLのパスフレーズ 問い合わせを無視してみた

  2. 目次 • 自己紹介 • 概要 • 問題点 • CredStashとKMSについて •

    実装 • おまけ • まとめ
  3. 自己紹介 Name:ユータ Occupation:SRE Twitter:@Y0u281 ※(オーでなくゼロです) note:https://note.com/tar28 →Qrunchに移行 https://yuta0128.qrunch.io/

  4. 概要 秘密鍵にパスフレーズが設定されているとApache再起動時に、 毎回パスフレーズを聞かれる 対応策でよく紹介されているのは以下2つ • 秘密鍵のパスフレーズを解除 • SSLPassPhraseDialogというディレクティブからパスフレーズを呼ぶ Passphrase.sh →

    echo “passphrase” デモ有
  5. 問題点
 サーバ内の秘密鍵が丸見え or パスフレーズを平文で保存してしまう

  6. CredStash AWS KMS パスフレーズを暗号化して 外部に保存すればいい


  7. CredStashとAWS KMSについて CredStash • 認証情報の共有管理システム • DynamoDBへ鍵を保存する • Python製のコマンドツール ◦

    GoやRubyの亜種もあるらしい AWS KMS
 • 暗号鍵の生成、管理ができるフルマ ネージド型サービス 

  8. 実装

  9. None
  10. DynamoDBテーブルからパスフレーズを 呼び出している SSLPassPhraseDialogでこのスクリプト を指定 デモ有

  11. 再起動時にパスフレーズを聞かれること なく起動できた。

  12. おまけ Nginxではどうすればいいのか? →ssl_password_fileというディレクティブがありま す 記法がApacheと異なるので注意! • exec:をつけない • 最後にセミコロン必須

  13. 認証情報は隠す まとめ

  14. より詳しい内容はこちらのQiita記 事を御覧ください。 credstashを用いてApacheのSSL秘密鍵のパスフレーズ問い合わせ無視できるようにしてみた https://qiita.com/Yuhta/items/647c3a11175e59ff7fc2

  15. ご静聴 ありがとうございました