Author:しらせ(HN)
とあるIT企業のインフラエンジニア
Windows/Linux両方使います。
趣味でソフトウェアやWebアプリを作ってます。
すべて本業とは関係のない副産物です。
※本ブログの内容はすべて個人の見解であり、所属する企業とは関連ありません。
[PR]
カテゴリ別
デバイス(2)
旅行(1)
デザイン(2)
カンファレンス(4)
オフ会(1)
インフラ(4)
プログラミング(5)
ゲーム(17)
インターネット(13)
未分類(1)
内部リンク
Blogトップ
プライバシーポリシー
Twitter
来訪
232509 [合計]
102 [今日]
130 [昨日]
Powered by
Powered by AWS Cloud Computing
支援募集

ふくさんぶつ Blog
インフラエンジニアしらせのIT遊びブログ。
中小企業のIT担当者に有益な情報をお伝えしたい。



【インフラ】今さらブログをLet'sEncryptでTLS化してみた
Date:2020/02/03 01:39:29
Category:インフラ


お疲れ様です。
しらせです。


定期開催のAtCoderABCを待っていたら今日は開催ありませんでした。
いきなり人生の100分が未定になったので、放置していたこのブログのSSL(TLS)化でもやろうかなぁと思った次第です。

お金を掛けたくないので「フリーな SSL/TLS 証明書 - Let's Encrypt」さんの力を借りることにしました。


もくじ

  1. サーバ側の設定
  2. AWSの設定とテスト
  3. 感想


サーバ側の設定

何はともあれ、まずは設定を入れようとしますわな。

公式からリンクをたどると「certbot」というページに飛びました。
今使っているシステムを選ぶと丁寧にもコマンドを教えてくれます。
専用のACMEクライアントというツールでシェルを叩くだけで良いらしい。簡単

でも、やっぱり英語だけだと心配なので以下の2つのサイトも見ました。

Let'sEncryptの取得&自動更新設定してみた(CentOS7.1&Apache2.4.6) - Qiita ※超親切
cronでcertbot renewの--force-renewalを使用してはいけない


<手順で詰まった所と意識した所>
1.証明書取得(certonly)
  詰まった所:VirtualServerを設定していなかった

2.httpd.confへの反映
  詰まった所:証明書の設定はconf/httpd.confではなくconf.d/ssl.confを弄らないとダメだった
  意識した所:SSLProtocolでTLS1.1とTLS1.2に制限した(デフォでSSLv3の除外だけだった気がする)
  SSLProtocol All -SSLv2 -SSLv3 -TLSv1


3.3か月ごとに切れる証明書の自動更新
  意識した所:cronに「--force-renew」は入れない方がいいということ


--dry-runを活用しながらcronが動いていることもちゃんと確認しました。
基本的に上の手順を見れば簡単にインストールができました。


AWSの設定とテスト

AWS側の設定は簡単。

マネジメントコンソールを開いて、
「ネットワーク & セキュリティ」→「セキュリティグループ」からVPCに紐づくルールに追加してあげればよいだけ。
もちろん、サーバ側のファイアウォールもちゃんと開いてないとダメです。

< HTTPS, TCP, 443, 0.0.0.0/0 → IPv4 >
< HTTPS, TCP, 443, ::0/0 → IPv6 >


そして、いざブラウザからアクセスしてみると、、、、
証明書は有効なのに、警告が、、、
 

これは、SSL/TLSのセッション外で保護されていないHTTPのセッションが張られてしまうと出るやつですね。
静的・動的ページすべてのソースを見直してhttpsに直しました。


感想

1時間足らずで終わりました。
なんならこの記事書いてる方が時間掛かる。

もっと早くやっておけばよかった。


以上、お疲れさまでした。



Views:162 この記事をツイート!




(ありません)
【インフラ】サポートが終了するということ
2020/01/19 18:21:51