Certbot用語集
管理者アクセス
サーバーの管理者アクセス権限があるとは、そのサーバーを制御し、ソフトウェアのインストールや削除、システム全体の変更など、管理タスクを実行できる権限を持っていることを意味します。これは多くの場合、「ルートアクセス」とも呼ばれます。サーバー上で「sudo」を正常に実行できる場合、管理者アクセス権限があります。これは、VPSまたは専用サーバーを使用している場合、または他の人があなたのためにサーバーをセットアップした場合に当てはまる可能性が高いです。共有サーバーを使用している場合、またはFTP、SFTP、またはコントロールパネルインターフェースを介してのみサーバーとやり取りできる場合は、当てはまらない可能性が高いです。
自動更新
Certbotの文脈では、これは証明書の期限切れ前に自動的に新しいバージョンを取得する機能を指します。この機能は、有効な証明書がない期間を回避するのに役立つため重要です。
自動アップデート
自動アップデートとは、ソフトウェアが通常、利用可能になった後できるだけ早く自動的に新しいバージョンをダウンロードすることです。このプロセスは、ソフトウェアが開発者によってリリースされた最新のバグ修正と機能を備えているようにすることを目的としています。
バックポート
バックポートは、一部のオペレーティングシステムにある機能で、オペレーティングシステムのパッケージマネージャーが提供するよりも新しいバージョンのソフトウェアを取得するためのオプションを提供します。一部の環境でのCertbotのインストール手順では、オペレーティングシステムでバックポート機能を有効にする手順に従うように求められる場合があります。
ブラウザ
ブラウザは、インターネットでウェブサイトを表示するために使用するプログラムです。Firefox、Safari、Internet Explorer、Chromeはすべてウェブブラウザです。モバイルデバイスにも同じ目的のウェブブラウザアプリがあります。
証明書
証明書は、接続しようとしたサイトとの暗号化された接続を確立したことをブラウザまたはその他のソフトウェアに数学的に示すファイルです。
認証局
認証局は、ウェブサイト運営者に証明書を発行する組織です。
クラウドホスティング
クラウドホスティングは、通常はWebホスティング会社のサーバー上にある他者のインフラストラクチャを使用してWebサイトがホストされている状況を指します。これは、自宅で稼働する物理マシンなど、独自の個人サーバーでホストされているWebサイトとは対照的です。
コマンドライン
コマンドラインは、テキストベースのコマンドを入力してテキストベースの返信を受け取ることでコンピューターとやり取りする方法です。Certbotは、通常はUnix系サーバー上のコマンドラインインターフェースから実行されます。ほとんどの目的でCertbotを使用するには、Webサーバーのコマンドラインにインストールして実行できる必要があります。これは通常、SSHを介してアクセスされます。
コントロールパネル
コントロールパネルは、cPanelなど、ウェブサイトを構成するためのインターフェースを提供するタイプのソフトウェアです。
cronジョブ
cronジョブは、cronプログラムによってスケジュールされた時間に実行されるタスクです。
crontab
「cronテーブル」は、cronプログラムによってスケジュールされた時間に実行されるタスクが含まれる特定のファイルです。
DNS
DNSはドメインネームシステムであり、example.com、certbot.eff.org、community.letsencrypt.orgなど、数百万ものドメイン名の世界的なディレクトリを作成します。これらのドメイン名は、世界中のインターネットユーザーのソフトウェアによって検索され、サーバーへの接続に使用されるIPアドレスやその他の技術データが取得されます。DNSはインターネットインフラストラクチャの重要な部分であり、DNS登録機関(独自のサイトのドメイン名を登録するために支払うことができる機関)やさまざまなDNSプロバイダーなど、数百の組織によって共同で運営されています。
DNS認証情報
DNS認証情報は、DNSプロバイダーがDNSレコードの内容を変更するために使用できるようにするパスワードまたはその他の秘密情報(APIキーなど)です。これらは通常、ドメイン登録者(またはDNSプロバイダーが登録者と同じでない場合は別のDNSプロバイダー)によって発行されます。DNS認証情報は、サイト全体を完全に乗っ取ることができるため、機密性の高い秘密情報です。これらの認証情報を公開したり、権限のないユーザーと共有したりしないでください。Certbotに自動的にDNS検証を実行させるためにコピーを提供することは問題ない場合があります。これは、ローカルマシンで実行されるためです。
DNSプロバイダー
ドメインネームシステム(DNS)プロバイダーは、ドメイン名のDNSレコードをホストするDNSサーバー(ネームサーバーとも呼ばれる)を実行する組織です。DNSプロバイダーは、DNS登録者(ドメイン名の登録のために支払う相手)またはホスティングプロバイダー(Webサイトのホストのために支払う相手)と同じ場合と異なる場合があります。現在のプロバイダーが必要な機能を提供していない場合は、DNSプロバイダーを変更することもできます。Let's Encryptが証明書を要求した際にドメイン名を制御していることを確認するために、DNSプロバイダーはさまざまなインターネット技術標準に従う必要があります。ドメイン名を参照するDNSレコードを変更するには、DNSプロバイダーとやり取りする必要があります。一部のDNSプロバイダーは、Let's EncryptのDNS検証方法を使用して、(ワイルドカード証明書を含む)Let's Encrypt証明書を簡単に作成するのに役立ちます。これには、Certbotが自動的にDNSレコードを更新するために使用できるソフトウェアインターフェースを提供することが含まれます。
DNSレコード
DNSレコードは、ネームサーバーのエントリであり、インターネット上のマシンにドメインに関する情報を伝えます。たとえば、「Aレコード」は、特定のドメイン名がどのIPv4アドレスを指すべきかを記述します。
DNS検証
DNS検証は、ドメイン内に特定のDNS TXTレコードを作成するように要求することで、ドメインに対する制御を証明する方法です。これには、DNSレコードを変更するための適切な認証情報が必要です。DNS検証は、Let's Encryptがドメインに対する制御を証明するために提供するオプションの1つです。CertbotがサポートするDNSプロバイダーがある場合、Certbotはこのプロセスを自動化できます。それ以外の場合は、証明書を更新するたびに自分で実行する必要があります。ほとんどのCertbotユーザーはDNS検証を実行する必要はありませんが、ワイルドカード証明書が必要な場合はLet's Encryptによって要求されます。また、Webサーバーがインターネットから接続を受信できない場合(たとえば、ファイアウォールの後ろのプライベートネットワークにある場合)にも、便利なオプションになる場合があります。
Docker
Dockerは、ウェブサイト運営者がサーバー内で「コンテナ」と呼ばれる事前に構成されたシステムを実行できるようにするシステムです。これらのコンテナには、タスクを実行するために必要なものがすべて含まれています。CertbotのDockerコンテナには、Certbotが既に設定されています。
ドメイン名
ドメイン名は、ウェブサイトの人間が読み取れる識別子であり、ユーザーがブラウザのURLバーに入力してそのウェブサイトにアクセスできます。ドメイン名には、最初のスラッシュ(/)以降のURLの部分は含まれません。
ドメイン登録者
ドメイン登録者とは、ウェブサイト運営者がドメインを購入する組織のことです。
ファイアウォール
ファイアウォールは、マシンのネットワークトラフィックを監視および制御します。
FTP
ファイル転送プロトコル(FTP)を使用すると、ユーザーはネットワークを介してファイルを一方のマシンからもう一方のマシンに移動できます。
ホスティングプロバイダー
ホスティングプロバイダーとは、Webサイトをオンラインにするお手伝いをする企業またはその他の組織のことです。ホスティングプロバイダーは通常、顧客から料金を支払われ、共有ホスティング、仮想プライベートサーバー、専用サーバーなど、さまざまなプランとサービスを提供します。サーバーは通常データセンターに配置され、ホストするサイトやサーバーは通常、インターネットを介してリモートで管理されます。
HTTP
HTTP(Hypertext Transfer Protocol)は、WebブラウザがWebサーバーからWebページやその他のオンラインリソースの内容を要求するための従来の方法ですが、安全ではありません。これはインターネット標準であり、通常はTCPポート80で使用されます。世界中のほとんどのウェブサイトはHTTPをサポートしていますが、Certbotまたはその他のHTTPS設定方法で構成されたウェブサイトは、サイトのHTTPバージョンからHTTPSバージョンにユーザーを自動的にリダイレクトする場合があります。
HTTPS
HTTPS(Hypertext Transfer Protocol Secure)は、SSL/TLSプロトコルを使用してWebブラウザとWebサーバー間の接続のセキュリティを提供するHTTPのアップデートです。HTTPSを使用するには、通常、Let's Encryptなどの認証局からの証明書が必要であり、その証明書をWebサーバーにインストールする必要もあります。Certbotは、多くの場合、これらの手順を自動的に実行するのに役立ちます。HTTPSはインターネット標準であり、通常はTCPポート443で使用されます。
インターネットサービスプロバイダー
インターネットサービスプロバイダー(ISP)は、インターネットへのアクセスを取得できる組織です。
IPアドレス
IPアドレスは、198.51.100.55などの数字のグループであり、インターネット上のコンピューターを識別し、他のコンピューターが通信できるようにします。
Let's Encrypt
Let's Encryptは、デジタル証明書を無料で発行して、インターネット上のWebサイトへの暗号化されたHTTPS接続を取得できるようにする認証局です。これは、暗号化されていない接続よりもはるかに安全です。CertbotはElectronic Frontier Foundationによって作成されたソフトウェアツールです。Certbotは、独自のWebサーバーを運用する人がLet's Encrypt証明書を取得し、サーバー上にHTTPSを設定し、将来証明書を自動的に更新するための最も一般的な方法です。さまざまな状況の人々がLet's Encrypt証明書を取得するための他の多くのツールとオプションもあります。
オペレーティングシステム
オペレーティングシステムは、コンピューター上で実行されているコアソフトウェアです。最も一般的なオペレーティングシステムは、Windows、macOS、およびLinuxです。Linuxは、Ubuntu、Debian、RedHatなど多くの「ディストリビューション」に細分されています。
ポート443
ポート443は、HTTPSで使用するために正式に割り当てられたポートです。さまざまなインターネットサービスは、異なるTCPポート番号を使用することで区別されます。暗号化されていないHTTPは通常TCPポート80を使用し、暗号化されたHTTPSは通常TCPポート443を使用します。
ポート80
さまざまなインターネットサービスは、異なるTCPポート番号を使用することで区別されます。暗号化されていないHTTPは通常TCPポート80を使用し、暗号化されたHTTPSは通常TCPポート443を使用します。certbot --webroot、certbot --apache、またはcertbot --nginxを使用するには、Certbotを使用するサーバーで既にオンラインになっている既存のHTTPウェブサイトが必要です。このサイトは、ポート80でインターネットの他の部分からアクセスできる必要があります。certbot --standaloneを使用するには、既存のサイトは必要ありませんが、サーバーのポート80への接続がファイアウォールによってブロックされていないことを確認する必要があります。これには、インターネットサービスプロバイダーまたはWebホスティングプロバイダーによって実行されるファイアウォールも含まれます。不明な場合は、ISPまたはホスティングプロバイダーに確認してください。(DNS検証では、Let's Encryptがサーバーへのインバウンド接続を行う必要がないため、この方法では特に、既存のHTTPウェブサイトやポート80への接続を受信する機能は必要ありません。)
サーバー
サーバーは、インターネット上のコンピューターであり、Webサイトやメールサービスなどのサービスを提供します。ほとんどのウェブサイト所有者は、データセンターに配置され、インターネットを介して管理されるサーバーの使用に対してホスティングプロバイダーに料金を支払います。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである可能性があります。他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を処理します。
サーバー - 専用サーバー
専用サーバーは、単一のウェブサイト管理者のみがコンテンツまたはサービスをホストするサーバーです。
サーバープラグイン
Certbot のコンテキストでは、特定のサーバーソフトウェアの構成に Certbot と連携して動作するソフトウェアを指します。例えば、Certbot には Apache プラグインと nginx プラグインがあり、これらを使用してサーバーで証明書を取得し構成することができます。
サーバー - 共有サーバー
共有サーバーは、異なる人が同じマシン上で実行するコンテンツまたはサービスをホストするサーバーです。その一般的な形態として共有ホスティングがあり、異なる人が運営するウェブサイトが、それらの間で共有される同じサーバーによって提供されます。
サーバー - 仮想プライベートサーバー (VPS)
仮想プライベートサーバーは、顧客がオペレーティングシステムとソフトウェア環境全体を制御できる完全なサーバー環境です。これにより、顧客はそのサーバー環境のシステム管理者になることができます。これは共有ホスティングに次いで2番目に一般的なWebホスティング環境であり、Amazon AWS、Azure、DigitalOcean、Linodeなど主要なプロバイダーが提供しています。Certbot を成功裏に利用しているユーザーのほとんどは、VPS 環境で Certbot を実行しています。
サーバー - ウェブサーバー
「ウェブサーバー」は、ウェブサイトのコンテンツをインターネットの他の部分に提供するために使用されるサーバー(コンピューター)、アプリケーション(ソフトウェア)、またはその組み合わせのいずれかを指す場合があります。
SFTP
SFTP は、FTP よりも安全なバージョンです。
共有ホスティング
共有ホスティングは、複数の顧客のウェブサイトが同じサーバーでホストされるWebホスティングの一種であり、主にWebホスティングプロバイダーによって管理されます。通常、顧客はWebベースの制御パネルインターフェースを使用して、共有サーバー上の独自のサイトを管理します。これはVPSホスティングよりも安価であり、顧客側の技術的な知識がそれほど必要ないことが多く、全体として最も一般的なWebホスティング環境です。
Certbot は、多くの共有ホスティング環境ではあまり適していません。通常、ホスティングプロバイダーに HTTPS の設定を依頼する方が簡単で信頼性が高いからです。(一部の共有ホスティングユーザーは Certbot を使用していますが、ほとんどの場合、ホスティングプロバイダーが非協力的であるか、顧客サイトの HTTPS サポートを有効にする他の方法がないためです。)
ソフトウェア
ソフトウェアは、コンピューターに特定のタスクを実行する方法を教える一連の指示です。Certbot は、ウェブサイトで HTTPS を設定したいウェブサイト管理者にとって役立つソフトウェアアプリケーションの1つです。Certbot のドキュメントでは、Webサーバーで使用している他のソフトウェアの名前とバージョンについても理解していることが期待されます。例えば、Certbot のインストール方法はオペレーティングシステムによって異なるため、Webサーバーで使用しているオペレーティングシステムソフトウェアを尋ねられます。
ソフトウェアリポジトリまたは「レポ」
レポとは、ソフトウェアが保存され、他の人がアクセスできる場所です。これには、ソフトウェアプロジェクトのファイルを含むGitHubリポジトリや、Debian、Fedora、Ubuntuなどの一般的なオペレーティングシステムが提供するリポジトリ(ユーザーがダウンロードしてインストールできる多くの異なるソフトウェアが含まれている)などが含まれます。
SSH
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするテクノロジーであり、多くの場合、サーバーを管理するために使用されます。サーバーの管理者は、他の人に SSH アクセスを許可し、SSH アクセスを直接使用してリモートでサーバーを管理することもできます。SSH は通常、Unix 系オペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、自分のコンピューターが Unix を実行している必要はありません。通常、コンピューターのコマンドラインでターミナルから `ssh username@example.com` のようなコマンドを入力して SSH を使用します(特に、自分のコンピューターが Linux または macOS を実行している場合)。ログイン後、サーバーのコマンドラインにアクセスできます。コンピューターで Windows を使用している場合は、PuTTY などの専用の SSH アプリケーションを使用することもできます。Certbot ユーザーのほとんどは、SSH 経由でリモートサーバーのコマンドプロンプトから Certbot を実行しています。
SSL/TLS
SSL(TLS とも呼ばれる)は、2台のコンピューター間で送信されるデータを暗号化するために使用されるプロトコルです。HTTPS(HTTPではなく)を使用して暗号化でWebを閲覧すると、Webブラウザーは内部でSSL/TLSを使用してウェブサイトと通信しています。SSL と TLS は、異なるプロトコルバージョンを区別するために使用されることがありますが、ほとんどの場合、同義語です。
sudo
Sudo は、Unix 系オペレーティングシステムで、ルート(システム管理者)として特定のコマンドを実行するために最も一般的に使用されるコマンドです。ルート以外のユーザーとしてサーバーにログインしている場合は、Certbot コマンドの前に sudo を付ける必要がある場合があります(例えば、`certbot` ではなく `sudo certbot`)。特に、Apache や Nginx のようなWebサーバーとのCertbotの統合を使用している場合です。(`certbot-auto` スクリプトは、必要に応じて自動的に sudo を実行します。)
TCP
TCP は、2台のコンピューターがお互いにデータを送信できるプロトコルです。HTTP、HTTPS、SSH、FTP などのより複雑なプロトコルは、TCP を構成要素として使用して構築されています。
アップデート
最新のセキュリティ修正と機能を適用するために、ソフトウェアを最新の状態に保つことが重要です。
既にオンラインになっているウェブサイト
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え、その後、必要に応じてサイトの HTTPS 証明書を継続的に更新するために使用することを目的としています。一部の Certbot ドキュメントでは、ポート 80 で HTTP を使用して既にアクセスできる動作中のウェブサイトがあることを前提としていたり、推奨していたりします。つまり、例えば、Webブラウザーを使用してドメインに `http://` を使用してアクセスすると、Webサーバーが応答し、何らかのコンテンツが表示されることを意味します(最終版のサイトではなく、デフォルトのウェルカムページだけの場合でも)。Certbot を使用する方法によっては、これが前提条件となるため、HTTP を使用してサイトが既に設定されている場合は、よりスムーズな操作が可能です。(ポリシーの都合上、このようにサイトにアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があります。)
ワイルドカード証明書
ワイルドカード証明書は、`*.` で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(`*`)の代わりに任意のラベルを受け入れます。例えば、`*.example.com` の証明書は、`www.example.com`、`mail.example.com`、`hello.example.com`、`goodbye.example.com` で有効になります。
ただし、`*.example.com` という名前のみを含むワイルドカード証明書は、`example.com` では有効になりません。置換されたラベルは空にすることができません。証明書を `example.com` で有効にするには、`*.` 部分を含まない `example.com` も証明書に含める必要があります。
さらに、アスタリスクは単一のラベルにしか置換できず、複数のラベルには置換できません。例えば、`hello.goodbye.example.com` という名前は、`*.example.com` という名前のみを含む証明書ではカバーされません。ただし、`*.goodbye.example.com` ではカバーされます。ワイルドカード名に複数のアスタリスクを含めることはできません。例えば、`*.*.example.com` は無効です。