Apache CentOS7にSSL証明書をインストールする方法
はじめに
SSL証明書は、公開暗号化キーの所有権を証明する小 認証局(CA)は、キーが証明書に記載されている組織、サーバー、またはその他のエンティティに属していることを保証します。
ユーザーがブラウザを介して認証されたウェブサイトにアクセスすると、情報は一意の公開鍵で暗号化されます。 データは、ホストサーバー上にある一意の秘密キーを使用してのみ復号化できます。 この高レベルの暗号化により、情報への不正なアクセスが防止されます。
このチュートリアルでは、CentOS7にSSL証明書をインストールする方法を学びます。
前提条件
- sudo権限を持つユーザー
- コマンドラインへのアクセス(Ctrl-Alt-T)
- CentOS7マシン
- サーバーを指すDNSを持つ有効なドメイン名
SSL証明書を取得する方法
:
- Let’S Encryptプロジェクトなどの自動化された無料の認証局を使用します。
- 商用認証局は有料で証明書を提供しています(Comodo、DigiCert、GoDaddy)
- または、自己署名証明書を作成することもできます。 このタイプの証明書は、テスト目的や開発環境での使用に役立ちます。
必要な証明書の種類、またはどのCAを選択するかを検討している場合は、SSL証明書、秘密鍵、およびCsrに関する包括的なガイドを用意しています。
注:信頼されたCaは、自己署名証明書を検証しません。 ユーザーは、サーバーのidを自動的に検証するためにこれを使用することはできません。
Let’s Encrypt
でSSL証明書をインストールするLet’s Encryptは、無料でオープンで自動化された認証局です。 Certbotソフトウェアツールを使用して、証明書を自動的に管理します。
Certbotは高度に自動化されたツールです。 Apacheのインストールが有効であり、ドメイン用に仮想ホストが設定されていることを確認してください。 ファイアウォールとバーチャルホストの設定を支援する必要がある場合は、まずCentOS7にApacheをインストールする方法についてのチュートリアルをお読みください。
Certbotインストール
1. コマンドターミナルを使用してEPELリポジトリとyum-utilsをインストールします:
sudo yum –y install epel-release yum-utils
2. 次に、ApacheのSSLをサポートするモジュールをインストールします:
sudo yum -y install mod_ssl
この例では、モジュールの最新バージョンが既に利用可能です。
3. Certbot for Apacheをインストールできるようになりました:
sudo yum –y install python-certbot-apache
4. インストールがそのコースを実行したら、次のように入力して証明書を取得するプロセスを開始できます:
sudo certbot –apache –d yourdomain.com
または、次のように入力してcertbotを起動します:
sudo certbot
5. クライアントは、電子メールアドレスを提供し、サービス利用規約を読んで同意するように求められます。 Certbotは、サーバー上で使用可能なドメインを一覧表示します。 フィールドを空白のままにして、特定のドメインまたはそれらのすべてのHTTPSを有効にします。
次のプロンプトを使用すると、すべての要求にHTTPSアクセスを保護するように強制できます。
選択が完了すると、端末のメッセージにより、ドメインの暗号化が有効になっていることが確認されます。
自動証明書更新
Let’S Encryptが発行した証明書は90日間有効です。 Certbot renewコマンドは、インストールされている証明書をチェックし、有効期限から30日未満の場合は更新を試みます。 このプロセスを自動化するには、コマンドを定期的に実行するcronジョブを作成します。
任意のテキストエディタを使用して、renewコマンドを実行する頻度を定義します:
sudo crontab -e
この行を入力してcrontabを保存します:
* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1
Comodo
でSSL証明書をインストールする方法1. 最初の手順は、証明機関に証明書署名要求を送信することです。 OpenSSLを使用して証明書署名要求(CSR)を生成する方法に関する詳細なガイドは、このプロセスの支援が必要な場合に優れたリソースです。
2. CAが要求を証明すると、SSL証明書のコピーが届きます。 これで、CentOS7サーバーに証明書をインストールできます。
この例では、有料SSLプロバイダComodoから証明書をインストールする方法を示します。
3. ComodoがCSR要求を確認したら、SSLファイルをダウンロードします。 それらをコピーします(ComodoRSACA.crt)とプライマリ証明書(yourdomain.crt)、Apacheサーバーディレクトリに。 CSR(証明書署名要求)プロセス中に生成された秘密キーは、同じサーバー上にある必要があります。
SSL用のバーチャルホストの設定
Aftrドメインを正常に証明し、サーバー上にキーファイルを配置しました。
1. SSL構成ファイルへのアクセス:
sudo nano /etc/httpd/conf.d/ssl.conf
2. サーバー上の正しいファイルを指すように構成ファイルを編集します。
セクション<Virtualhost_Default_:443>の下にある次の行のコメントを解除し、正しいファイルパスを入力します:
- DocumentRoot”/var/www/yourdomain.com”
- サーバー名yourdomain.com: 443
- SSLEngine on
- SSLCertificateFile–証明書ファイルのパス。SSLCertificateKeyFile-キーファイルのパス。SSLCertificateChainFile-中間コモド証明書ファイル。
3. 必要な変更を加えた後、ファイルを終了し(Ctrl+X)、yキーを押して変更を保存します。
4. 再起動する前にApacheの設定をテストします。 次のように入力して、構文が正しいことを確認します:
sudo apachectl configtest
5. システムが構文が正しいことを確認したら、Apacheを再起動します:
sudo systemctl restart httpd
これで、SSL証明書を使用するようにApacheサーバーを設定しました。
自己署名SSL証明書の作成方法
自己署名証明書は、テスト、開発環境、イントラネット上で役立ちます。
1. Let’S Encryptと同様に、mod_ssl ApacheモジュールはSSL暗号化をサポートしています:
sudo yum –y install mod_ssl
2. 秘密鍵を格納する新しいディレクトリを作成します:
sudo mkdir /etc/ssl/privatekey
3. そのディレクトリへのアクセスをrootユーザーのみに制限します:
sudo chmod 700 /etc/ssl/privatekey
4. このOpenSSLコマンドを使用して自己署名証明書を生成します:
sudo openssl req -x509 -new -newkey rsa:2048 -nodes -days 365 -keyout /etc/ssl/privatekey/ yourdomain.key -out /etc/ssl/certs/yourdomain.csr
これは、要素の詳細な概要です:
- openssl-OpenSSLソフトウェアをアクティブにします
- req-CSRが必要であることを示します
- –x509-X.509署名要求を使用するように指定します
- -new–newkey-新しいキーを生成します
- rsa:2048-2048ビットRSA数学キーを生成する
- -nodes–NO DES,意味PKCS#12ファイル内の秘密キーを暗号化しない
- –days365–証明書が
- に対して有効である日数-keyout–
- のキーを生成しているドメ
注:yourdomainを実際のドメインに置き換えてください。
5. システムはあなたが記入するためのアンケートを起動します。
利用可能なフィールドに情報を入力します:
- 国名–2文字の国コードを使用する
- 州-ドメイン所有者が
- に組み込まれている州地域–ドメイン所有者が
- に組み込まれている都市組織名–ドメ945>共通名–ほとんどの場合、完全修飾ドメイン名(fqdn)
- メールアドレス–連絡先メールアドレス
- チャレンジパスワード–あなたのための任意のパスワードを定義 キーペア
画像はCentOS7のアンケート例を表しています。
6. 新しい証明書を表示するように仮想ホストを構成する手順に進みます。 このプロセスは、第2章SSL用の仮想ホストの構成で説明されている手順と同じです。
7. 再起動する前にApacheの設定をテストします。 構文が正しいことを確認するには、次のように入力します:
sudo apachectl configtest
8. システムが構文が正しいことを確認したら、Apacheを再起動します:これで、自己署名SSL証明書を使用するようにApacheサーバーを設定し、SSLを有効にしてサイトにアクセスできるようになりました。
SSL証明書が有効かどうかを確認するには?
SSL証明書が有効かどうかを確認するには、SSLサーバーテストなど、公開されているサービスを使用できます。 証明書のステータスを確認し、すべての詳細が正しいかどうかを確認します。
または、https://を使用してWEBサイトにアクセスして、SSL証明書が表示されているかどうかを確認します。 緑色の南京錠は、追加の暗号化レイヤーが存在することを示します。
結論
これらの手順に従って、SSL証明書を実装することにより、CentOS Linuxディストリビューションのwebサイトのトラフィックを保護しました。
新しいSSL証明書は、webサーバーとブラウザの間で渡すすべてのデータがプライベートで安全なままであることを保証します。