PoundでSSL
Pound でSSLラッパする方法をメモしておきます。
参考サイト:@IT
開発環境などで、なんちゃってSSL環境が必要な場合、簡単に設定できちゃいます。
(本番運用では、OpenSSL / mod_ssl などのSSLモジュールを使用し、正当な認証局から発行されたSSL Keyで実装しませう。)
■ソースファイルを取得〜インストール
cd /usr/local/src
wget http://www.apsis.ch/pound/Pound-2.0.6.tgz
tar xvfz Pound-2.0.6.tgz
cd Pound-2.0.6
./configure
make
make install
■証明書の作成
cd /usr/local/etc
openssl genrsa -des3 -out server-key.pem 1024
←パスフレーズ入力(自由に)
openssl rsa -in server-key.pem -out server-key.pem
openssl req -new -key server-key.pem -x509 -out pound.pem
:パスフレーズ
:国名:JP
:県名:(Enter)
:市名:(Enter)
:組織名:HOGEHOGE
:サブ組織名:(Enter)
:共通名:(Enter)
:e-mail:(Enter)
(Enter はデフォルトになるらしい)
// パスフレーズを書き込んだ秘密鍵ファイルでPound用のサーバ証明書を完成させる
cat server-key.pem >> pound.pem
■設定ファイルを作成
// 以下の内容のファイルを作成
vi pound.cfg
#LogLevel value
# Specify the logging level: 0 for no logging, 1 (default) for regular logging, 2
# for extended logging (show chosen backend server as well), 3 for Apache-like
# format (Common Log Format with Virtual Host) and 4 (same as 3 but without the
# virtual host information).
LogLevel 0
#Alive value
# Specify how often Pound will check for resurected back-end hosts (default: 30
# seconds). In general, it is a good idea to set this as low as possible - it will
# find resurected hosts faster. However, if you set it too low it will consume
# resources - so beware.
Alive 10
#LogFacility value
# Specify the log facility to use. value (default: daemon) must be one of the sym-
# bolic facility names defined in syslog.h. This facility shall be used for log-
# ging (if Pound was compiled with support for syslog).
#LogFacility daemon
ListenHTTPS
Address 192.168.1.1
Port 443
Cert "/usr/local/etc/pound.pem"
AddHeader "X_SSL: pound"
Service
BackEnd
Address 192.168.1.1
Port 443
End
End
End
■起動Shellの作成
cd /etc/rc.d/init.d
以下の内容のファイルを作成
vi pound
#! /bin/sh
#
# chkconfig:35 90 25
#
# /etc/rc.d/init.d/pound
#
### BEGIN INIT INFO
# Provides: pound
# Required-Start: $network $syslog
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Starts pound reverse proxy
### END INIT INFO
POUND_BIN=/usr/local/sbin/pound
POUND_PID=/var/run/pound.pid
POUND_CONF=/usr/local/etc/pound.cfg
if [ ! -x $POUND_BIN ] ; then
echo -n "Pound not installed ! "
exit 5
fi
. /etc/rc.d/init.d/functions
RETVAL=0
case "$1" in
start)
echo -n $"Starting pound "
daemon $POUND_BIN
RETVAL=$?
[ $RETVAL = 0 ] && touch /var/lock/subsys/pound
echo
;;
stop)
echo -n $"Shutting down pound "
killproc $POUND_BIN
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/pound && rm -f $POUND_PID.*
echo
;;
restart)
$0 stop
$0 start
;;
status)
echo -n "Checking for Pound "
status $POUND_BIN
;;*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
exit $RETVAL
■自動起動設定
chmod 755 pound
cd ../rc3.d
ln -sf ../init.d/pound S84pound
cd ../rc5.d
ln -sf ../init.d/pound S84pound
■Poundの起動
/usr/local/sbin/pound
■Poundのプロセスを確認
ps -aef | grep pound
phpで暗号化
RIJNDAELで暗号化を試してみました。
環境に[libmcrypt]を入れる必要があるので、以下よりソースをDL。
■libmcryptをインストールします。
・アーカイブを解凍(/usr/local/src 下にソースを保管)
# tar xvzf libmcrypt-2.5.8.tar.gz |
・コンパイル-インストールします。
# cd libmcrypt-2.5.8 # ./configure --disable-nls --disable-posix-threads # make # make install |
Configureオプションは、PHPとApacheで実行するために必要みたい。お約束として認識。
これで、libmcryptのインストールは終了。
・その前に念のためphp.iniをバックアップ
# cp /usr/local/lib/php.ini /usr/local/lib/php.ini.backup |
・config.status よりConfigureオプションの履歴を参照
# ./configure --with-pear \ # ・ # ・ # ・ # --with-mcrypt |
インストールが完了したら、Apacheを再起動。
※念のため、diffでバックアップしたphp.ini.backと比較した方がいいかも。
また、ZendPlatformを使用している場合は、ZendPlatformも再インストールした方がいいかもです。
して、php_info();で「mcrypt」があることを確認。
mcrypt
mcrypt support | enabled |
---|---|
version | >= 2.4.x |
Supported ciphers | cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes |
Supported modes | cbc cfb ctr ecb ncfb nofb ofb stream |
Directive | Local Value | Master Value |
---|---|---|
mcrypt.algorithms_dir | no value | no value |
mcrypt.modes_dir | no value | no value |
■最後にソースのサンプル
$key = "shinpu_key"; // 共通鍵 |
もっと詳しく知りたい方は、ココとか参照。
「サルベージュ美智子」って誰やねん!?
びわ湖マラソン
久々に興奮しました!
日曜日にNHKでしてた「びわ湖毎日マラソン」に、おいらの中学の同級生が出場してました。
大阪ガスの「渡邊浩二」。
浩二の兄貴の「渡邊真一」は、一こ上の先輩。
兄弟で出場してたんやけど、注目の「小島兄弟」よりやっぱり「渡邊兄弟」でしょ!!
解説の人も、もっと「渡邊兄弟」のことをいじってほしかった。
浩二が11位、真一君が16位やったけど、30Kmまで本命がどんどん脱落していく中、「もしかして、、、兄弟で1・2フィニッシュ!?いっちゃうの!?優勝しちゃうの!?」と興奮しっぱなしでした。
こんなすげぇ奴と一緒に走ってたんやなぁ、、俺。。。とっても励みになりやした!!
と、おいらも同じ陸上部の長距離でしたね。
もう過去の栄光orz
よく考えたら、旭化成の渡辺共則さんとも走ったことあるんやなぁ、、俺。。。
もう今やメタボリックな俺ってどうよ。。。
う〜mmmm、がんばりますorz
p.s.)浩二へ。結婚おめでとう♪式楽しみにしてるでぇ。
おすすめ!お取り寄せグルメ!その1
ひさびさの書き込みですorz
ここ最近熱中していたものがあったので、ブログはさぼってました。
ということで、今日は「安くて旨い!」おすすめお取り寄せグルメを紹介します。
鮭ハラスのトロトロ脂身と明太子の辛みが絶妙にマッチし、ごはんのお供にもよし、酒の肴にもよしです!
200gパックで420円とお得で、日持ちもするのでこれは是非一度お試しあれ!
一つネックは送料が840円することやなぁ。。。
Special Thanks to Atsuko-mama !
いつも忘れる、、tarコマンド
いつもどっちが圧縮でどっちが解凍なのか迷ってしまうのでメモします。
記憶力乏しくなってきた。。。
■圧縮 (書庫)
tar czf archive.tar.gz dir_path
■解凍(取り出し)
tar xzf archive.tar.gz
vオプションをつけると、アーカイブサイズによって時間がかかる。
最後にもう一度、、、c が圧縮!! x が解凍!!