84
94

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Apache で https のプロトコルを TLS1.2 のみに制限する

Last updated at Posted at 2015-09-09

環境

##サーバ側は CentOS 7 で検証した。

$ cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

Apache は 2.4.6

$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Aug 24 2015 18:11:25

OpenSSL は 1.0.1e-fips だった。

$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

クライアントは MacOS 10.10.5 で検証した。

クライアントの OpenSSL も 1.0.1e-fips だった。

httpd.conf (かどこか) で TLS1.2 以外を無効にする

以下は、「全て」から止めたいプロトコルを除く設定。

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

All

This is a shortcut for +SSLv2 +SSLv3 +TLSv1' or - when using OpenSSL 1.0.1 and later - +SSLv2 +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2`, respectively.

とのこと ( http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslprotocol
) なので

SSLProtocol +TLSv1.2

でもよい。でも長く書いたほうが明示されるので良いかもしれない。

1.2 以外を無効とするならば以下が良いとコメントいただいた。わかりやすい。

SSLProtocol -all +TLSv1.2

確認のしかた

openssl の s_clinet で確認した。
(wget でやろうとしたらコマンドが古くて TLSv1 の指定しかできなかった)

openssl s_client -connect my.server.example:443 -tls1_1

のように -tls1, -tls1_1, -tls1_2 のオプションをつけてテストする。

TSL1.2 のみを許可した Apache では -tls1_2 以外で接続すると

no peer certificate available

と表示されて切断される。接続できれば対話になるので GET / HTTP/1.0 などでページを取得できる。

84
94
1

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
84
94

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?