Publisher:Psychz Networks,February17,2019
CentOS7サーバーにアクセスする必要があり、まだ設定していない場合は、CentOS7初期サーバーセットアップガイドを実行できます。 また、バーチャルホストを設定するにはApacheがインストールされている必要があります。 前提条件https://www.psychz.net/client/kb/en/installation-of-lamp-stack-on-centos-7.html
以下のチュートリアルでは、SSLを使用してCentos-7でApache Webサーバーを保護する方法を説明します。 私たちは独自の証明書を作成し、それを設定する方法を学びます。 SSLサポートを使用して公開サイトをホストする場合は、信頼できる認証局からSSL証明書を購入する必要があります。
自己署名証明書は、基本的に証明書の作成者によって署名されます。 ローカルサーバーや開発環境のテストに使用できます。 自己署名証明書はwebサイトとブラウザーの間で同じレベルのセキュリティを提供しますが、ほとんどのwebブラウザーは、webサイト証明書が自己署名であ
商用証明書は、信頼できる認証局によって発行された認可された証明書であり、運用環境での使用を強く推奨しています。
自己署名証明書をセットアップするには、システムにmod_ssl Apacheモジュールをインストールする必要があります。
ステップ1: インストールMod SSL
mod_sslはSSL暗号化をサポートするApacheモジュールです。 自己署名証明書を設定する必要があります。
# yum install mod_ssl
これが完了すると、Apacheは再起動後にSSL証明書の使用を開始できます。ステップ2:自己署名証明書を作成する
Apacheが暗号化を使用する準備ができたので、新しいSSL証明書の生成に進むことができます。 証明書の作成時には、サイトに関する基本的な情報が必要になり、サーバーが暗号化されたデータを安全に処理できるようにするキーファイルが添付され
まず、秘密鍵を格納するディレクトリを作成します(証明書ファイルは/etc/ssl/certsディレクトリに格納されます)
# mkdir /etc/ssl/private
私たちは、このディレクトリを”プライベート”セキュリティの目的のためにrootユーザーにのみアクセスできるようにしましょう
# chmod 700 /etc/ssl/private
SSLキーと一緒に証明書を作成しましょう。 これは、追加の”openssl”と一緒に行うことができます
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
– openssl:これは、OpenSSL証明書、キー、およびその他のファイルを作成および管理するための基本的なコマンドラインツールです。
-req-x509:”X.509″は、鍵と証明書の管理のためにSSLとTLSが遵守する公開鍵インフラストラクチャ標準です。
-nodes:これはOpenSSLにパスフレーズで証明書を保護するオプションをスキップするように指示します。 サーバーの起動時に、ユーザーの介入なしにApacheがファイルを読み取ることができるようにする必要があります。 パスフレーズは、再起動するたびに入力する必要があるため、これが起こらないようにします。
-days365:このオプションは、証明書が有効であると見なされる期間を設定します。 私たちはここで一年間それを設定しました。
-newkey rsa:2048:rsa:2048部分は、2048ビット長のRSAキーを作成するように指示します。 “newkey”は、新しい証明書と新しいキーを同時に生成することを指定します。
-keyout:この行は、作成する生成された秘密鍵ファイルをどこに配置するかをOpenSSLに指示します。
-アウト: これにより、作成している証明書をどこに配置するかがOpenSSLに指示されます。
Country Name (2 letter code) :US
State or Province Name (full name) : John Doe
Locality Name (eg, city) : Los Angeles
Organization Name (eg, company) : Psychz Networks
Organizational Unit Name (eg, section) :IT
Common Name (eg, your name or your server's hostname) : Demo_server
Email Address : [email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password :
An optional company name :
作成した両方のファイルは、/etc/sslディレクトリの適切なサブディレクトリに配置されます。ステップ3:SSL証明書を使用するようにApacheを設定する
これで、すべての証明書の準備が整いました。 次に行うことは、新しい証明書を表示するようにApacheを設定することです。
これを行うには、SSL設定ファイルを編集します:
# vi /etc/httpd/conf.d/ssl.conf
で始まるセクションを見つけます。 DocumentRootとServerNameの行のコメントを解除し、例を置き換えます。サーバーのIPアドレスまたはドメイン名を持つcom。
DocumentRoot "/var/www/html"
ServerName www.demo_server.com:443SSLEngine on
次に、SSLCertificateFile行とSSLCertificateKeyFile行を見つけ、証明書の新しい場所で更新します。
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.crt.key
これらの変更を行った後、変更を有効にするためにApacheサービスを再起動します。
# systemctl restart httpd
ステップ4:Apache(HTTPS)サーバーのテスト
セキュアなApache HTTPS webサーバーが機能していることを確認するには、webブラウザを開き、URLを入力しますhttps://demo_server-ip-address。 ブラウザにエラーが表示され、証明書を手動で受け入れる必要があります。 ブラウザが信頼する認証局によって署名された証明書の代わりに自己署名証明書を使用しており、ブラウザが接続しようとしているサーバーのidを ブラウザのid検証に例外を追加すると、新しくセキュリティで保護されたサイトのテストページが表示されます。