Last-Modified: Mon, 03 Apr 2023 03:42:09 JST
フィードメーター - さかにゃ日記

さかにゃ日記

-- 2003年2月5日分 --
  • あなたはこの日記にアクセスした18,138,087人目のお客様です………けどRSSの普及によりもうあてになりません(ぉ
  • 本日は32,113人目ですね。あなたはこれまでに1回いらっしゃいました。
  • この日記の最新版はこのあたりで読めるようです
  • この日記の更新時間はここから所得してください。
  • RSSはこちらかもしくはこちらから所得してください。後者には日記全文が含まれています。
  • 各種検索エンジンより来られた方は、こちらの日記内検索を利用することでお望みの情報がみつかるかもしれません。
  • 見つからなかったらごめんなさい :-p
あわせて読みたい

さかにゃ日記 Information(臨時連絡):

現在臨時連絡はありません。 まぁ暇なときでかまわないので、 一度くらいは通常のInformationをご覧ください。


この日記中のamazon.co.jpへのリンクはアソシエイト・プログラムが適用されています。

最近さかにゃ日記経由でAmazonで発注していただいた商品リスト


2003/2/5(Wed) [n]

%5 SSL導入メモ Apache2編

_

まずはOpenSSLの導入。FreeBSDには標準で導入されているが、 OpenSSH-portableを導入した際に依存関係で portsからもインストールされているのでこいつを使う。 ついでに最新版にしておこう。この時点でのports最新は 0.9.6h .

marino# portupgrade openssl
_

自前の認証局をたてる。 とりあえずは /usr/local/openssl あたりに openssl.cnf.sample とゆーのがあるので こいつを元にして openssl.cnf を作成。 いぢった場所は以下の通り。セクション+diff書式。 実際のdiffは このあたりに投棄。

[ CA_default ]
< dir		= ./demoCA		# Where everything is kept
> dir		= /usr/local/openssl/chinmaiCA		# Where everything is kept
< default_md	= md5			# which md to use.
> default_md	= sha1			# which md to use.

[ req ]
> default_md = sha1

[ req_distinguished_name ]
< countryName_default		= AU
> countryName_default		= JP
< stateOrProvinceName_default	= Some-State
> stateOrProvinceName_default	= Osaka
> localityName_default		= Osaka-city
< 0.organizationName_default	= Internet Widgits Pty Ltd
> 0.organizationName_default	= Chinmai Network Service

[ usr_cert ]
< # nsCertType = client, email, objsign
> nsCertType = client, email, objsign
< nsComment			= "OpenSSL Generated Certificate"
> nsComment			= "OpenSSL Generated User Certificate"
> keyUsage = nonRepudiation, digitalSignature, keyEncipherment

> [ svr_cert ]
> basicConstraints=CA:FALSE
> nsCertType			= server
> keyUsage = nonRepudiation, digitalSignature, keyEncipherment
> nsComment			= "OpenSSL Generated Server Certificate"
> subjectKeyIdentifier=hash
> authorityKeyIdentifier=keyid,issuer:always
_

で、以下のコマンドを叩く。有効期限は3年にしてみた。

marino# pwd
/usr/local/openssl
marino# mkdir /usr/local/openssl/chinmaiCA/private
marino# openssl req -config ./openssl.cnf -new -x509 -newkey rsa:1024 \ 
? -keyout chinmaiCA/private/cakey.pem \ 
? -out chinmaiCA/cacert.pem -days 1095

pass phraseやら各種設定やらを聞いてくるのでてけとーに答えよう。

これでprivate認証局は完了。

_

次にhttpsサーバ公開用の鍵と証明書発行要求を作成する。

marino# pwd
/usr/local/openssl
marino# openssl req -config ./openssl.cnf -nodes -new -newkey rsa:1024 \ 
?  -keyout httpsd_key.pem -out httpsd_req.pem

ここでのpass phraseは空enterで。 よくない気もするけど、まぁkeyのpermissionに気をつければ大丈夫だろう。 違ってたらごめん。 Common NameはhttpsサーバのFQDNと同じにしておかないと、 IEで警告あがるようだ。 A challenge password とか An optional company name とか聞いてくるけど、 空でええと思う。よくなかったらごめん。 生成された鍵はpermissionを変更しておく。

marino# chmod 600 httpsd_key.pem
_

で、今作った証明書要求から証明書を作成する。 本来VeriSignとかの証明機関にやってもらうべきなんだろうけど、 今回はさっき作ったちんまいCAで。わしを信用しない人間にはサービス提供しない :D

まずはちんまい証明局の環境整備。 serialとか管理できるように。

marino# pwd
/usr/local/openssl/chinmaiCA
marino# touch index.txt
marino# echo "01" > serial
marino# mkdir newcerts

ちんまい認証局でさっきのhttpsd証明書要求から証明書を作成しよう。

marino# pwd
/usr/local/openssl
marino# openssl ca -config ./openssl.cnf -extensions svr_cert \
? -out httpsd_cert.pem -infiles httpsd_req.pem

これでhttps公開用の証明書ができた。 OpenSSLいぢりはここまで。

_

次、Apache2. Apache2系はmod_ssl込みで配布されてるので、有効にしてやればいい。 configure optionに

--enable-ssl --with-ssl=/usr/local/openssl

をつけてやるだけ。

んで、ssl.confの編集。 うちはIPv6含めてNameBasedなVirtualHostを運用してる関係で、 httpd.confも合わせて変更しておいた。 まずはhttpd.conf側で

NameVirtualHost		*

となっていたのを

NameVirtualHost		*:80

に変更。各VirtualHostタグも全て

<VirtualHost *:80>

にしておいた。

それからssl.confの編集。

NameVirtualHost *:443
<VirtualHost	*:443>
DocumentRoot	"/where/to/DocRoot"
UserDir		secure_html
ServerName	chinmai.net:443
ServerAdmin	webmaster@chinmai.net
ErrorLog	logs/error_log
TransferLog	logs/ssl_log

こんな感じ。 で、同じVirtualHostタグの中で さっき作った証明書やら秘密鍵やら証明局やらを指定する。

SSLCertificateFile	/usr/local/apache2/conf/httpsd.crt
SSLCertificateKeyFile	/usr/local/apache2/conf/httpsd.key
SSLCACertificateFile	/usr/local/apache2/conf/chinmai.crt

httpsd.crt, httpsd.key はそれぞれさっきの httpsd_cert.pem, httpsd_key.pem へのSymLink. chinmai.crt は最初に作った cacert.pem へのSymLinkにしておく。

これで

marino# /usr/local/apache2/bin/apachectl startssl

したら稼働するはず。はず。はず。

………まぁ、ダメだったらそれから調べよう(ぉ

_ ちなみに

httpsにて参照できるUserDirをhttpのものと違う設定にしてるので、 最初は suexec-userdir との兼ね合いで寒いことになった。ちういだ。


以上、1日分です。


captured by [さかにゃ] [天野] [クリップ] [栞] [あゆあゆ] [日記バード] [御剣] [nAntenna] [さおりな] [萌黄] [萌黄] [SDB] [SDB] [ヒナノ] [みさき] [南さん] [Read List] [Read List] [みさみさ] [タク] [ヲレ] [つゆだく] [すみれ] [すみれ] [さざなみ] [ひでと] [ダメ] [読んでます] [Serching] [LCR's] [ソリトン] [妄想] [鞠絵] [とがわ] [秋葉] [わ(略)] [ろーかる] [ろーかる] [ろーかる] [あまね] [大空寺] [あくあ] [あくあ] [Ant] [ぷち] [偽善者] [偽善者(全部)] [偽善者(mini)] [いいんちょ] [markun] [NANA] [徒然] [ゆきとさん] [ゆきとさん] [だいばーしてぃー] [片桐雅代] [絆] [とりとめない] [親分] [早期警戒] [早期警戒] [あかりん] [あかりん] [くびわ] [Geiger] [猫耳めいど] [ほ〜り〜] [ひらひら] [LayserV2] [知佳] [naneyHUB] [とりがら] [はるかぜ] [#日記者:*.jp] [ぽっぺん] [雲丹] [あると] [あると] [ひらひら] [halchan] [U-Type21] [らんどすけーぷ] [ぴかにゃん] [ものみやぐら] [名無し] [花咲] [のが] [なつみ] [menchi] [burn] [Pick] [うにょん] [わっちりんく(す)] [あんてな。] [どひゃ] [ふぃーるど] [ぽぽぽ] [しっぽ] [ビビット] [HoLY] [しのぶ] [紗希音] [紗希音]
Prev 2003/2 Next
Sun Mon Tue Wed Thu Fri Sat
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
もっと古いログ
おさかなリンク:
[information] [power] [OPG] [用誤集]
[さかにゃんてな] [検索くん] [tech-memo]
[セキュリティ関連サイト更新情報チェッカ]
Hyper Estraierによる日記内検索

[検索tips]

[dynamic,style:osakana,cache:off]
Powered by Tomsoft Diary System 1.7.3 [TDS]

Copyright(C) 2003 おさかな <osakana@chinmai.net> All rights reserved.

back