apache2.4でssllabsのRatingをAにする
CentOS7などの標準の設定のままだと、SSL Labsなどの評価がFとか低いです…
これは非推奨のSSL2やSSL3、TLSv1やTLSv1.1が使えるままになってたり、Let's Encryptの中間証明書を使わない設定になっているからです。
以降、表示されるランクを落とす項目のメッセージと対応方法。
This server supports anonymous (insecure) suites (see below for details). Grade set to F.
!aNULL !eNULL
がSSLCipherSuiteに記載されているか確認。
This server accepts RC4 cipher, but only with older protocols. Grade capped to B.
!RC4
がSSLCipherSuiteに記載されているか確認。
This server does not support Forward Secrecy with the reference browsers. Grade capped to B.
SSLHonorCipherOrder On
をSSLProtocolの下あたりに追加
This server's certificate chain is incomplete. Grade capped to B.
Let's Encryptを中間証明書を使う方法にする。
つまりfullchainを使わず、SSLCertificateChainFileを追加。
This server does not support Forward Secrecy with the reference browsers. Grade capped to B.
自分の環境だと、
SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!RC4:!aNULL:!eNULL:!TLSv1
でランクAになった。
ECDHEスイートを使ったことでForward Secrecyが使えるようになった?
パソコンや開発、Linuxやデータベースのことなど
apache2.4でTLSv1、TLSV1.1がオフにできない
自分の環境だと
SSLProtocol all -SSLv2 --SSLv3 -TLSv1 -TLSv1.1
でも非推奨のTLSv1とTLSv1.1がdisabledになりません(使えてしまえます)。
その場合、
SSLCiperSuitに!TLSv1を追加することで不可にできました。
例
SSLCipherSuite ALL:!RC4:!aNULL:!eNULL:!TLSv1
!TLSv1のみ書けば、なぜかTLSv1.1も不使用になりました。
TLSとSSLの有効・無効を調べることのできるサイト
https://www.cdn77.com/tls-test
自分の環境だと
SSLProtocol all -SSLv2 --SSLv3 -TLSv1 -TLSv1.1
でも非推奨のTLSv1とTLSv1.1がdisabledになりません(使えてしまえます)。
その場合、
SSLCiperSuitに!TLSv1を追加することで不可にできました。
例
SSLCipherSuite ALL:!RC4:!aNULL:!eNULL:!TLSv1
!TLSv1のみ書けば、なぜかTLSv1.1も不使用になりました。
TLSとSSLの有効・無効を調べることのできるサイト
https://www.cdn77.com/tls-test
yum updateを自動で そしてカーネルは自動更新しない
yum-cronでyum updateを自動化する
yum-updatesdがインストールされていないか確認
yum-cronをインストール
yum install yum-cron
/etc/yum/yum-cron.conの
apply_updates = no
を
apply_updates = yes
に。
カーネルの自動更新はしない(再起動時に起動しなかったりするから)
/etc/yum.conf
#PUT YOUR REPOS HERE ...
の最下あたりに
exclude=kernel*
を追加
yum-cronを起動
service yum-cron start
yum-cronを自動起動
chkconfig yum-cron on
カーネルを更新したい時は、exclude=kernel*を#でコメントアウトしてyum update
yum-cronでyum updateを自動化する
yum-updatesdがインストールされていないか確認
yum-cronをインストール
yum install yum-cron
/etc/yum/yum-cron.conの
apply_updates = no
を
apply_updates = yes
に。
カーネルの自動更新はしない(再起動時に起動しなかったりするから)
/etc/yum.conf
#PUT YOUR REPOS HERE ...
の最下あたりに
exclude=kernel*
を追加
yum-cronを起動
service yum-cron start
yum-cronを自動起動
chkconfig yum-cron on
カーネルを更新したい時は、exclude=kernel*を#でコメントアウトしてyum update