ラベル SSL の投稿を表示しています。 すべての投稿を表示
ラベル SSL の投稿を表示しています。 すべての投稿を表示

2012-12-10

Amazon RDS(MySQL)とのクライアント接続でSSLを利用してみた

まずは、クライアントマシンで公開鍵を入手
https://rds.amazonaws.com/doc/rds-ssl-ca-cert.pemからダウンロード
でもって、クライアント起動時にSSL通信を行う旨指示して接続
mysql -h [RDSサーバのホスト名] --ssl_ca=[公開鍵のパス] -u[接続ユーザ名] -p[接続パスワード]
あとは、本当にSSL通信できているか確認
まずは、サーバ側でSSL通信に対応しているかを確認(接続時にエラーになってないから不要だとは思うけど・・・)
mysql> show variables like '%have_%ssl%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl  | YES   |
| have_ssl      | YES   |
+---------------+-------+
2 rows in set (0.02 sec)
次に、SSL通信されているかを確認
mysql> SHOW STATUS LIKE 'Ssl_cipher';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| Ssl_cipher    | AES256-SHA |
+---------------+------------+
1 row in set (0.01 sec)
値が空白でなければSSLで通信されてるそうですヾ(*・ω・)シ

2012-05-30

SSL証明書の有効期限を監視する

SSL証明書の有効期限が切れてしまい、HTTPSでアクセスできなくなったΣ(゜д゜;)
なんてことにならないようSSL証明書の有効期限を監視できないかと調べてみました。
echo | openssl s_client -connect google.co.jp:443 | openssl x509 -dates -noout
とすれば
depth=2 /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
verify return:1
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority
verify return:1
depth=0 /C=US/ST=California/O=Google Inc/CN=google.com
verify return:1
DONE
notBefore=Jan 17 12:55:04 2012 GMT
notAfter=Jan 17 12:55:04 2013 GMT
みたいな出力が得られて、notBeforeってのが期限開始日時、notAfterってのが期限満了日時のようです。
$data=`echo | openssl s_client -connect google.co.jp:443 | openssl x509 -dates -noout`
notBefore=`echo -e "$data" | grep notBefore | sed -e "s/notBefore=//"`
notAfter=`echo -e "$data" | grep notAfter | sed -e "s/notAfter=//"`
time1=`date -d "$notBefore" "+%s"`
time2=`date -d "$notAfter" "+%s"`
nb=`expr $start_run - $time1`
na=`expr $time2 - $start_run`
nb=`expr $nb / 86400`
na=`expr $na / 86400`
みたいな感じで整形してあげれば
$nbが期限開始日からの経過日数
$naに期限満了日までの日数
が入るので、この値をチェックしてメールを飛ばす仕組みなんかを作っておくと良さそうですヾ(*・ω・)シ

2011-03-24

Firefox4を入れたらSSL(https)接続でエラーがでる場合の対処方

いつものようにhttpsのページにアクセスしようとしたら次のようなエラーが出て表示できなくなってしまいました。
Renegotiation is not allowed on this SSL socket.
(エラーコード: ssl_error_renegotiation_not_allowed)

ぐぐってるとそれっぽい解決法があったので紹介。
アドレスバーにabout:configと入れて、出てきた設定ページでフィルタのところにreneみたいな感じで入力して絞り込み。
security.ssl.allow_unrestricted_renego_everywhere_temporarily_available_pref
をダブルクリックしてtrueにしてやりました。
そうしたら無事接続できましたよヾ(*・∀・)ノ"