2004-02-01 暇を見て作ってる
新サーバーのインストールメモその2
◆ [Unix] ssl-apacheの証明書の作り方
認証局鍵(ca.key)生成 openssl genrsa -out ca.key 1024
認証局証明書(ca.crt)作成 openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Common Nameには認証局のIPを入れる。
サーバー鍵(server.key)生成: openssl genrsa -out server.key 1024
証明書署名要求(server.csr)作成: openssl req -new -key server.key -out server.csr
次のスクリプト(sing.sh)を使って、sing.sh server.csrとする
つか、mod_sslのpkg.contrib/sign.shだ。
#!/bin/sh
##
## sign.sh -- Sign a SSL Certificate Request (CSR)
## Copyright (c) 1998-2001 Ralf S. Engelschall, All Rights Reserved.
##
# argument line handling
CSR=$1
if [ $# -ne 1 ]; then
echo "Usage: sign.sign.csr"; exit 1
fi
if [ ! -f $CSR ]; then
echo "CSR not found: $CSR"; exit 1
fi
case $CSR in
*.csr ) CERT="`echo $CSR | sed -e 's/\.csr/.crt/'`" ;;
* ) CERT="$CSR.crt" ;;
esac
# make sure environment exists
if [ ! -d ca.db.certs ]; then
mkdir ca.db.certs
fi
if [ ! -f ca.db.serial ]; then
echo '01' >ca.db.serial
fi
if [ ! -f ca.db.index ]; then
cp /dev/null ca.db.index
fi
# create an own SSLeay config
cat >ca.config <[ ca ]
default_ca = CA_own
[ CA_own ]
dir = .
certs = \$dir
new_certs_dir = \$dir/ca.db.certs
database = \$dir/ca.db.index
serial = \$dir/ca.db.serial
RANDFILE = \$dir/ca.db.rand
certificate = \$dir/ca.crt
private_key = \$dir/ca.key
default_days = 365
default_crl_days = 30
default_md = md5
preserve = no
policy = policy_anything
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
EOT
# sign the certificate
echo "CA signing: $CSR -> $CERT:"
openssl ca -config ca.config -out $CERT -infiles $CSR
echo "CA verifying: $CERT <-> CA cert"
openssl verify -CAfile ca.crt $CERT
# cleanup after SSLeay
rm -f ca.config
rm -f ca.db.serial.old
rm -f ca.db.index.old
# die gracefully
exit 0
できた、server.keyをSSLCertificateKeyFileで、server.crtをSSLCertificateFileで指定
◆ [Unix] Apacheのログをmultilogに取らせる
http://fc.to/ituki/software/unix/rdfifo.cからプログラムを落として、gcc -Wall -o rdfifo rdfifo.cでコンパイル。
cp rdfifo /usr/local/bin として、コピーしておく。
ユーザhttpd-logr,httpd-logを作っておく。
/service/.httpd-errorを作って、中にrunというファイルを入れる。
内容はこんな感じ
#!/bin/sh
exec 2>&1
exec /usr/local/bin/setuidgid httpd-logr /usr/local/bin/rdfifo \
/var/log/httpd/error.log
/service/.httpd-error/logの中のrunファイルはこんな感じ
#!/bin/sh
exec /usr/local/bin/setuidgid httpd-log /usr/local/bin/multilog t s1024000 n64 \
/var/log/httpd/error
で、mkfifo /var/log/httpd/error.log として作ってやり、chgrp httpd-logr error.log chmod 640 error.logとする。
で、apacheのログ書き出し先を/var/log/httpd/error.logにする。
これをログ取る個数分だけ繰り返し作ってやればOK。
◆ [日記] mass256のアンテナさんに
捕捉されてるΣ
しかし…アクセス元にあったhttp://www.dmz/はさすがにどうかと思われる。
ブロードバンドルーターか何かの設定画面からとんだんだろーけど(笑)
referer の件、失礼致しました。即、 referer はずしました。
宍写而、捕捉されてるねw<br>というか節操ないな、この日記のネタw
>massさん<br>問題なしですよ~ヽ(´ー`)ノ<br>むしろどんどんやってください(笑)