暗号スイートの設定方法【IPA「TLS暗号設定ガイドライン」を見てもわからない人向け】

エンジニア
エンジニア
エンジニア

IPA「TLS暗号設定ガイドライン」読んでもわからない…

未経験<br>エンジニア
未経験
エンジニア

暗号スイートの設定がうまくいかない…

この記事は暗号スイートの設定で沼ってる人向けの記事です。
ガイドラインよく読んでもわからない!という人はこの記事を読むとスムーズに設定できると思います。自分自身ここの設定で何故か沼ってしまったので備忘の意味を込めてわかりやすくまとめました。是非参考になれば幸いです!

具体的に、
・IPA「TLS暗号設定ガイドライン」は読んだけど、理解はしているけど設定がうまくいかない
・どの暗号スイートを使うか決めているけど何故かうまく設定されない
・違う暗号スイートが設定されてしまう

上記ので困っている人はすぐに解決できると思います。

前提として下記が今回の環境となります。
CentOS6.9
OpenSSL1.0.1
Apache2.215

(古いとか言わないでー笑)

プロトコルバージョンの設定は大丈夫?

おそらくこの記事を見ている人はプロトコルのバージョンはTLSを使おうと考えてる人がほとんだと思います。この記事では「TLSとは」や「暗号スイートとは」というお話はしません。理解してない人はガイドラインやネットで検索して理解してください。自分の場合はバージョンの関係でTLS1.2を使用しました。TLS1.3かTLS1.2で設定していきましょう!

どの暗号スイートを使用するか決まっているか?

ガイドラインを読んで「高セキュリティ型」「推奨セキュリティ型」「例外セキュリティ型」があると思います。どれが良いのかは社内で検討しましょう。判断基準もガイドラインに書いていますので参考に。

どの暗号スイートを使用するか決まれば、ガイドラインに記載のある暗号スイートが設定するサーバの環境で使えるのか調べて設定していきます。慣れれば簡単です!

超具体的な暗号スイートの設定方法説明

ガイドラインに記載されていることは理解できているか

設定方法方法はいろいろあります。ガイドラインにもいろんな方法が書いてあります。
1番簡単な記載の方法はそのままコンマ区切りで書いていく方法ですが、数が膨大だと見栄えが悪いく、システムの速度に影響があるかもしれないので短くしていきましょう。

コマンドラインで確認しよう!使うコマンドは「openssl ciphers -v ‘暗号スイート文字列’」

コマンドプロンプトでopenssl ciphers -vを入力すると使える暗号スイートが表示されます。この中にガイドラインに載っている暗号スイートがあれば使用することができます。
また、「openssl ciphers -v ‘暗号スイート文字列’」で絞り込むこともできるので、ここで使いたい暗号スイートになるように短縮系を考えて試していきましょう。

これだけ理解すれば簡単に設定ができる!短縮系の書き方!

暗号スイートの例

まず、openssl ciphers -vをコマンドラインで入力してどの暗号スイートが使えるか確認しましょう。

短縮系を使用する場合は下記画像の暗号スイートの右側に表示されている「Kx=ECDH」の「ECDH」部分を使います。1番上の暗号スイートを表示させたい場合は「ECDH+aRSA+AESGCM+SHA384」と指定すれば表示されます。DHEを追加で指定したい場合はコロンで区切って同じように書けばOKです。

「Au=RSA」で絞りたい場合は「aRSA」を指定します。(ガイドラインに記載)

作った暗号スイート文字列は、コマンドラインラインでopenssl ciphers -v ‘暗号スイート文字列’」を打って確認しましょう。自分が想定した暗号スイートが表示できていれば問題ありません。

「!」「+」「-」を使えば、使用しない暗号スイートを指定できたり、順番も変えることができますので優先順位を変える場合は使いましょう。例えば「+」であれば末尾に記載し、「!」であれば指定した後に書きます。

SSLテストをして確認

コマンドライン上で無事に設定ができたらSSLテストをしましょう。(プロトコルバージョンの設置も忘れずに)下記でURLを入力してSubmitを押します。チェックボッックスには必ずチェックしましょう!ここがガイドラインにも記載があります。

表示されたら、暗号スイートの項目があるので「INSECURE」や「WEAK」がないか確認しましょう。もしあればその暗号スイートは使用しないようにしましょう。

まとめ

  • 暗号スイートはなるべく短縮系で設定する
  • 設定方法の詳しい記載はIPA「TLS暗号設定ガイドライン」を参考にする
  • 「openssl cipherd -v ‘暗号スイート’」で指定できているか確認する
  • SSLテストを行ってセキュリティ的に弱くないか確認する

設定参考URL

https://www.ipa.go.jp/security/ipg/documents/ipa-cryptrec-gl-3001-3.0.1.pdf

https://www.ipa.go.jp/security/ipg/documents/tls_server_config_20200707.pdf

https://www.ipa.go.jp/security/ipg/documents/tls_cipher_suite_config_20200707.pdf

SSLテスト参考URL

SSL Server Test (Powered by Qualys SSL Labs)
A comprehensive free SSL test for your public web servers.

コメント

タイトルとURLをコピーしました