IRC を SSL で安全なインターネットを

IRC というのは日常において重要なファクターを占めているにも関わらず平文でやり取りしているという日々に安息はありませんでした。

ということを唐突に思ったのでなんか SSL 通信したいなーと思ったんだけど TiarraSSL対応してないしなーと悩んでたところ stone で楽チンに IRCSSL 化できるらしいのでやってみました。

stone というのはトンネルソフトでサーバ内でポートからポートへパケットを通すということができて結構 port 22 が空いてないときに stone で別のポートから通すなんてことをするんだけど stone 自体がSSL通信を行なえるため tiarra と stone を通してパケットのやり取りができるようになります。これを利用して TiarraSSL に対応させます。

手順

Simple Repeater `stone'

公式からソースを持ってきてコンパイルをします

# cd /usr/local/src/
# 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
# cp stone /usr/local/bin/

Tiarra のポートを 6667 として実際トンネルを掘ってみる

# stone localhost:6667 6668

これで 6668 に繋いでも Tiarra に繋がるようになります。

次に SSL に対応してみる。

# stone localhost:6667 6668/ssl
Jan 22 16:13:09.907727 3086866656 start (2.3e) [28281]
Jan 22 16:13:09.940134 3086866656 SSL_CTX_use_PrivateKey_file(/etc/pki/tls/certs/stone.pem) error:02001002:system library:fopen:No such file or directory

証明書がないって怒られるので作る

# cd /etc/pki/tls/certs/
# make stone.pem

Country Name (2 letter code) [GB]: JP
State or Province Name (full name) [Berkshire]: Tokyo
Locality Name (eg, city) [Newbury]: Akihabara
Organization Name (eg, company) [My Company Ltd]: Akihabara Dennougumi
Organizational Unit Name (eg, section) : pataP
Common Name (eg, your name or your server's hostname) : akiden.com
Email Address []: 

証明書を作る際にいろいろ聞かれるので適当に答える。たぶん、openssl や openssl-devel が必要

もう一度試す。

# stone localhost:6667 6668/ssl &

幸福実現!!!!!

あとは limechat とかで port を 6668 にして SSL接続にチェックを入れれば繋がると思います。