PC/NETのetcetra/2007-11-01
Last-modified: 2007-11-02 (金) 01:26:51 (5992d)
※※このサイトは2012年頃より更新を停止しています。※※
rndcの使用法
BIND9 の named を起動後に、特定のゾーン情報だけを再読み込みさせたい場合などに使用するコマンド。
Red Hat Enterprise Linux 4: リファレンスガイド:章 12章. BIND (Berkeley Internet Name Domain):12.4. rndcの使用法
/proc の使い方
レンタルVPSで kernel.sysrq のエラーが出ていたので検索してたらこんなページを見つけた。
@IT:/procによるLinuxチューニング [前編](2/2)
まだまだ扱いきらんけど。参考までにメモ。
svnクライアント
RapidSVN
Zefard's Labo:カテゴリー:Subversion
MOONGIFT:RapidSVN
オレオレCA局とその利用証明書の設定まとめ
参考:ozupon.com:CentOSでApache2 + mod_ssl鯖の構築!
参考:草原をわたるそよ風の音:opensslで暗号化
参考:CentOSで自宅サーバー構築:Webサーバー間通信内容暗号化(Apache+mod_SSL)
参考:ぬかるむ日々:バーチャルドメインでSSLサーバを運用する
参考:Mac OS XでSSL/TLSサーバ
参考:httpdの設定(ssl.conf) / 参考:SSL(サーバ認証)
参考:SSLによるSecureWWWサーバの構築(CentOS編) / 参考:SSL用証明書の作成(Linux編) / 参考:ブラウザのSSL用設定
参考:安全な RedHat Apache サーバの構築方法
参考:サーバ認証の実現 / 参考:CSRの作成 / 参考:CSRへの署名
参考:ありえるえりあ:opensslコマンドtips
- オレCA局の開設
- openssl付属の生成シェルを使う。
# cd /root # /usr/share/ssl/misc/CA -newca
/root/配下にdemoCA ディレクトリが作成される。
CA 証明書:/root/demoCA/cacert.pem
CA 秘密鍵:/root/demoCA/private/cakey.pem - 作成されたCAの内容確認方法
# openssl x509 -text -in /root/demoCA/cacert.pem # openssl rsa -text -in /root/demoCA/private/cakey.pem
- openssl付属の生成シェルを使う。
- Webサーバ管理者側でCSR(証明書要求)の作成
# openssl req -new -keyout ssl.key/key.pem -out ssl.csr/csr.pem
上記の一発操作で
サーバ側秘密鍵:ssl.key/key.pem
証明書要求:ssl.csr/csr.pem
の両方ができるらしい。
もう一段理解を深めたいと思ったので、俺は下記で生成したもので以降の作業を進めた。- サーバ側秘密鍵作成
# cd /etc/httpd/conf # openssl genrsa -des3 -out ssl.key/www.mydomain.net.key.pem 1024 # openssl rsa -in ssl.key/www.mydomain.net.key.pem -out ssl.key/www.mydomain.net.key
これでできた〜〜.keyは、パスフレーズ無しで使える。 - 秘密鍵を利用してCSRを作成する。
# openssl req -new -key ssl.key/www.mydomain.net.key -out ssl.csr/www.mydomain.net.csr
これでできる〜〜.csrの中には、公開鍵情報と証明したい情報との両方が含まれる。
- サーバ側秘密鍵作成
- CA局側でCSRに署名
openssl.cnf にCAの証明書発行ポリシーの通りにCA証明書やCA秘密鍵を配置してあれば、下記のみで証明書の発行ができるらしい。# openssl ca -out cert.pem -infiles ssl.csr/www.mydomain.net.csr
しかし俺はopenssl.cnfをいじりたくなかったので、最初にopenssl付属のシェルで作った/root/demoCA/private/cakey.pem を使って下記のようにして発行した。# openssl x509 -in ssl.csr/www.mydomain.net.csr -out ssl.crt/www.mydomain.net.crt -req -signkey /root/demoCA/private/cakey.pem y -days 365
そしたら、ssl.key/www.mydomain.net.crt の公開鍵と一致しない ssl.crt/www.mydomain.net.crt ができあがった(ノд`)なんでかー?
しゃーないので/usr/share/ssl/openssl.cnf の [ CA_default ] の項、「dir」の値を上述した /root/demoCAに直して openssl ca 〜ほにゃらら〜 を実行した。そしたら公開鍵一致した。なんか悔しい。x509でできると思ったのに。
んまぁ、openssl ca で作成する方が、失効リストとかのDBも同時に自動で更新してくれるみたいだし、このやり方をちゃんと身につけておくことの方が先決だね。 - Webサーバ側でCA署名済み証明書を適宜配置
httpd.conf に適宜記述する。俺の場合のミソは下記。ServerName www.mydomain.net:443 DocumentRoot /var/www/https SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mydomain.net.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/www.mydomain.net.key
httpdをリスタートして、正常に動いてればオッケイ。x509 certificate routines:X509_check_private_key:key values mismatch
とかメッセージが出たら、それは上述したパスにあるファイル同士の公開鍵情報に不一致があるということ。つまり証明書を作り直すべき。 - ブラウザでWebサーバにhttps接続して確認
「webサイトが未知の認証局によって認証されています」的なメッセージが出たら、とりあえず成功。 - オレCA証明書をブラウザに取り込み
CA局側で下記のコマンドを実行してCA証明書をブラウザでダウンロードできる形式に書き出す。# openssl x509 -inform pem -in /root/demoCA/cacert.pem -outform der -out /root/demoCA/ca.der
これをどうにかしてブラウザの動作する端末に取り込んで証明書のインストールする。
HTTPでダウンロードさせるなら、httpd.confに記述する内容としては下記。AddType application/x-x509-ca-cert .der
- ブラウザでWebサーバに接続して確認
上記で作成した ca.der をブラウザにインポートする。
その上でSSL対応サイトにアクセスして、「未知の認証局」とか「認証エラー」がでなければ成功。
- 【その他:openssl Tips】
- 秘密鍵から公開鍵の内容を確認する。
# openssl rsa -text -in private.key -pubout
その秘密鍵から公開鍵を生成する。# openssl rsa -text -in private.key -pubout -out public.key
- 証明書署名要求の内容を確認する。
# openssl asn1parse -in server.csr
- 証明書に埋め込まれている公開鍵の内容を確認する。
# openssl x509 -in site.crt -pubkey
- 秘密鍵から公開鍵の内容を確認する。
コメントはありません。 コメント/PC/NETのetcetra/2007-11-01