すこぶる.net

技術系備忘録など

Apache nginx SSL

HTTPS化に向けてWebサーバでSSL設定をするときのコツ

投稿日:2018年1月8日 更新日:

概要

Webサイトのセキュリティが案じられている現状で、各サイトのHTTPS(SSL化)への移行が急速に進んでいる。
GoogleもHTTPSサイトへの移行を推奨しており、SEO観点でも大きく影響してくると言われている。(http://jp.techcrunch.com/2017/10/21/20171020https-is-booming-says-google/

しかし、ただHTTPS化するだけでは危険を含むこともあるので正しく、求められる水準に設定を合わせていく方法を紹介したいと思う。
設定のコツというほどではないが、筆者が自身でSSLを導入した際に利用したツールなどを紹介したいと思う。

設定する際のコツ

ちなみにこのブログは、Let’s Encrypt という無料SSLを発行してHTTPS化を行っている。(https://letsencrypt.org/

簡単に Let’s Encrypt について紹介すると以下のような特徴がある。
・無料で発行できる
・大手スポンサーがついている
・有名なレンタルサーバではこれを利用してSSL化の無料設定サービスを出している
無料ということで有料の数千〜数十万するSSL証明書と比べてセキュリティ的に弱い!ということもない。
実は、裏側の仕組み自体は無料SSL証明書でも有料SSL証明書でも変わらない。
※サポートが受けられることや、企業認証など認証方式による信頼性という部分では異なる
スポンサーに関しても、以下の会社が並んでいる。

本題に戻るが、Nginx や Apache といったWebサーバでSSLを設定する際、基本的には証明書を配置しそれを参照するように設定するだけである。
しかし、 TLS、SSLプロトコルのバージョン指定、暗号スイートの設定といった細かい設定もする必要がある。
Webサーバ自体がデフォルトである程度設定してくれているが、最新のものに対応していない場合もある。そして厄介なことにこれをすべて理解して設定するのは非常に難しい。
なので、以下のサイトを使用してみると良いかもしれない。
Mozilla SSL Configuration Generator:https://mozilla.github.io/server-side-tls/ssl-config-generator/
また設定を行った後は以下のサイトでチェックすると良い。
SSL Server Test:https://www.ssllabs.com/ssltest/

これらによって足りない設定に気づくことができ、最低限の設定を行うことができる。
かなり駆け足に書いているのでめちゃくちゃになっているかと思うがまたいずれ追加、修正したいと思う。

いちおう当サイトは Nginx を使用しており、 SSL Server Test も A+ を取得している。

-Apache, nginx, SSL
-,

執筆者:

関連記事

【Nginx】キャッシュ作成時のバックエンドへのリクエストをproxy_cache_lockで制限する

概要 Nginx でキャッシュの有効期限が切れたとき、一勢にリクエストがバックエンドに流れることになります。。 そうなると、当然バックエンドサーバの負荷が大きくなりサービス障害につながるので注意が必要 …

【Nginx】変数の中身を確認しデバッグする方法

Nginx で変数をログに出力する Nginx を使用していると、実際に変数の中身を確認して設定を組みたい、特定の変数の中身をログに出力して確かめたい!なんてことがあると思います。 そんなときに役立つ …

【Nginx】$upstream_cache_status-キャッシュステータスの見方

Nginx でキャッシュのステータスを確認する方法 まずNginxでキャッシュを使用している場合に、ユーザのリクエストに対して、キャッシュが効いているか確認する方法を紹介します。 やることは非常に簡単 …

【Nginx】フォワードプロキシを構築する

フォワードプロキシとは フォワードプロキシを利用することで、接続元のIPを変更および、固定することが可能です。 接続元のサーバが複数台存在し、IP制限をかけてある接続先に対してリクエストをする際に、そ …

【Nginx】DoS対策_limit_req_zone

Nginx で DoS 対策を行う方法 Web サイトを公開するにあたり、Nginx で簡単な DoS 攻撃対策を行う方法を紹介します。特別な方法ではなく最初から Nginx にある機能の紹介です。 …