(再まとめ) CAの構築とサーバ証明書・クライアント証明書の作成

OpenSSLを使用して、CAを立てて、サーバ証明書とクライアント証明書を作成する手順を再度まとめておくことにします。 合わせて、期限切れ時などの証明書更新時には、期限切れになった証明書を無効化する必要がありますので、その手順もまとめておきます。

■作成日 2015年12月29~31日に作成しているという設定。

■仕様 全体の仕様として、デフォルトだとSHA1になるメッセージダイジェストをSHA2に強化。この仕様は、下記ファイルで設定しておくことにする。 (1) CAスクリプト /etc/pki/tls/misc/CA (2) OpenSSL設定ファイル /etc/pki/tls/openssl.cnf

CA: ・有効期間10年3650日 ・鍵の長さ2048bit ・メッセージダイジェストSHA256

サーバ証明書: ・有効期限369日(翌年1月3日まで) ・鍵の長さ2048bit ・メッセージダイジェストSHA256

クライアント証明書: ・有効期限368日(翌年1月3日まで) ・鍵の長さ2048bit ・メッセージダイジェストSHA256

デフォルト設定値: ・countryName_default = JP ・stateOrProvinceName_default = Kanagawa ・localityName_default = Kawasaki ・0.organizationName_default = goofoo

■準備 ディレクトリバックアップ

# cp -pr /etc/pki{,.20161231}

■CA CAスクリプト編集

# cp -p /etc/pki/tls/misc/CA{,.org} # vim /etc/pki/tls/misc/CA # diff /etc/pki/tls/misc/CA.org 続きを読む »

SSL証明書の作成での failed to update database TXT_DB error number2 発生時の対処

SSLのサーバ証明書やクライアント証明書を作成しようとした場合に、次のようなエラーが発生することがあります。

[root ~]# openssl ca -in client.csr -out client.crt Using configuration from /etc/pki/tls/openssl.cnf Enter pass phrase for ../../CA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: (略) Sign the certificate? [y/n]:y failed to update database TXT_DB error number 2

これは、CAに対する証明書要求を一旦 revoke(無効化)してから、再度、SSL証明書の作成を実行すれば、成功します。

[root ~]# openssl ca -revoke /etc/pki/CA/newcerts/00.pem

なお、/etc/pki/CA/index.txt の内容を削除してから、再度実行しても同じ結果が得られます。revoke でうまくいかない場合にも、この方法を試してみてください。 /etc/pki/CA/index.txt の内容削除は次の要領で行います。

続きを読む »

OpenSSLによるSSLサーバ証明書の作成

CentOS 5.6 上で、OpenSSLによるSSLサーバ証明書の作成方法をまとめておきます。

1.CAの作成 [root ~]# cd /etc/pki/tls/misc [root ~]# ll 合計 20 -rwxr-xr-x 1 root root 3758 3月 7 10:48 CA -rwxr-xr-x 1 root root 119 3月 7 10:48 c_hash -rwxr-xr-x 1 root root 152 3月 7 10:48 c_info -rwxr-xr-x 1 root root 112 3月 7 10:48 c_issuer -rwxr-xr-x 1 root root 110 3月 続きを読む »

OpenSSLによるSSLクライアント証明書の作成

CentOS 5.6 上で、OpenSSLによるSSLクライアント証明書の作成方法をまとめておきます。

1.CAの作成 [root ~]# cd /etc/pki/tls/misc [root ~]# ll 合計 20 -rwxr-xr-x 1 root root 3758 3月 7 10:48 CA -rwxr-xr-x 1 root root 119 3月 7 10:48 c_hash -rwxr-xr-x 1 root root 152 3月 7 10:48 c_info -rwxr-xr-x 1 root root 112 3月 7 10:48 c_issuer -rwxr-xr-x 1 root root 110 3月 続きを読む »

ssh用のRSAキーを使うときの基本的な設定

ssh用のRSAキーを使用して、TeraTerm などの sshクライアントからログインするようにする際の基本的な設定をまとめておきます。

設定ファイルは、/etc/ssh/sshd_config です。

基本的な設定箇所は下表の通りです。

設定パラメータ デフォルト値 設定変更値 考え方 Port 22 使用可能な(予約されていない)任意のポート番号 22は知られているので、攻撃を受けやすい。変更することが賢明です。 ListenAddress 無指定 指定 受け付けるIPアドレスを限定した方がいいでしょう。 AuthorizedKeysFile .ssh/authorized_keys 任意 公開キーのファイル名です。ファイル名をデフォルトの設定に合わせればいいと思います。もちろん、変更しても問題はありません。 PasswordAuthentication yes no パスワードログインの許可/不許可の設定です。RSAキーでのログインしかできなくしておくのが、より良いと考えます。

パスワードログイン許可/不許可設定だけは、RSAキーでのログインが確実に行えることを確認してからにしてください。特にVPSなどのクラウド環境を使用している場合には注意が必要です。