Pocket

opensslを使った確認コマンドの利用例

  • add this entry to hatena bookmark

CentOSに限らず UNIX系OSで幅広く導入されているopensslを使って、コマンド確認する際の例を記載しています。

記載している内容は数パターンのみですが、opensslコマンドは奥が深くて色々できそうです。

1.サーバ側に導入されている証明書を確認

クライアント側として、指定したサーバ側のSSL証明書の導入状況を確認する事が可能です。

「xxx.example.com」の 443 ポートに対して、証明書情報を確認する場合のコマンド例は以下です。

$ openssl s_client -connect xxx.example.com:443 -showcerts

中間証明書やサーバ証明書なども確認できます。

2.サーバ側との接続状況を確認

クライアントとサーバとの接続状況を以下のコマンドで確認できます。

$ openssl s_client -connect xxx.example.com:443 -state

接続状況やサーバ証明書が表示され、デバッグ作業などで使いやすいかもしれません。

3.openssl Cipher Suite の一覧確認

最近、SSLv3の脆弱性で、SSLv3の無効化が進められていますが、
CentOS側でSSLサーバ処理を行う場合に、導入されている Cipher Suite(暗号アルゴリズムの組み合わせ)の一覧を確認できます。

「openssl ciphers」コマンドは、openssl の Cipher Suite 名だけを表示します。

「openssl ciphers -v」コマンド(-v を付ける)は、Cipher Suite 名だけではなく、暗号アルゴリズムの内容も含めて一覧で表示される為、見やすいです。(大文字の -V オプションもあり。)

$ openssl ciphers -v
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
(省略)

それぞれ、表示順はサーバ側での優先順位となります。

また、コマンドには様々なオプション指定が可能です。
例えば、ハッシュ「SHA256」をピックアップしたい場合は、「openssl ciphers -v SHA256」とします。

$ openssl ciphers -v SHA256
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256
ADH-AES256-SHA256       TLSv1.2 Kx=DH       Au=None Enc=AES(256)  Mac=SHA256
AES256-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA256
(中略)
AES128-SHA256           TLSv1.2 Kx=RSA      Au=RSA  Enc=AES(128)  Mac=SHA256
NULL-SHA256             TLSv1.2 Kx=RSA      Au=RSA  Enc=None      Mac=SHA256
$

例えば、ハッシュ「SHA1」を除外したい場合は以下など。

$ openssl ciphers -v 'ALL:!SHA1'

オプション指定方法は色々あるようですので、必要に応じて調べてみていただくと良いかと思います。

 

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。