OpenSSLのコマンドで有効な暗号スイートを確認。 [Linux]
SSL/TLSのどの暗号スイートが有効か調べたかったんだけど、社内のシステムにつき
https://www.ssllabs.com/ssltest/index.html
のような外部サイトがつなげない。
そういう時にopensslコマンドを使えばいいんだけど、網羅的に使おうとすると面倒で…
https://qiita.com/ionis_h/items/277430a8807ee09c8b46
ここではRubyスクリプトを提示しているんだけど、Ruby入れるのがしんどいのでシェルスクリプトでやってみた。全然opensslコマンドを編集していないので冗長すぎるけど、必要ならばGrepとかしてほしい。
https://github.com/miffy/ssl_ciphers.sh/blob/main/ssl_ciphers.sh
どこから取ってきたのか忘れたけど、ワンライナーでもそこそこできる。
こんな感じなんだけど、つなげない暗号スイートの名前が出てこないので一覧にはできない。ただgrepしているところがピンポイントなので、かなり簡潔な物にはなる。使える暗号スイートを調べるだけならこれでOK。
というかTLS使うのまんどう臭い。でも、最近はGoogleのページ評価の関係でHTTPSを使うのがデフォルトになっているので、使わないわけにはいかなくなってきてはいる。
https://www.ssllabs.com/ssltest/index.html
のような外部サイトがつなげない。
そういう時にopensslコマンドを使えばいいんだけど、網羅的に使おうとすると面倒で…
https://qiita.com/ionis_h/items/277430a8807ee09c8b46
ここではRubyスクリプトを提示しているんだけど、Ruby入れるのがしんどいのでシェルスクリプトでやってみた。全然opensslコマンドを編集していないので冗長すぎるけど、必要ならばGrepとかしてほしい。
https://github.com/miffy/ssl_ciphers.sh/blob/main/ssl_ciphers.sh
#!/bin/bash HOST="localhost:443" echo $HOST LF=$'\n' # 暗号スイートを列挙し配列の中に入れる OLD_IFS=$IFS IFS=: CIPHER_ARR=(`openssl ciphers`) IFS=$OLD_IFS # openssl s_clientコマンドで各暗号スイートの確認 for (( i=0; i < ${#CIPHER_ARR[@]}; i++ )) do echo "<<< "${CIPHER_ARR[i]}" >>>"$LF openssl s_client -connect ${HOST} -cipher ${CIPHER_ARR[i]} < /dev/null echo $LF done
どこから取ってきたのか忘れたけど、ワンライナーでもそこそこできる。
$ openssl ciphers -v | awk '{print "s_client -connect localhost:443 -cipher " $1}' | xargs -L 1 openssl 2> /dev/null | grep "Cipher is" | grep -v "NONE"
こんな感じなんだけど、つなげない暗号スイートの名前が出てこないので一覧にはできない。ただgrepしているところがピンポイントなので、かなり簡潔な物にはなる。使える暗号スイートを調べるだけならこれでOK。
というかTLS使うのまんどう臭い。でも、最近はGoogleのページ評価の関係でHTTPSを使うのがデフォルトになっているので、使わないわけにはいかなくなってきてはいる。
コメント 0