2006年06月06日

システム管理者の心得? 〜 OpenSSLコマンドで証明書をチェック

はてなブックマークに登録

サーバの管理なんぞしていると、「SSLのサイト作りたいからこの証明書を設置して欲しい」などと言われることは日常茶飯事・・・とまではいきませんが普通にあることだと思います。
でも、せっかく安全に気を配ってサーバに転送して設置して設定しても、「実はもらったファイルは違う鍵ファイルだった」なんて事はありませんか? まあ・・・実際あんまりないんですけど、そんな事があったら気が滅入って寝込んでしまいそうになるので、実環境へ持って行く前に軽く動作チェックをするようにしています。


やりかたとしては、Apachemod_ssl いれてブラウザでアクセス・・・でもいいんですが、それだと気が短い人には耐えられないので、以下のようなコマンドを叩きます。


$ openssl s_server -cert [ファイル名] -key [秘密鍵ファイル名]
Using default temp DH parameters
ACCEPT



こうなれば成功です。WEBサーバに鍵ペアを持って行ってもきっとちゃんと動いてくれる事でしょう。
この状態は、openssl がポート 4433 番ポートで接続待ちをしている状態です。
(詳細は man s_server を参照してください)

試しにブラウザを起動して https://localhost:4433/ に接続してみましょう。
ブラウザには何も表示されませんが、s_server を起動したコンソールには


GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Host: localhost:4433
Connection: Keep-Alive



こんな感じのメッセージが流れるはずです。(HTTPリクエストですよねこれ)
これは、ブラウザからの HTTPS接続を openssl s_server が受け、SSLハンドシェイクが成功して正常に暗号化通信ができている様子です。応答を返していないのでブラウザに何もでませんが、コンソールにHTTPレスポンスを流してあげれば、そのままブラウザに表示されます。

接続確認にブラウザを使うのも面倒だというCUIな方は、別なコンソールで以下のコマンドを叩いてみるのはいかがでしょうか。


$ openssl s_client -connect localhost:4433



ハンドシェイクの様子が流れて入力待ちになります。
ここで入力したテキストは s_server 側に出力され、s_server 側で入力されたテキストは s_client 側に表示されます。まあ、簡易チャット的な雰囲気が味わえるわけです。

で、なんとなく話がそれてしまいましたが、openssl コマンドだけで、証明書が使えるかどうかを簡単に手元でチェックすることができます。

s_client をうまく利用すると、SSL サイトのヘルスチェックや、証明書の期限切れチェックの自動化などにも利用できそうですね。

klab_gijutsu2 at 22:29│Comments(1)TrackBack(1)

トラックバックURL

この記事へのトラックバック

1. 証明書をサーバに設定する前にチェックする  [ パソコン鳥のブログ ]   2014年09月27日 23:18
下記の記事で、以前サーバ証明書の作成方法を説明しました。

この記事へのコメント

1. Posted by yk   2006年06月15日 16:51
s_server のオプションに -www を付けておけば、s_server のステータス情報を返してくれるみたいです。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント
最新トラックバック
Archives