[自分用メモ][Apache] 当ブログサーバのhttp/2設定が有効になっていなかったので、セキュリティ設定と合わせて見直した

2019-07-06 10:01:28AIX、UNIX、Linux, Amazon Web Servicesapache, http/2, lightsail, TLS

Screenshot_2019-07-06-SSL-Server-Test-blog-komeho-info

自分用メモとなるのですが。

以前に当ブログをAWS lightsailに移行した旨を記事にしました。

その後、SSL labsが提供しているSSL checkerを覗いていた際に今頃になって気がついたのですが、サーバ側の設定でHTTP/2についてが有効になっていなかったのといくつかの弱いSSL/TLSが有効になっていたので再設定しました。

参考にしたWebサイトは以下の通り。

HTTP/2の有効化

$ sudo vi /opt/bitnami/apache2/conf/httpd.conf
# 下記該当行をコメントアウトする
LoadModule http2_module modules/mod_http2.so
$ sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
<VirtualHost _default_:80>
  DocumentRoot "/opt/bitnami/apache2/htdocs"
<省略>
  # Bitnami applications installed with a prefix URL (default)
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
  Protocols h2 h2c http/1.1 <-ここを追記
</VirtualHost>

最後に以下のコマンドを実行して、apacheに反映させる。

$ sudo sh /opt/bitnami/ctlscript.sh restart apache

以下にあるbitnamiのドキュメントにある、

Bitnami stacks ship with the mod_http2 module installed, but it is not enabled by default. To enable this module, follow these instructions. Once the module is active, follow the steps below:

https://docs.bitnami.com/aws/apps/wordpress/administration/enable-http2-apache/

を見逃していました・・・

SSLProtocolの見直し

デフォルトは以下のようになっていました。

Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on

TLS1.0とTLS1.1が有効になっていました。まぁ流石にInternet Explorer 8などの古いブラウザは対応しなくても良いかなと思い、思い切ってTLS1.2のみ対応することに。

Listen 443
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2
SSLHonorCipherOrder on

本当はTLS1.3への対応も始めたほうが良いのでしょうが、lightsailのbitnamiの環境が若干古いので、ゴリっと入れ直しが必要になることが分かったので、現在思案中です。思い切ってNginxとかにい入れ替えるのも手なのかなと。

とりあえず大丈夫そう。

確認先

2019年10月10日:追記

ApacheやNginxでのSSLの設定に悩んだら、以下のWebサイトを参考にするとよいかもしれません。

使用するアプリやOpenSSLのバージョンの違いでの設定の違いなども吸収してくれます。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。

興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。

じつはRouterboard User Group JPの中の人でもある。

Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

2019-07-06 10:01:28AIX、UNIX、Linux, Amazon Web Servicesapache, http/2, lightsail, TLS