そこそこ強いApacheのSSL設定 | Subaru's Husband

Subaru's Husband

python、linux、バイクなんかのネタを書きます。
一応security業界でご飯を食べてます。
備忘録がメインだと思うので、未来の自分が助かれば最高。

ApacheのSSL設定を下記の様にしました。
WindowsXP,ガラケーは切り捨ててます。

・ALLで全ての方式を有効
・SSLの2,3を無効
!SSLv2!SSLv3
・弱い暗号方式を無効
 !EXP!MD5!RC4!ADH!DSS
・通信を暗号化しない方式を削除
 eNULL
・通信の認証をしない方式を削除
 !aNULL


#/etc/apache2/mods-available/ssl.conf

下記の部分を更新

# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
# enable only secure ciphers:
SSLCipherSuite HIGH:MEDIUM:!ADH:!MD5
# Use this instead if you want to allow cipher upgrades via SGC facility.
# In this case you also have to use something like
# SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
# see http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html.en#upgradeenc
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCipherSuite ALL:!SSLv2:!SSLv3:!EXP!MD5!RC4!ADH!DSS!RSA:+HIGH:!eNULL:!aNULL

# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
SSLProtocol all -SSLv2 -SSLv3

古いAndroid用にTLSv1を有効にする為には下記の用に書かないとダメだった。

[CentOS6]
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite ALL:!EXP!MD5!RC4!ADH!DSS:+HIGH:!eNULL:!aNULL:!AES256-SHA256

[Ubuntu12.04]
SSLProtocol -All +TLSv1 SSLCipherSuite ALL:!EXP!MD5!RC4!ADH!DSS:+HIGH:!eNULL:!aNULL:!AES256-SHA256

この設定でTLSv1、TLSv1.1、TLSv1.2が接続できて、
SSLv2、SSLv3ではつながらないのを確認してあります。