LoginSignup
31
32

More than 5 years have passed since last update.

SSLチェッカーでランクA+を取る方法

Last updated at Posted at 2016-10-18

apacheでssl関連を設定する

デフォルトのまま設定してしまうとPOODLEなどの脆弱性を含んだ状態でサイトを公開することになってしまいます。
そのため、セキュリティを高める設定を施す必要があります。

チェッカー

下記が大変便利です。
https://www.ssllabs.com/ssltest/

デフォルトの設定

デフォルトの設定やネットに載っている昔の設定を使うとsslv3などの対策がないものが多いので
脆弱性が多数あります。
チェッカーでも「F」ランクになってしまいます。

対策

何故かわからないが「SSLProtocol」や「SSLCipherSuite」を対象のバーチャルホストの設定箇所に入れても設定が効かず、httpd.confなどの全体にかかる所に入れると効いた。SSLをONにするわけではなく、定義だけなのでこの方式で進めることにする。

具体例

httpd.conf(バーチャルホストではなく全体にかかるように。)
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES:!RC4:!DH
Header set Strict-Transport-Security "max-age=315360000;"
それぞれのバーチャルホストのconf
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/*******.crt
SSLCertificateKeyFile /etc/httpd/ssl/**********.pem
SSLCertificateChainFile /etc/httpd/ssl/************.ca

SSLHonorCipherOrder

SSLHonorCipherOrderを有効にすることで、ネゴシエーションの際に暗号の選択をサーバ側で決定するようになります。
この設定を有効にすることで、SSLダウングレード攻撃を防ぎます。

SSLProtocol

SSLv2、SSLv3は深刻な脆弱性を抱えたものなので、使わないようにします。

SSLCipherSuite

脆弱性のある暗号化スイートは明示的に禁止します。
!は暗号スイートを使わせない。
-は暗号スイートを削除する。後ろで追加すれば使用することも可能
+は暗号スイートの追加。

Header set Strict-Transport-Security

HSTS はサーバーから “Strict-Transport-Security” というヘッダを返すことで、
以後そのブラウザで 同じURLを入力すると HTTP ではなく HTTPS で暗号化した通信を行うようにする機能です。
これにより、常時HTTPS通信をするように設定します。

結果

グレードはA+となりました。
ただ、見えないレガシーな携帯なども出て来るようなのでその辺りのリスクも考慮してください。

31
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
32