プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • インフラ
  • 【インフラ】「Let’s Encrypt」について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【インフラ】「Let’s Encrypt」について

12.28

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

Let’s Encryptとは?

無料でSSL証明書を発行できるサービスで、2014年に設立した米国のISRGという非営利団体が運営しています。全てのWebサイトを暗号化することが目的で活動しています。

ルート証明書

新しい認証局なので、出荷されている全てのPCにルート証明書がインストールされていません。なので、今はIden Trustというルート認証局が運用する「DST Root CA X3」というルート証明書でクロス署名された中間証明書を利用する形になっています。

ただ、今後はLet's Encrypt自身が発行するルート証明書「ISRG Root X1」が主流になっていくものとして発表はされているようです。

仕組み

ACME(Automated Certificate Management Environment)

証明書を自動発行する仕組みです。他の認証局と異なり、認証してから数秒で証明書が発行されます。

証明書の認証方式(ドメイン認証、DNS認証)

DNSに登録されているAレコードを利用する。

HTTP経由で特定のファイル(.well-known)にアクセスすることでドメイン所有者の確認をします。(例えば、xxx.comのドメインの証明書が欲しいと要求してきた人が本当にxxx.comの所有者かどうか確認するために使われる。)

証明書を取得する際、ドキュメントルートに.well-knownが自動的に生成されるが、この.well-knownフォルダにアクセスができないと、証明書の取得に失敗することになる。

暗号強度

他の有料のSSL証明書と暗号強度はあまり変わりません。

有効期限

発行から90日。(certbotなどのソフトウェアを使えば自動更新は可能です。)、一般的な証明書の有効期限は2年なので非常に短いです。

利用方法

管理者権限のあるサーバーでは、一般的にはcertbotというソフトウェアが利用されています。

certbotとは?

無料かつ自動でSSL証明書を発行できるツールです。CSRとKEYファイルの作成からWebサーバーの設定まで自動で行ってくれます。

cronと組み合わせれば、証明書の更新まで自動化できます。

証明書の発行

「Let’s Encrypt」と呼ばれる認証局によって行われます。

コマンド

1
sudo certbot --nginx -d {証明書を発行したいドメイン名}

standalone

certbotがWebサーバーとしての機能も持っているので、それを使って設定するかどうか。standaloneという言葉通り、Webサーバーがなくても証明書の取得設定ができるというもの。

standaloneの場合は、certbotが持っているWebサーバーを利用するために80(HTTP)と、443(HTTPS)を利用するので、Apacheやnginxが既に動いていると動かない。

もし、既にWebサービスとして動いている場合は、Webサーバーを停止させないといけません。それの対策としてwebrootモードがあります。

webroot

稼働中のサービスを落とさずにSSL証明書の発行及び更新ができる。

前提

事前にDNS設定とnginx(もしくはApache)の設定が終わっていること

スポンサーリンク
  • 2021 12.28
  • miyabisan2
  • コメントを書く
  • インフラ
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2021 12.01

    【インフラ】「デプロイ」について

  2. 2021 12.08

    【インフラ】「プロキシ」と「リバースプロキシ」の違い

  3. 2021 12.02

    【インフラ】「GitLab」と「GitHub」、「Code Commit」の違い

  4. 2021 12.11

    【マイクロサービス】「コンテナオーケストレーション」とは?

  5. 2018 06.15

    「Salesforce(セールスフォース)」ってどんな技術なの?

  6. 2021 12.02

    【インフラ】Dockerを本番環境でどう動かすか?(EC2、ECSなど)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Node.js】「cluster」モジュールについて

【セキュリティ】「メッセージ認証コード(MAC)」、「…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー