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

scpコマンド


たまに出てくる作業なのでメモメモ。
サーバ間でのファイルのコピーとかに非常に便利。


【コマンドサンプル】
scp /home/hoge/* hoge@192.168.1.1:/home/hoge/
passwordを入力


【雛形】
scp (ディレクトリがある場合は-rオプション) (ローカル場所) (ユーザ名@ホストアドレス):ホスト場所
ローカルのファイルたちを、ホスト先にアップロードするイメージ。


あと、シンボリックリンクの設定もよく忘れるからメモメモ。


ln -fs ファイル実体 シンボリック・リンク名

おすすめ!お取り寄せグルメ!その2

おいらの大好物の中の大好物!!


ニューミュンヘン赤鶏の唐揚げ
オンラインショップはココ


ここの唐揚げ喰ったら、ケンタッ○キーのフライドチキンなんて食えません。


中学生の時に兄貴とよく難波のミュンヘンに行って、生ビールのデラックスジョッキ飲みながら唐揚げを喰らってたのも思ひ出。

今度結婚式で神戸に帰るから食いにいくぞぉ。

phpで暗号化

RIJNDAELで暗号化を試してみました。

環境に[libmcrypt]を入れる必要があるので、以下よりソースをDL。

SourceForge

■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オプションは、PHPApacheで実行するために必要みたい。お約束として認識。
これで、libmcryptのインストールは終了。


■次にphpを再コンパイルします。

・その前に念のため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 supportenabled
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


DirectiveLocal ValueMaster Value
mcrypt.algorithms_dirno valueno value
mcrypt.modes_dirno valueno value


■最後にソースのサンプル


$key = "shinpu_key"; // 共通鍵

$data = "My Name is Shinpu"; // 暗号化する文字列



// 暗号化

$td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");

$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);

mcrypt_generic_init ($td, $key, $iv);

$encrypted_data = mcrypt_generic ($td, $data);

mcrypt_generic_end ($td);

var_dump("暗号 = " . $encrypted_data."\n");



// 復号化

$td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");

$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);

mcrypt_generic_init ($td, $key, $iv);

$decrypted_data = mdecrypt_generic ($td, $encrypted_data);

mcrypt_generic_end ($td);

var_dump("復号 = " . trim($decrypted_data)."\n");

?>


もっと詳しく知りたい方は、ココとか参照。
「サルベージュ美智子」って誰やねん!?

びわ湖マラソン

久々に興奮しました!
日曜日に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 が解凍!!

今日のグラフ
Road to 70Kg
昨日と変わらず。
明日は送別会で飲んじゃいそう。。。
誰かおいらが飲みすぎてたら制御してねorz