はじめに
SSL証明書は、公開暗号化キーの所有権を証明する小さなデータファイルです。認証局(CA)は、キーが証明書にリストされている組織、サーバー、またはその他のエンティティに属していることを保証します。
ユーザーがブラウザを介して認定されたWebサイトにアクセスすると、情報は一意の公開鍵で暗号化されます。 データは、一意の秘密鍵を使用することによってのみ復号化できます ホストサーバーにあります。この高レベルの暗号化により、情報への不正アクセスを防止します。
このチュートリアルでは、CentOS7にSSL証明書をインストールする方法を学びます。
前提条件
- sudoを持つユーザー 特権
- コマンドラインへのアクセス(Ctrl-Alt-T)
- CentOS7マシン
- サーバーを指すDNSを持つ有効なドメイン名
SSL証明書を取得する方法
証明書を取得するには、いくつかの方法があります。
- Let’sEncryptプロジェクトなどの自動化された無料の認証局を使用します。
- 商用認証局は有料で証明書を提供します(Comodo、DigiCert、GoDaddy)
- または、自己署名証明書を作成することもできます。 このタイプの証明書は、テスト目的または開発環境での使用に役立ちます。
必要な証明書の種類や選択するCAをまだ検討している場合は、プロセスを支援するためのSSL証明書、秘密鍵、およびCSRの包括的なガイドを用意しています。
Let'sEncryptを使用してSSL証明書をインストールする
Let’s Encryptは、無料のオープンな自動認証局です。 certbotを使用します 証明書を自動的に管理するソフトウェアツール。
Certbotは高度に自動化されたツールです。 Apacheのインストールが有効であり、ドメイン用に仮想ホストが構成されていることを確認してください。ファイアウォールと仮想ホストの構成についてサポートが必要な場合は、最初にCentOS7にApacheをインストールする方法に関するチュートリアルを読む必要があります。
Certbotのインストール
1.コマンドターミナルを使用してEPELをインストールします リポジトリとyum-utils :
sudo yum –y install epel-release yum-utils
2.次に、SSLforApacheをサポートするモジュールをインストールします。
sudo yum -y install mod_ssl
この例では、モジュールの最新バージョンがすでに利用可能です。
3.これで、 certbotをインストールできます Apacheの場合:
sudo yum –y install python-certbot-apache
4.インストールがコースを実行したら、次のように入力して、証明書を取得するプロセスを開始できます。
sudo certbot –apache –d yourdomain.com
または、 certbotを起動します 次のように入力します:
sudo certbot
5.クライアントは、電子メールアドレスを提供し、利用規約を読んで同意するように求めます。次に、Certbotは、サーバーで使用可能なドメインを一覧表示します。フィールドを空白のままにして、特定のドメインまたはすべてのドメインのHTTPSを有効にします。
次のプロンプトでは、すべてのリクエストにHTTPSアクセスを保護するように強制できます。
選択すると、端末のメッセージで、ドメインの暗号化が有効になったことを確認できます。
証明書の自動更新
Let’sEncryptによって発行された証明書は90日間有効です。 certbot更新 コマンドは、インストールされている証明書をチェックし、有効期限が30日以内の場合は更新を試みます。このプロセスを自動化するには、cronジョブを作成します コマンドを定期的に実行します。
好みのテキストエディタを使用して、更新を実行する頻度を定義します コマンド:
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用の仮想ホストの構成
ドメインの認証に成功し、キーファイルをサーバーに配置したら、次のステップは、証明書を表示するように仮想ホストを構成することです。
1. SSL構成ファイルにアクセスします:
sudo nano /etc/httpd/conf.d/ssl.conf
2.構成ファイルを編集して、サーバー上の正しいファイルを指すようにします。
セクション
- DocumentRoot 「/var/www/yourdomain.com」
- サーバー名 yourdomain.com:443
- SSLEngine オン
- SSLCertificateFile –証明書ファイルのパス。
- SSLCertificateKeyFile –キーファイルのパス。
- SSLCertificateChainFile –中間COMODO証明書ファイル。
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数学キーを生成します
- -ノード – DESなし、つまりPKCS#12ファイルの秘密鍵を暗号化しない
- – 365日– 証明書が有効な日数
- -キーアウト –キーを生成するドメインを示します
- -アウト –CSRを含むファイルの名前を指定します
5.システムはあなたが記入するための質問票を起動します。
利用可能なフィールドに情報を入力します:
- 国名 –2文字の国コードを使用する
- 州 –ドメイン所有者が組み込まれている州
- 地域 –ドメイン所有者が組み込まれている都市
- 組織名 –ドメインを所有するエンティティ
- 組織単位名 –証明書を扱う組織内の部門またはグループ
- 一般名 –ほとんどの場合、完全修飾ドメイン名(FQDN)
- メールアドレス –連絡先メールアドレス
- チャレンジパスワード –キーペアのオプションのパスワードを定義します
この画像は、CentOS7のアンケート例を表しています。
6.新しい証明書を表示するように仮想ホストの構成に進みます。このプロセスは、第2章「SSL用の仮想ホストの構成」で概説されている手順と同じです。
7.再起動する前に、Apache構成をテストします。構文が正しいことを確認するには、次のように入力します。
sudo apachectl configtest
8.構文が正しいことをシステムが確認したら、Apacheを再起動します。
sudo systemctl restart httpd
これで、自己署名SSL証明書を使用するようにApacheサーバーが設定され、SSLを有効にしてサイトにアクセスできるようになります。
SSL証明書が有効かどうかを確認する方法
SSL証明書が有効かどうかを確認するには、SSLサーバーテストなどの公開されているサービスを利用できます。証明書のステータスを確認し、すべての詳細が正しいかどうかを確認します。
または、 https://を使用してWebサイトにアクセスします SSL証明書が表示されているかどうかを確認します。緑の南京錠は、暗号化の追加レイヤーが存在することを示します。