インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

Let's Encryptで無料のワイルドカードSSL証明書を取得する方法|acme.shを使った手順を徹底解説

Let s Encryptで無料のワイルドカードSSL証明書を取得する方法|acme.shを使った手順を徹底解説

現在、Webトラフィックの大部分はHTTPSによって暗号化されています。特に、業界大手企業が支援する認証局(CA)「Let's Encrypt」の登場以降、その普及はますます加速しています。Let's EncryptはSSL/TLS証明書を完全無料で提供しており、証明書の有効期限は90日です。

一般的な証明書は1つ以上の特定のドメイン名に紐づいています。そのため、「www.example.com」用の証明書は、このドメインでしか使用できません。一方、ワイルドカード証明書は親ドメインに対して発行され、その親ドメイン配下の任意のサブドメインで利用できます。たとえば「*.example.com」のワイルドカード証明書があれば、「www.example.com」「account.example.com」「mail.example.com」などに対応可能です。これにより、現在および将来のすべてのサブドメインに対して、たった1枚の証明書を取得・更新するだけで済むという大きなメリットがあります。

本記事では、UbuntuやDebianなどDebian系ディストリビューションにおいて、登録済みドメインのワイルドカード証明書をLet's Encryptから取得する方法を解説します。

1. acme.shのインストール

Let's Encryptは、ドメイン所有権の確認や証明書の発行・更新のために、ACME(Automated Certificate Management Environment)プロトコルを使用します。acme.shはシェルスクリプトで実装された人気のACMEクライアントです。まずはgitをインストールしましょう。

sudo apt update
sudo apt install -y git

GitHubからリポジトリをダウンロードします。

git clone https://github.com/Neilpang/acme.sh.git

クローンしたディレクトリに移動し、インストールスクリプトを実行します。

cd acme.sh/
./acme.sh --install

シェルセッションを再読み込みして、acme.shを使用できる状態にします。

exec bash

2. acme.shでワイルドカード証明書を発行する

Let's Encryptがワイルドカード証明書を発行するには、DNSベースのチャレンジであるドメイン認証(DV)を完了させる必要があります。acme.shは多くの主要DNSプロバイダのAPIと統合されており、この認証プロセスを完全に自動化できます。以下、代表的なDNSプロバイダごとの手順を紹介します。

Cloudflareの場合

CloudflareのDNSサービスを利用している場合は、アカウントにログインしてグローバルAPIキーをコピーし、環境変数として保存します。

export CF_Key="your_cloudflare_api_key"
export CF_Email="your_cloudflare_email_address"

次のコマンドでワイルドカード証明書をリクエストできます。

acme.sh --issue --dns dns_cf -d '*.example.org'

NameCheapの場合

NameCheapのネームサーバーを使用している場合は、公式の手順に従ってAPIアクセスを有効化し、必要な変数をエクスポートします。

export NAMECHEAP_SOURCEIP="your_server_ip"
export NAMECHEAP_USERNAME="your_namecheap_username"
export NAMECHEAP_API_KEY="your_namecheap_api_key"

ワイルドカード証明書をリクエストします。

acme.sh --issue --dns dns_namecheap -d '*.example.org'

DigitalOceanの場合

ドメインがDigitalOceanのDNSを使用している場合は、読み取り・書き込み権限を持つパーソナルアクセストークンを作成し、APIキーをエクスポートします。

export DO_API_KEY="your_digitalocean_api_token"

ワイルドカード証明書をリクエストします。

acme.sh --issue --dns dns_dgon -d '*.example.org'

GoDaddyの場合

ドメインがGoDaddyのDNSを使用している場合は、APIキーとシークレットをコピーして環境変数にエクスポートします。

export GD_Key="your_godaddy_api_key"
export GD_Secret="your_godaddy_api_secret"

ワイルドカード証明書をリクエストします。

acme.sh --issue --dns dns_gd -d '*.example.org'

Vultrの場合

VultrのDNSを利用している場合は、パーソナルアクセストークン、または「Manage DNS」権限を持つサブプロファイルが必要です。

export VULTR_API_KEY="your_vultr_api_key"

ワイルドカード証明書をリクエストします。

acme.sh --issue --dns dns_vultr -d '*.example.org'

RackSpaceの場合

RackSpaceを利用している場合は、ユーザー名とAPIキーが必要です。以下のようにエクスポートします。

export RACKSPACE_Username="your_rackspace_username"
export RACKSPACE_Apikey="your_rackspace_api_key"

ワイルドカード証明書をリクエストします。

acme.sh --issue --dns dns_rackspace -d '*.example.org'

手動での認証手順

DNSプロバイダのAPIを使用したくない場合や使用できない場合は、DNSレコードを手動で作成してドメイン認証チャレンジを完了させることも可能です。ただし、この方法では証明書を更新するたびに同じ手動作業を繰り返す必要がある点に注意してください。

acme.sh --issue --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

このコマンドを実行すると、検証用トークンが表示されます。このトークンをDNSのTXTレコードとして追加する必要があります。

Let s Encryptで無料のワイルドカードSSL証明書を取得する方法|acme.shを使った手順を徹底解説

表示されたトークンをコピーし、DNS管理パネルにログインします。「_acme-challenge」サブドメインに対してTXTタイプの新しいDNSレコードを作成し、トークンを貼り付けてください。

Let s Encryptで無料のワイルドカードSSL証明書を取得する方法|acme.shを使った手順を徹底解説

新しいレコードが反映されるまで数分待ち、その後以下のコマンドで証明書をリクエストします。

acme.sh --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

証明書ファイルの保存場所

発行された証明書および関連ファイルは、ホームフォルダ内の「.acme.sh」ディレクトリに保存されます。

  • 証明書本体:「~/.acme.sh/*.example.org/*.example.org.cer」として保存されます。
  • 秘密鍵:「~/.acme.sh/*.example.org/*.example.org.key」として保存されます。このファイルは厳重に管理し、絶対に外部へ共有しないでください。
  • フルチェーン証明書:「~/.acme.sh/*.example.org/fullchain.cer」として保存されます。実際の運用では最もよく使われるファイルで、証明書本体と発行元(中間CA)の証明書が結合されています。

以上の手順に従えば、Let's Encryptのワイルドカードドメイン証明書を無料で取得できます。サブドメインが増えても証明書の再発行は不要なので、ぜひ活用してみてください。

  1. Chromeから新しいブラウザへデータを移行する方法|Firefox・Safari対応ガイド

    プライバシーポリシーの変更やユーザーセキュリティ対策の強化を進めてきたGoogleですが、同社が提供する人気ブラウザ「Chrome」をめぐる懸念は依然として払拭できていません。データセキュリティへの不安や、Cookieから取得したデータの悪用に対する懸念こそが、Chromeが否定的な注目を集め続ける大きな要因となっています。 こうした状況の中で、Chromeの代替ブラウザを見つけることが最善の選択肢となります。しかし、「長年保存してきたブックマークや設定が失われてしまうのでは」という不安から、新しいブラウザへの乗り換えをためらうユーザーも少なくありません。実は、Chromeに保存されたデータを

  2. Windows 10へ無料アップグレードする方法【Windows 7/8/8.1からの手順を徹底解説】

    2017年11月にMicrosoftは無料アップグレードの提供終了を発表しましたが、実は今でもWindows 10への無料アップグレードが可能です。少しの手間をかけるだけで、Windows 7、Windows 8、Windows 8.1(HomeまたはPro)から、完全に機能するWindows 10へアップグレードできます。唯一の条件は、現在使用中のWindowsが正規ライセンスで、Microsoftによって認証済みであることです。まだ古いWindowsをお使いの方は、以下の手順に従って無料でWindows 10へアップグレードしましょう。 Windows 10無料アップグレードの事前準備 ま