TL;DR
LPIC303試験対策のための記事です。
今回はSNIとHSTSの設定についてのまとめ記事となります。
参考書はこちらです。
SNI(Server Name Indication)
1つのIPアドレスをもつサーバーにおいて、それぞれ別の証明書を持つ複数のドメインに対してSSL/TLS通信を行うための機能です。
上記のような状態が起こりうる場合として、名前ベースのバーチャルホストを利用している場合が挙げられます。
SNIに対応していない環境の場合
クライアントがアクセスしようとしているドメインの情報をやり取りする前に、特定のドメインに対してSSL/TLS通信を確立しようとします。
SSLハンドシェイク時にクライアントから指定されたドメイン名をサーバーは判別できないため、最初に定義されたデフォルトのドメインの証明書で応答してしまう。
SNIに対応している環境の場合
クライアントからアクセスしようとしているドメイン名の情報をあらかじめ受け取り、それに対応した証明書を返すことができる。
SNI未対応ブラウザからの接続を拒否する
/etc/httpd/conf.d/ssl.confにSSLStrictSNIVHostCheckディレクティブを追加する。
SSLStrictSNIVHostCheck on
HSTS(HTTP Strict Transport Security)
HTTPアクセス時に自動的にHTTPSにリダイレクトする機能。
平文で通信するHTTPを使用させないための機能ですね。
サーバー側でHSTSの設定は以下のように指定します。
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
今回はここまでです。お疲れ様でした。