RHEL / CentOS7.0でApacheの自己署名SSL証明書とキーを作成する方法


SSL(Secure Sockets Layer)は、Certificate Authority(CA)によって署名されたデジタル証明書を使用して、対称/非対称キーを使用してサーバーとそのクライアント間の安全なデータフローを可能にする暗号化プロトコルです。

  1. Basic LAMP Installation on RHEL/CentOS 7.0

このチュートリアルでは、Red Hat Enterprise Linux/CentOS7.0にインストールされているApacheWebサーバーで Secure Sockets Layer (SSL)通信暗号化プロトコルを設定し、プロセス全体を大幅に簡素化するbashスクリプトの助け。

ステップ1:ApacheSSLをインストールして構成する

1. Apache HTTPサーバーでSSLを有効にするには、次のコマンドを使用して、SSL/TLSサポートに必要なSSLモジュールとOpenSSLツールキットをインストールします。

# yum install mod_ssl openssl

2. SSLモジュールがインストールされたら、 HTTPS デーモンを再起動し、新しいファイアウォールルールを追加して、SSLポート– 443 –がリッスン時にマシンの外部接続に開かれるようにします。状態。

# systemctl restart httpd
# firewall-cmd --add-service=https   ## On-fly rule

# firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. SSL接続をテストするには、リモートブラウザーを開き、 https:// server_IP でHTPSプロトコルを使用してサーバーのIPアドレスに移動します。

ステップ2:SSL証明書とキーを作成する

4.サーバーとクライアント間の以前のSSL通信は、インストール時に自動的に生成されたデフォルトの証明書とキーを使用して行われました。新しい秘密鍵と自己署名証明書のペアを生成するには、実行可能システムパス(/usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin)に次のbashスクリプトを作成します。 :/ sbin:/ bin )。

このチュートリアルでは、/usr/local/bin/パスが選択されていることを確認し、スクリプトに実行可能ビットが設定されていることを確認してから、コマンドとして使用して/etc /に新しいSSLペアを作成します。証明書とキーのデフォルトの場所としてのhttpd/ssl/

# nano /usr/local/bin/apache_ssl

以下のファイル内容を使用してください。

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5.次に、このスクリプトを実行可能にして起動し、ApacheSSL仮想ホストの証明書とキーの新しいペアを生成します。

情報を入力し、サーバーのFQDNと一致する共通名の値に注意してください。仮想ホスティングの場合は、安全なWebサイトに接続するときにアクセスするWebアドレスと一致します。

# chmod +x /usr/local/bin/apache_ssl
# apache_ssl

6.証明書とキーが生成された後、スクリプトは/etc/httpd/ssl/の場所に保存されているすべてのApacheSSLペアの長いリストを表示します。

7. SSL証明書とキーを生成する他のアプローチは、システムに crypto-utils パッケージをインストールし、 genkey コマンドを使用してペアを生成することです。 パテ端末画面。

したがって、この方法は、画面モニターに直接接続している場合にのみ使用することをお勧めします。

# yum install crypto-utils
# genkey your_FQDN

8.新しい証明書とキーをSSLWebサイトに追加するには、Webサイト構成ファイルを開き、 SSLCertificateFile ステートメントと SSLCertificateKeyFile ステートメントを新しいペアの場所と名前に置き換えます。

9.証明書が信頼できるCA–認証局によって発行されていない場合、または証明書のホスト名が接続を確立するホスト名と一致しない場合、ブラウザにエラーが表示され、証明書を手動で受け入れる必要があります。

それでおしまい!これで、RHEL/CentOS7.0のコマンドラインとして apache_ssl を使用して、必要な数の自己署名証明書とキーのペアを生成できます。これらはすべて/etc/httpd /に保持されます。 700 権限で保護されたキーファイルを含むssl/パス。

全著作権所有。 © Linux-Console.net • 2019-2022