HTTP(Hypertext Transfer Protocol)は、ブラウザがウェブ上のデータを読み取り、転送する方法を決定するために使用する一連のルールです。URL に「http」が含まれる場合、ブラウザはこのプロトコルに従ってウェブページを正常に読み込みます。
HTTPS は HTTP と同じですが、HTTPS はウェブページとの間で交換されるデータを暗号化するようブラウザに指示します。暗号化によりデータが隠蔽され、情報が閲覧されたり操作されたりする可能性が低くなります。これは、ウェブサイトに個人情報や財務情報などの機密データが含まれている場合に重要です。
HTTPS を設定する
ドメイン名で HTTPS を使用するには、ウェブサイトに SSL 証明書か TLS 証明書をインストールする必要があります。ウェブホスト(ウェブ ホスティング プロバイダ)で HTTPS のセキュリティが提供される場合もありますし、SSL/TLS 証明書を認証局にリクエストして自分でインストールすることもできます。SSL/TLS 証明書は定期的に更新することが求められる場合があります。
ウェブサーバーの種類は異なるため、それぞれ SSL/TLS 証明書をインストールおよび更新するための独自のプロセスがあります。ウェブサイトで使用しているウェブサーバーの種類を確認し、それに応じた証明書のインストールと更新の指示に従う必要があります。
次の Google サービスでは、SSL/TLS 証明書が自動的に発行、インストール、更新されます。追加費用はかかりません。
多くのサードパーティのウェブホストでは、SSL/TLS 証明書の発行、インストール、更新も行われます。Bluehost、Shopify、Squarespace、Weebly、Wix など、あらゆるウェブホストを Google Domains と組み合わせて使用できます。
ウェブホストに接続して HTTPS を設定する方法についての記事をご覧ください。
ウェブホストで HTTPS セキュリティが提供されていない場合は、認証局(CA)からドメインの SSL/TLS 証明書を取得できます。Google には Google Trust Services という独自の CA があります。Google Domains をご利用のお客様は、ドメインの [セキュリティ] ページの手順に沿って、Google Trust Services から証明書を取得できます。
広く使用されている CA で、安全なインターネット利用を促進するために証明書を提供しているものには Let's Encrypt もあります。
証明書を取得した後、証明書をインストールするには、ウェブホストにお問い合わせください。独自のサーバーでサイトをホストしている場合は、HTTPS を有効にする方法をご覧ください。自動証明書管理環境(ACME)プロトコルを使って証明書を管理している場合は、以下の手順に沿って証明書を ACME と DNS によって管理できます。
Google Trust Services から証明書を取得するには:
- Google Domains にログインします。
- 証明書を適用するドメインを選択します。
- 左上のメニュー アイコン [セキュリティ] をタップします。
- [ドメインの SSL/TLS 証明書] セクションの [Google Trust Services] を展開します。
- [EAB キーを取得] をクリックします。
- [EAB キー ID] と [EAB HMAC キー] の 2 つの値が表示されたダイアログが開きます。
- それぞれの値の横にある [コピー] ボタンをタップして、両方の値をコピーします。
- この 2 つの値を使用して、Google Trust Services CA にアカウントを登録します。ACME クライアントの各実装は、EAB の指定方法によって若干異なります。使用する ACME クライアントのドキュメントをご覧ください。
- 以下に、人気の高い Certbot ACME クライアントを使用した構成の例を示します。
- アカウントを登録するには:
certbot register --email <CONTACT_EMAIL> --no-eff-email --server "https://dv.acme-v02.api.pki.goog/directory" --eab-kid "<EAB_KEY_ID>" --eab-hmac-key "<EAB_HMAC_KEY>"
- アカウントが作成されたら、次のコマンドを実行して証明書を発行できます。
certbot certonly -d <YOUR_DOMAIN> --server "https://dv.acme-v02.api.pki.goog/directory" --standalone
- アカウントを登録するには:
- 以下に、人気の高い Certbot ACME クライアントを使用した構成の例を示します。
- [EAB キー ID] と [EAB HMAC キー] の 2 つの値が表示されたダイアログが開きます。
ACME と DNS による証明書の管理
自動証明書管理環境(ACME)は、認証局(CA)とサーバー間での証明書管理を自動化するために使用される一般的なプロトコルです。自動化により、多くのユーザーにおいて HTTPS 証明書が更新されていないためにサービスが停止する可能性を減らすことができます。
ACME プロトコルは、ドメイン名の管理権限を検証するためにチャレンジを使用します。Google Domains は、API トークンを使用して DNS サーバー上で行う DNS-01 チャレンジ タイプをサポートしています。
API トークンを作成するには:
- Google Domains にログインします。
- 使用するドメインを選択します。
- 左上のメニュー アイコン [セキュリティ] をタップします。
- [ACME DNS API] セクションの [トークンを作成] をタップします。
重要: この値は一度しか表示されません。ダイアログを閉じると、この API トークンを再表示できなくなります。このトークンを持つユーザーはあなたのドメインの DNS レコードの一部を変更できるようになるため、安全な場所に保管してください。
- 「API トークン」が表示されたダイアログが開きます。
- この API トークンは、ACME クライアントに入力する際に必要になります。
- この値をコピーするには、API トークンの横にある [コピー] ボタンをタップします。
- ダイアログを閉じる前にこの値を保存しなかった場合は、簡単に削除して新しい API トークンを作成できます。
- 同時に存在できる API トークンの数は、ドメインあたり 10 個までに制限されています。
- ダイアログが閉じると、リストにレコードが表示されます。いつでもこのトークンを削除して、アクセス権限を取り消せます。
- API トークンは、Google Domains の ACME DNS API をサポートする ACME クライアントで使用できます。ACME の各実装は、API トークンの指定方法によって若干異なります。使用する ACME クライアントのドキュメントをご覧ください。
- 「API トークン」が表示されたダイアログが開きます。
SSL / TLS 証明書の保護
HTTPS は中間者(MITM)攻撃を防ぐのに役立ちますが、お使いの SSL / TLS 証明書を借用してこのような攻撃が行われる可能性もあります。これを防ぐには、ご自身のウェブサイト向けに発行されている、心当たりのない証明書を確認する必要があります。Certification Authority Authorization(CAA)のリソース レコードを使用して、ドメインの証明書を発行できるユーザーを制限することもできます。
ドメインに対して発行された証明書を表示する
ドメインに対して発行された証明書は、censys.io で検索して確認することができます。