デジタルオーシャンを暗号化しましょう

Dejitaruoshanwo An Hao Huashimashou



訪問者を獲得するためには、Web サイトのドメインに SSL/TLS 暗号化が必要です。 SSL / TLS 証明書は、ウェブサーバーとブラウザ間の強力な接続を提供します。以前は、セキュリティは大きな懸念事項ではありませんでした。 Web サイトが確立された HTTP プロトコルを介してデータを配信することは比較的一般的でした。しかし現在、個人情報の盗難、クレジット カード詐欺、スパイ活動などのサイバー犯罪が増加しているため、サーバーとの通信に使用されるチャネルを保護する必要があります。

Let’s Encrypt と呼ばれる認証局 (CA) は、無料の SSL/TLS 証明書を提供し、Web サーバーで HTTPS 暗号化を有効にします。ドメイン検証済みなので、専用の IP アドレスは必要ありません。通常、特に Google での SEO ランキングを向上させるために、Web サイトで SSL 証明書を有効にすることをお勧めします。







Let’s Encrypt の仕組み

Let’s Encrypt は、証明書を提供する前にドメインの所有権を確認します。トークンが検証されると、Let’s Encrypt 検証サーバーはファイルを取得するための HTTP 要求を作成し、ドメインの DNS レコードが Let’s Encrypt クライアントをホストしているサーバーを指していることを確認します。



要件

Let’s Encrypt を使用する前に、次のことを行う必要があります。



この Ubuntu 20.04 チュートリアルの最初のサーバー セットアップの手順に従って、Ubuntu 20.04 サーバーがセットアップされたら、ファイアウォールと sudo アクセスを持つ非 root ユーザーで完了します。





登録のあるドメイン名。この記事では、myfirstproject1.com を使用します。ドメインを購入できます。

次の 2 つの DNS レコードがサーバーで構成されています。



  • サーバーのパブリック IP アドレスを指す myfirstproject1.com を含む「myproject1」レコード
  • サーバーのパブリック IP アドレスを指す myfirstproject2.com を含む「myproject2」レコード。

Nginx をインストールする必要があり、ドメインにサーバー ブロックがあることを確認する必要があります。

Digital Ocean に Let’s Encrypt をインストールする手順

Let’s Encrypt をデジタル オーシャンにインストールするための主な手順は次のとおりです。

Certbot のインストール

Certbot ソフトウェアは、Let’s Encrypt を利用して SSL 証明書を取得するための主な要件です。 Certbot とその Nginx プラグインをインストールするには、次のコマンドを使用します。

ほとんどの共有ホスティング会社と一部のクラウド ホスティング会社は、Web サイトのホスティング パネルに Certbot または同様のプラグインを組み込んでおり、クリックするだけで SSL/TLS 証明書を購入、更新、および管理できます。

一方、「python3-certbot-nginx」は次の目的で使用されるパッケージです。

あなたがウェブサイトを担当していることを Let’s Encrypt CA にすぐに示してください。

  • いつライセンスをアップグレードする必要があるか、いつ期限切れになるかを記録します。
  • ブラウザーが信頼する証明書を取得して、任意の Web サーバーにインストールします。
  • 必要に応じて、証明書を取り消すことができます。

Certbot を使用する準備ができましたが、Nginx の SSL を自動的に設定する前に、いくつかの設定を確認する必要があります。

Nginx の構成の確認

Certbot は SSL を自動的に構成できるはずです。 Nginx 構成で適切なサーバー ブロックを見つけることができる必要があります。より正確には、証明書を要求するドメインに対応するサーバー名ディレクティブを検索することで、これを実現します。

「/etc/nginx/sites-available/myfirstproject1.com」で使用するドメインのサーバー ブロックでサーバー名ディレクティブが適切に構成されているはずです。

nano または他のテキスト エディターでドメイン構成ファイルを開き、ファイルが存在する場合はそれが開かれることを確認し、エディターを閉じて次のアクションに進みます。サーバー名は「server_name domain_name」のようになります www.domain_name.com '、以下のスニペットに示すように。

変わらなければ対応しています。ファイルを保存してエディターを閉じた後、構成変更の構文を確認します。次の手順を使用して確認します。

$ 須藤 nginx –t

構成ファイルの構文が正しいことを確認した後、Nginx をリロードして更新された構成をロードします。

$ 須藤 systemctl reload nginx

これで、Certbot は適切なサーバー ブロックを自動的に見つけて更新できるようになりました。 systemctl は、systemd システムとサービス管理の検査と管理を担当します。これは System V init デーモンの代わりとして機能し、いくつかのシステム管理ライブラリ、ツール、およびデーモンで構成されています。

ファイアウォール経由で HTTPS を有効にする

必要な推奨事項では、UFW ファイアウォールを有効にすることをお勧めします。 HTTPS トラフィックを許可するように設定を変更する必要があります。

UFW ステータス オプションを使用すると、UFW の最新の状態を表示できます。 UFW がアクティブな場合、UFW ステータスには規制のリストが表示されます。もちろん、必要な資格情報を持っている場合は、root ユーザーとして、またはコマンドの前に sudo を付けてのみ、コマンドを実行できます。

Nginx Full プロファイルを有効にし、不要な Nginx HTTP プロファイル許可を削除して、HTTPS トラフィックも許可します。

前のスニペットは、Nginx からの完全なトラフィックを許可する方法を示し、2 番目のスニペットは、許可した他のトラフィックを削除する方法を示しています。

SSL 証明書を取得する方法

プラグインの助けを借りて、Certbot は SSL 証明書を取得するいくつかの方法を提供します。 Nginx の構成と構成のリロードは、必要に応じて Nginx プラグインによって処理されます。

Certbot を利用して、ドメインの SSL 証明書をすぐに取得します。ドメインを示すには、「-d」引数が必要です。 Let’s Encrypt によって、www サブドメインとルートに対して 1 つの証明書が発行されます。いずれかのバージョンの証明書を 1 つしか持っていないと、訪問者が他のバージョンを表示した場合にブラウザーで警告が表示されるため、両方のバージョンの証明書を取得する必要があります。新規ユーザーの場合、certbot は最初に電子メールを提供し、利用規約に同意することを確認するよう求めます。

これが成功した場合、選択を行って ENTER を押すように求められます。構成を更新した後、Nginx はリロードして新しい設定を考慮します。終了後、certbot は手順が成功したことを知らせます。

結論

このガイドでは、Let’s Encrypt ソフトウェア certbot をインストールして利用する方法、SSL 証明書を取得する方法、SSL 証明書の自動更新を設定する方法、および Nginx を構成する方法について説明しました。さらに、Let's Encrypt Digital Ocean の使用時にコンパイルの問題が発生する可能性のある状況の例もいくつか提供しました。