OpenSSLを使用してLinuxでSSL証明書を生成する方法
SSL / TLS証明書を生成するプロセスは、多くのLinuxシステム管理者にとって一般的なタスクです。幸い、管理者でなくても、多くのLinuxディストリビューションにデフォルトでインストールされているオープンソースツールであるOpenSSLを使用して簡単に管理できます。ここでは、OpenSSLとは何か、それをインストールする方法、そして最も重要なこととして、OpenSSLを使用してシステムでSSLおよびTLS証明書を生成する方法について説明します。
OpenSSLとは何ですか?
OpenSSLは、ネットワークトラフィックの暗号化のためのオープンソースSSLおよびTLS実装を提供するためにOpenSSLプロジェクトによって開発されたライブラリです。さまざまなUnixベースのディストリビューションですぐに利用でき、証明書、RSA秘密鍵の生成、および一般的な暗号化関連のタスクの実行に使用できます。
OpenSSLを使用してSSL証明書を生成する場合、それは「自己署名」と見なされます。これは、SSL証明書が認証局(CA)からではなく、独自の秘密鍵で署名されていることを意味します。
そのため、SSL証明書は「信頼」できず、公開サイトには使用しないでください。使用すると、ユーザーはブラウザから証明書に関する警告を表示する可能性があります。
自己署名証明書は、ローカル開発や、インターネットに面していないバックグラウンドで実行されているアプリに役立ちます。
または、LetsEncryptを使用するか、ComodoCAなどの信頼できる機関によって検証された証明書を取得することもできます。
ほとんどのLinuxディストリビューションには、デフォルトでOpenSSLのバージョンがすでに組み込まれています。そうでない場合は、簡単にインストールできます。
apt
を使用して、UbuntuとDebianにインストールできます。 コマンド:
sudo apt install openssl
CentOS(またはその代替)では、yum
を使用してインストールできます コマンド:
sudo yum install openssl
Webサイトから「.tar.gz」ファイルとして簡単にダウンロードすることもできます。
OpenSSLがインストールされたので、プログラムが提供する基本的な機能のいくつかを見ることができます。
まず、OpenSSLのインストールに関するバージョンおよびその他の関連情報を表示します。
openssl version -a
提供されているマニュアルを確認できます:
openssl help
OpenSSLを使用した証明書の生成は、さまざまな方法で可能です。そのうちの1つは、組織に関する詳細を指定する構成ファイルを使用することです。
まず、「config.conf」という構成ファイルを作成し、Nanoを使用して編集します。
sudo nano example.conf
構成ファイルの内容の例を次に示します。
[req] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext x509_extensions= v3_ca distinguished_name = dn [dn] C = US ST = California L = Los Angeles O = Org OU = Sales emailAddress = [email protected] CN = www.org.test.com [ v3_ca ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always basicConstraints = CA:true [req_ext] subjectAltName = @alt_names [alt_names] DNS.1 = test.example.com
これをコピーしてファイルに貼り付け、組織の情報を反映するために必要な変更を加えることができます。
次に、RSA秘密鍵を生成する必要があります。これは、ルート証明書の生成に使用されます-:
openssl genrsa -out example.key 2048
-out
この場合、フラグは、生成されるキーの名前を指定するために使用されます。 RSAキーのデフォルトである2048ビットのキーサイズも指定されています。
また、証明書署名要求(CSR)を生成する必要があります:
openssl req -new -key example.key -out example.csr -config example.conf
この場合、-key
フラグは、RSAキー、-out
を指定するために使用されます フラグは、CSRファイルの名前と-config
を指定します フラグは、構成ファイルの名前を指定するために使用されます。
この後、最終的な証明書を生成するために使用されるルート証明書を生成できます。
openssl req -x509 -sha256 -nodes -new -key example.key -out example.crt -config example.conf
このルート証明書を生成する過程で、-sha256
フラグは、メッセージダイジェストとしてSHA256を指定するために使用されます。
これで、最後のステップとして、最後に次のように入力して証明書を生成できます。
openssl x509 -sha256 -CAcreateserial -req -days 30 -in example.csr -extfile example.conf -CA example.crt -CAkey example.key -out final.crt
-CA
フラグはルート証明書、-CAkey
を指定します フラグは秘密鍵と-extfile
を指定します 構成ファイルの名前を指定します。 「final.crt」ファイルは、必要なSSL証明書になります。
または、構成ファイルなしでOpenSSLを使用して証明書を生成することもできます。
RSA秘密鍵を生成することから始めることができます:
openssl genrsa -out example.key 2048
次に、CSRを生成する必要があります:
openssl req -new -key example.key -out example.csr
CSRを生成するときに、組織に関する質問に回答するように求められます。
最後に、証明書自体を生成できます:
openssl x509 -req -days 30 -in example.csr -signkey example.key -out example.crt
キーと証明書は、OpenSSLを使用して-check
で簡単にチェックおよび検証できます。 フラグ:
openssl rsa -check -in example.key
証明書署名要求を確認できます:
openssl req -text -noout -in example.csr
および証明書も:
openssl x509 -text -noout -in example.crt
1。それでもHeartbleedについて心配する必要がありますか?
Heartbleed(CVE-2014-0160)は、2014年にOpenSSLで見つかった古い脆弱性です。TLSサーバーとOpenSSLを実行しているクライアントの両方が影響を受けました。パッチは発見から数日後にすぐにリリースされました。OpenSSLの最新バージョンを実行している限り、この脆弱性は2022年に心配する必要はありません。
DebianおよびUbuntuベースのシステムでOpenSSLを使用している場合は、次のコマンドを実行することでいつでも更新できます。
sudo apt update && sudo apt upgrade openssl
2。 SSL証明書は有効期限が切れるまでどのくらい続きますか?
これは、証明書を生成するときに選択した値によって異なります。これは、-days
を使用して指定できます 証明書を生成するときにフラグを立てます。
-
KaliLinuxを使用してAndroidフォンにアクセスする方法
Androidスマートフォンは、多くの場合、ほとんどの商用IoTガジェットへのゲートウェイです。 Nest Smokeアラームは、関連するAndroidアプリを介して管理されます。温度を制御するためのネストサーモスタットもそうです。スマートロック、ドアベルカム–ほとんどすべてのスマートデバイスにAlexaまたは他のマスターアプリからアクセスできます。誰かがそのようなAndroid携帯にリモートアクセスできるとしたらどうでしょうか?これは不可能だと思いますか?このために、KaliLinuxの「metasploit」を使用してAndroidフォンへのバックドアエントリを作成する方法の基本的なデモを
-
LinuxでGPGキーを生成する方法
非表示にしておきたいファイルやメッセージはありますか?それらを安全に保つために、GPG暗号化キーを使用する必要があります。 Linuxを実行している場合、GnuPGがインストールされている限り、GPGを使用してファイルを暗号化するのは簡単です。 いくつかの簡単なターミナルコマンドを使用して、LinuxでGPGキーを生成する方法は次のとおりです。 GnuPGのインストール 最初にGnuPGをインストールすることから始める必要があります。 DebianまたはUbuntuベースのディストリビューションの場合は、ターミナルを開いて次のコマンドを実行します。 sudo apt install gnu