暗号化通信を設定しようとするとcipher(暗号方式)について検討することになると思います。
これ、しっかり検討しておかないと、暗号方式の脆弱性を狙った攻撃を受けます。
IPA(情報処理推進機構)やセキュリティ会社もしょっちゅう、「この暗号方式について脆弱性が発見されました」というニュースを出していますね。
今回はWEB通信の証明書のやりとりで使われるcipherについてまとめたので紹介します。
まずは、簡単にcipherについて
WEB通信の暗号化はapacheなどのWEBサーバーで設定します。
暗号方式は、ミドルウェアのサポートしている範囲から有効にするcipherを定義します。
クライアントとなる端末のブラウザが要求するcipherがサーバー側で有効ならば暗号化通信が成立する仕組みになります。
流れ
1.Client(ブラウザ)→ClinetHelloパケット(このcipherかこのcipherかこの・・・で暗号できますかー?)→Server
2.Server→ServerHelloパケット(じゃあ、このcipherで暗号化しよう)→Clinet
てな流れでClinetとServerはご挨拶(SSLハンドシェーク)をして、cipherを決めます。
BigIP(F5社製ロードバランサ)で設定するcipherについて
私はBIGIP(F5社)のロードバランサを扱うことが多いので、今回はBIGIPに特化して紹介します。
cipher(暗号化方式)って何がサポートされていて影響受けるクライアントは何ってところを毎回調べています。
cipherを細かく設定するとClinetとなるブラウザが利用できなくなったりするので、きちんと調べる必要があります。
逆に大雑把に設定すると脆弱性をついた不正アクセスやアタックの原因になります。
1回調べたら資料にしておけば、楽なのでまとめました。
※BIGIPv12以降は対応していないのです。
※Cipherセット名はGlobalな名称で、BIGIPの定義では専用の定義名を使います。
添付の資料ではBIGIPでの定義名は記載していません。
・・・別途つくろうかな。。。