本日のガイドでは、Linuxで自己署名SSL証明書を生成する方法と、Apacheでそれらを実装する方法について説明します。インターネットの普及に伴い、SSLはますます重要になっています。無料のLet’sEncrypt証明書が誰でも使用できる商品になっているため、SSLを使用しない理由はありません。検索ランキングの利点は言うまでもなく、ブラウザと検索エンジンがサイトを信頼するという事実もあります。
ただし、サーバー上でプライベートに使用するために、独自の自己署名SSL証明書を生成することもできます。これを行う大きな理由の1つは、暗号化です。個人証明書はブラウザにとって何の意味もありません。訪問者がサイトに直接アクセスすると警告メッセージが表示されますが、少なくとも「man-in-the-middle」攻撃から保護されていることを確認できます。自己署名証明書は、サーバーでテストを行っているだけで、ドメイン名がまだない場合に適した最初のステップです。
ステップバイステップの手順から始めましょう。 Linuxで自己署名SSL証明書を作成する方法。
目次
ステップ1:RSAキーペアを作成する
独自の自己署名SSL証明書を生成する最初のステップは、Linux / CentOSで「openssl」パッケージを使用してRSAキーペアを作成することです。これを行うには、パッケージがインストールされていることを確認してください。そうでない場合は、次のコマンドを使用してインストールします。
sudo yum install openssl
システムですでに使用可能になっている可能性があります。これで、関係なくインストールする必要があります。パッケージがシステムにインストールされていることを確認したら、次のコマンドを使用してキーペアを生成します。
openssl genrsa -des3 -passout pass:x -out keypair.key 2048
このコマンドは2048ビットの暗号化を使用し、次のファイルを出力します。 keypair.key
、次に示すように:
ご覧のとおり、キーが生成され、現在のディレクトリに配置されています。
ステップ2:秘密キーをに抽出します。 「httpd」フォルダ
/etc/httpd
フォルダは、オペレーティングシステムがすべての重要なSSL関連アイテムを保持する場所です。まず、すべてのファイルを保持する新しいフォルダを作成しましょう。秘密鍵に関連するもの:
sudo mkdir /etc/httpd/httpscertificate
フォルダをhttpscertificate
と呼び、その名前で次のように参照します。他のすべてのコマンドラインの例。フォルダには任意の名前を付けることができます。
作成したキーペアファイルから秘密鍵を抽出するには、foと入力します。 llowing:
openssl rsa -passin pass:x -in keypair.key -out /etc/httpd/httpscertificate/012.345.678.90.key
太字のセクションを自分のサーバーのIPアドレスに置き換えます。または、ドメイン名を使用してサイトにアクセスできる場合は、それも使用できます。
これにより、次のフォルダに.key
ファイルが作成されます。作成したばかりです。このプロセスが完了すると、元のキーペアファイルを削除できます。
rm keypair.key
ステップ3:「証明書署名要求」(CSR)ファイルの作成
キーを使用して、特別な.csr
ファイルを作成できます。このファイルは、自分で署名するか、「認証局」に送信できます。標準化された形式であり、前の手順のキーを使用して簡単に生成できます。作成するには、次のコマンドを入力します。
openssl req -new -key /etc/httpd/httpscertificate/012.345.678.90.key -out /etc/httpd/httpscertificate/012.345.678.90.csr
ここでも、太字の項目を、手順2で決定したIPアドレスまたはドメイン名に置き換えます。このコマンドを実行すると、ツールは場所や組織名などの個人情報の一部を要求します。
CA(Certificate Authorityの略)は、これらの詳細を使用して、本人であることを確認できます。できるだけ多くの情報をフィールドに入力してみてください。
これらの詳細の入力が完了すると、ツールは作業を終了し、.csr
この目的のために作成したディレクトリ内のファイル。
ステップ4:証明書「.crt」ファイルの作成
CSRを使用して、最終的な証明書ファイルを次のように作成できます。次に、.csr
ファイルと.key
ファイルを使用して.crt
ファイルを作成します。
これにより、他のすべてのファイルと同じ場所に.crt
ファイルが作成されます。自己署名SSL証明書を生成する方法がわかりました。次のスクリーンショットをご覧ください。セキュリティフォルダ内の最終ファイル:
次に、これらのファイルがどこにあるかをApacheに通知する必要があります。
ステップ5:ファイルを使用するようにApacheを構成する
ここで行う必要があるのは、生成された自己署名証明書がある場所をApacheに表示することだけです。まず、次のコマンドを使用してmod_ssl
パッケージをインストールする必要があります。
sudo yum install mod_ssl
完了すると、 ssl.conf
ファイルは/etc/httpd/conf.d/
フォルダー内にあります。このデフォルトファイルを変更する必要があります。お好みのテキストエディタを使用してください:
sudo vi /etc/httpd/conf.d/ssl.conf
次に、次で始まる行が見つかるまで下にスクロールします:
SSLCertificateFileSSL CertificateKeyFile
次に示すように、証明書ファイルとキーファイルへのパスでデフォルトパスをそれぞれ変更します。
変更を保存します。次のコマンドでApacheを再起動します。
sudo apachectl restart
これで完了です! Apacheを再起動すると、生成された自己署名SSL証明書を使用してSSL接続を許可するように構成されます。
次回HTTPS経由でIPアドレスに接続すると、そうではないという警告が表示されます。信頼できる証明書:
大丈夫です。自分で署名したので、これを知っています!続行すると、実際のWebサイトに移動します:
ここでは、作成した証明書を使用していることがわかります。あなたの身元を確認できないため、あなたのサイトにアクセスする他の人にはあまり役に立ちません。しかし、あなたはそれが安全であり、さらにそれが暗号化されていることを知っています。中間者攻撃はありません!
独自の自己署名SSL証明書を生成し、ApacheWebサーバーに実装する方法をマスターしました。
管理対象の1つである場合VPSホスティングクライアント。追加費用なしでこれらすべてを実行できます。システム管理者に連絡するだけで、できるだけ早くリクエストに応答します。