SSL/TLS証明書通信で使用する際のApacheの代表的なディレクティブを紹介します。
・SSLEngine
記述例:SSLEngine on
このディレクティブは、SSL/TLS プロトコル エンジンを使用するかどうか指定します。
https通信を使用する場合はOnになります。
・SSLProtocol
記述例:SSLProtocol +TLSv1.2 +TLSv1.3
このディレクティブを使用して、接続で受け入れられるSSL/TLSプロトコルのバージョンを制御できます。
SSL3以前やTLS1.0、TLS1.1は脆弱性が指摘されるので、現在は使用が推奨されません。
・SSLCipherSuite
記述例:SSLCipherSuite EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5
クライアントがSSLハンドシェイク時に使用できるSSL暗号スイートを指定します。
カンマまたはコロンで区切られた暗号指定文字列を使用して暗号スイートを識別します。
!で使用しない設定にできますので、脆弱性が指摘される暗号スイートの禁止も可能です。
・SSLCertificateFile
記述例:SSLCertificateFile /etc/httpd/sslkey/domain/cert.crt
SSL証明書のファイル場所を指定します。
・SSLCertificateKeyFile
記述例:SSLCertificateKeyFile /etc/httpd/sslkey/domain/keyin.pem
秘密鍵のファイル場所を指定します。
・SSLCACertificateFile
記述例:SSLCACertificateFile /etc/httpd/sslkey/domain/ca.crt
中間証明書のファイル場所を指定します。
※Apache 2.4.8以降では、設定ファイルで中間CA証明書を指定する SSLCertificateChainFile
ディレクティブが廃止されました。
サーバ証明書と中間CA証明書を一つのファイルにまとめ、
サーバ証明書を指定するSSLCertificateFile ディレクティブで指定します