SSL証明書とは何ですか?
時間の経過とともに、ハッカーが悪意のある目的でユーザーデータを盗むために24時間体制で作業を続けているため、インターネット関連のセキュリティ侵害の事例が増えています。 SSL証明書は、主にユーザーのブラウザとサーバー間で送信されるデータを暗号化して、目的の受信者のみがアクセスできるようにするためにWebサイトサーバーにインストールされるデジタル証明書です。暗号化しないと、情報はプレーンテキストデータとして送信され、ハッカーによって簡単に傍受される可能性があるため、これは非常に重要です。
このため、ほとんどのeコマースストアやPayPalなどのオンライン金銭支払いプラットフォームはWebサイトを暗号化します。 SSL証明書は認証も可能にし、情報がハッカーではなく適切なサーバーに送信されることを保証します。
Googleは安全なサイトが好き
SSL証明書は、Googleでサイトを上位にランク付けするのに役立ちます。 Googleの発表によると、SSL暗号化サイトは、安全ではないと見なされているサイトよりもランクが高くなります。保護されたサイトは、URLバーの南京錠と、HTTPではなくhttpsが前に付いたURLで表されます。サイトに安全なHTTPS拡張機能がない場合、GoogleはサイトのURLを「安全ではない」と表示します。これは、
サイトのランキングに悪影響を与える可能性があります。
UbunutuでSSL認証を暗号化するNginx
この記事では、Ubuntu18.04でSSLを暗号化してNginxを保護する方法を見ていきます。 Let’s Encryptは、Let’sEncrypt機関が提供する無料の自動SSLです。 2018年までに、Let’sEncryptは1億5000万を超えるウェブサイトを保護しました。
始めて、Ubuntu18.04でSSLを暗号化してNginxを保護する方法を見てみましょう。
前提条件
開始するには、次のものがあることを確認してください。
- sshアクセスを使用するUbuntuサーバー18.04のサーバーインスタンス
- sudo権限でのroot以外の使用
- サーバーのIPアドレスを指すAレコードを持つ完全修飾ドメイン名(FQDN)
この例では、ドメイン名 crazytechgeek.infoを使用します。 これは、IPアドレスが 18.191.46.130のVPSを指している 。
ステップ1.Nginxのインストール
まず、NginxWebサーバーをインストールします。ただし、最初に、root以外のユーザーとしてログインし、次のコマンドを実行して、システムを更新します。
$ sudo apt update
次に、次のコマンドを使用してNginxをインストールします。
$ sudo apt install nginx
出力 :
インストールしたら、次のコマンドを実行してNginxが実行されていることを確認します。
$ sudo systemctl status nginx
出力 :
すごい! Webサーバーをインストールしたので、次のステップに進みましょう。
ステップ2.Certbotをインストールします
サーバーにCertbotをインストールしましょう。この例では、更新されたすべてのファイルを含むUbuntuソフトウェアリポジトリを使用します。 Certbotリポジトリを追加するには、次のコマンドを実行します。
$ sudo add-apt-repository ppa:certbot/certbot
出力 :
Certbotのインストール
加えられた変更をシステムリポジトリに認識させるには、システムを更新してください。
$ sudo apt update
ステップ3.CertbotNginxパッケージをインストールします
次に、CertbotNginxパッケージをインストールします。これを実現するには、以下のコマンドを実行します。
$ sudo apt-get install python-certbot-nginx
出力
ステップ4.HTTPSトラフィックを許可するようにファイアウォールを更新する
SSLがポート443を使用して機能するには、ファイアウォールを通過するHTTPSトラフィックを許可する必要があります。最初にファイアウォールのステータスを確認しましょう。
$ sudo ufw status
出力
ファイアウォールを有効にする前に、まずHTTPとHTTPSの両方を処理する「NginxFull」を許可しましょう。
$ sudo ufw allow 'Nginx Full'
出力
ここで、ufwファイアウォールを有効にしましょう。プロンプトが表示されたら「y」を押します。
$ sudo ufw enable
出力
ルールがファイアウォールに追加されたかどうかを確認しましょう。
$ sudo ufw status
出力
Ufwステータスアクティブ
ステップ5.SSL証明書の生成
最後の部分は、Let’sEncryptSSL証明書の生成です。これを実現するには、以下の構文を使用します。
$ sudo certbot --nginx -d example.com -d www.example.com
これにより、example.comおよびwww.example.comで有効なSSL証明書が生成されます。
私たちの場合、私たちは持っているでしょう;
$ sudo certbot --nginx -d crazytechgeek.info -d www.crazytechgeek.info
出力
Certbotを初めて実行する場合は、最初に電子メールアドレスを入力するように求められます。
次に、Let’s Encryptサーバーとの通信が開始され、証明書を要求しているドメインを制御していることを確認しようとします。
次。 Aを押して、利用規約に同意します。
次に、自分のメールアドレスをEFFと共有するかどうかを尋ねられます。ここで、オプトインするかオプトアウトするかを決めることができます。
次のステップは、すべてが重要な場所です。これは、HTTPをHTTPSリクエストにリダイレクトする必要があるポイントです。 2番目のオプションを選択します。
すべてがうまくいった場合は、すべてがうまくいったことを確認するメッセージが表示されます。
素晴らしい!これで、NginxWebサーバーにSSLを暗号化できます。
これを確認するには、ブラウザでサーバーのアドレスに移動して更新します。
最初にURLがHTTPからHTTPSに変更されていることに注意してください。 SSL証明書の詳細を表示するには、南京錠の記号をクリックして、[証明書]オプションを選択します。
出力
Let'sEncryptのSSL証明書を更新
証明書の有効期間は90日です。これは、更新が3か月後に行われることを意味します。自動化の更新は、Let’sEncryptによって自動的に行われます。更新プロセスをテストするには、図のようにCertbotを使用してドライランを実行します。
sudo certbot renew --dry-run
エラーがなければ、すべてが計画どおりに進み、必要に応じての自動更新が行われます。 CAの有効期限に関するすべてのメッセージは、構成時に指定された電子メールアドレスに送信されます。