管理者:しらせ(HN)
とあるIT企業のインフラエンジニア。プライベートでは開発もちょっとやります。
※本ブログの内容はすべて個人の見解であり、所属する企業とは関連ありません。
カテゴリ別
内部リンク
[PR]
Twitter
来訪
249154 [合計]
179 [今日]
244 [昨日]
Powered by
Powered by AWS Cloud Computing

開発系インフラエンジニア
ふくさんぶつBlog
インフラを学ぶ学生や企業の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:401 この記事をツイート!




【インフラ】Windows Admin CenterでWindowsServerを管理できるか
2020/03/01 23:40:09
【インフラ】サポートが終了するということ
2020/01/19 18:21:51