とあるIT企業のインフラエンジニア。プライベートでは開発もちょっとやります。
※本ブログの内容はすべて個人の見解であり、所属する企業とは関連ありません。
2023/09/30 暫く更新停止中m
生活・子育て(10)
FaaS(1)
働き方(2)
SaaS(2)
自作PC(6)
IT入門(1)
IaaS(13)
IDaaS(2)
ITIL(1)
PHP(2)
OS(6)
システム監視(1)
コミュニティ(1)
PCアプリ(10)
ストレージ(4)
ブログ(9)
ActiveDirectory(2)
デバイス(7)
旅行(10)
デザイン(3)
カンファレンス(5)
セキュリティ(9)
インフラ(19)
コーディング(11)
ゲーム(28)
インターネット(18)
未分類(8)
137 [今日]
534 [昨日]
【ブログ】今さらブログをLet'sEncryptでTLS化してみた
2021/06/01
ブログ
お疲れ様です。
しらせです。
定期開催のAtCoderABCを待っていたら今日は開催ありませんでした。
いきなり人生の100分が未定になったので、放置していたこのブログのSSL(TLS)化でもやろうかなぁと思った次第です。
お金を掛けたくないので「フリーな SSL/TLS 証明書 - Let's Encrypt」さんの力を借りることにしました。
もくじ
サーバ側の設定
何はともあれ、まずは設定を入れようとしますわな。
公式からリンクをたどると「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時間足らずで終わりました。
なんならこの記事書いてる方が時間掛かる。
もっと早くやっておけばよかった。
以上
お疲れさまでした。