HAL

tiarraをstoneでSSL化する

by on 5月.13, 2012(日)17:34, under 未分類


IRC ProxyのtiarraをサーバーにインストールしてIRCやらTwitterのログをとっていて大変満足しているのですが、たった1つだけ不満なことがあります。
tiarraがSSL暗号化接続をサポートしていないことです。SSLでないと発言その他すべて平文でやりとりされます。
そこでstoneを介してIRCサーバーとtiarra、tiarraとローカルPCのクライアント(limechat)間にそれぞれトンネルを掘りSSL化しようというわけです。
サーバーはUbuntu server 11.04です。

まず前段階としてtiarraとstoneを起動したままにするのにscreenをインストールします。

# yum install screen
私の環境ではtiarraはすでにインストールされています。

stoneをインストール。
# wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz
# tar zxvf stone-2.3e.tar.gz
# cd stone-2.3d-2.3.2.7
# make linux-ssl
うちではココでエラーが出たので
# apt-get libcurl4-openssl-dev
再度makeしてまたなにやら出てきましたがどうやらうまくいきました。
# cp stone /usr/local/bin/
# cd

鍵を作成します。
# openssl req -new -outform pem -out stone.cert -newkey rsa:1024 -keyout stone.key -nodes -rand ./rand.pat -x509 -batch -days 356
# cat stone.cert stone.key > stone.pem
# cp stone.pem /etc/ssl/certs/

tiarraにstoneを設定
# vi ~/tiarra/tiarra.conf

227行目あたりです。
name: ircnet
name: 2ch
name: freenode
name: ustream
name: sslstone # 追加

316行目あたりの下に書きます。
sslstone {
server: localhost port: 6669
}

最後にstoneがサーバー起動時自動で起動してscreenで動き続けるようになんちゃってスクリプトを書きます。

tiarraとIRCサーバーの間のトンネル

# vi /etc/init.d/stone

#!/bin/sh
cd /usr/local/bin/
screen -AmdS stone ./stone irc.net:6667/ssl 6669 &

ローカルPCとtiarraの間のトンネル

# vi /etc/init.d/stone-client

#!/bin/sh
cd /usr/local/bin/
screen -AmdS stone ./stone localhost:6667 6668/ssl &

それぞれ実行権限を付与する。

# chmod +x /etc/init.d/stone
# chmod +x /etc/init.d/stone -client

起動スクリプトを追加します。

# update-rc.d -f stone defaults
# update-rc.d -f stone-client defaults

stoneに関する設定は以上です。

stoneを起動するには
/etc/init.d/stone
/etc/init.d/stone-client
とでも実行すればいいでしょう。

tiarraとTwitterIrcGatewayも同様に自動起動するように設定しています。
rebootしてps auxでプロセスを見てみると
root 1532 0.0 0.0 21900 1176 ? Ss May05 0:00 SCREEN -AmdS stone ./stone irc.net:6667/ssl 6669
root 1534 0.0 0.0 21900 1168 ? Ss May05 0:00 SCREEN -AmdS stone ./stone localhost:6667 6668/ssl
root 1535 0.0 0.0 22980 2200 pts/2 Ss+ May05 0:00 ./stone irc.net:6667/ssl 6669
root 1536 0.0 0.0 21900 1172 ? Ss May05 0:13 SCREEN -AmdS tiarra ./tiarra
root 1538 0.1 0.5 208756 21908 pts/3 Ssl+ May05 19:41 /usr/bin/perl ./tiarra
root 1539 0.0 0.0 23408 2860 pts/4 Ss+ May05 0:04 ./stone localhost:6667 6668/ssl

こんな感じです。

後はSSLにチェックしてlimechatで6668につなげばOK。


Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Copyright©HAL 2018 All Rights Reserved.