Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

目次 ● 自己紹介 ● 概要 ● 問題点 ● CredStashとKMSについて ● 実装 ● おまけ ● まとめ

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

問題点
 サーバ内の秘密鍵が丸見え or パスフレーズを平文で保存してしまう

Slide 6

Slide 6 text

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


Slide 7

Slide 7 text

CredStashとAWS KMSについて CredStash ● 認証情報の共有管理システム ● DynamoDBへ鍵を保存する ● Python製のコマンドツール ○ GoやRubyの亜種もあるらしい AWS KMS
 ● 暗号鍵の生成、管理ができるフルマ ネージド型サービス 


Slide 8

Slide 8 text

実装

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

認証情報は隠す まとめ

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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