とあるサーバへの接続(pop, telnet, ftp)がセキュアではないのでずっと不安なのだが、ルート権限がないので sshd も動かせない。 以前 sshd を一般ユーザで動かそうとしたのだが、その時は失敗。
今回 Zebedee を知ったので試してみることにした。Zebedee はフリーのセキュアなトンネルプログラム。 設定無しで動く/Windows上でも動く/通信の圧縮あり/特許問題なし/GPLあたりが特長。
Debian GNU/Linux ではまだパッケージ化されていないようなのでソースからビルド。 インストールに必要なライブラリも一応一緒に作ることにする(Zebedee の Makefile が Zebedeeアーカイブをを展開先の親ディレクトリに各ライブララリパッケージを展開してある事を前提としているので、その方が楽)。
Zebedee のサイトからソースパッケージと必要なライブラリ(zebedee-2.2.1.tar.gz, blowfish-0.9.5a.tar.gz, zlib-1.1.3.tar.gz, bzip2-1.0.1.tar.gz を作業ディレクトリにとってくる。
ビルドする環境は Debian GNU/Linux、インストール先を /usr/localzebedee-2.2.1 とする。
$tar zxvf blowfish-0.9.5a.tar.gz $cd blowfish-0.9.5a $make optimize $cd .. $tar zxvf zlib-1.1.3.tar.gz $cd zlib-1.1.3 $./configure $make $cd .. $tar zxvf bzip2-1.0.1.tar.gz $cd bzip2-1.0.1 $make $cd .. $tar zxvf zebedee-2.2.1.tar.gz $cd zebedee-2.2.1 $make OS=linux $make install OS=linux ROOTDIR=/usr/local/zebedee-2.2.1 $cd doc_jp $make $make install ROOTDIR=/usr/local/zebedee-2.2.1
でインストール終了。ローカルでテストしてみる。
zebedee -s でサーバを起動。 telnet サーバをたちあげていないので smtp にトンネリングしてみる。 zebedee localhost:smtp でクライアントを起動。
zebedee(4621/1024): Listening on local port 3401
と表示されたので telnet localhost 3401 で接続してみる。 成功。
ということで次は接続先のサーバ(FreeBSD)にインストール。 zebedee の make で OS=freebsd にするのと、ROOTDIRを $HOME/local/zebedee-2.2.1 にする以外は同じ。
で今度はローカルからFreeBSDサーバへ接続してみる。 FreeBSD 側で zebedee -s。 失敗。
zebedee(50819/5152): ERROR: can't resolve host or address 'localhost'
あちゃ。localhost でひけないか。 zebedee -s 実際のサーバ名 で起動する。
クライアント側から telnet で接続してみる。 zebedee 実際のサーバ名:telnet でクライアントを起動。
zebedee(8807/1024): Listening on local port 2324
と出たので telnet <i>実際のサーバ名</i> 2324 で telnet 接続。 成功。
やほ。成功。 問題は Zebedee サーバが落ちたときに telnet で入って起動しなおさなければならない事。 ま、しょうがないかなぁ。 cron まわして落ちていたら再起動するようにするかな……
次は pop の設定。 fetchmail で zebedee を利用するようにする。 fetchmail-with-zebedee.conf に
defaults no mimedecode pass8bits poll popサーバ名 protocol pop3 via localhost user ユーザ名 password パスワード fetchall
と書いておき、
$zebedee -e "fetchmail -f fetchmail-with-zebedee.conf --port %d" popサーバ名:pop3
を実行。%d がトンネルのローカルポートに置換されて fetchmail が実行されるのでこれでトンネルを開いて pop する事ができる。 もちろん、ローカルポート番号を指定して Zebedee クライアントを起動しておいて、fetchmail の設定ファイルにそのポート番号を指定しておいても可能。
とりあえずこれである程度安心。 接続が横取りされているかチェックするには Identity Checking をしなければならない(し Zebedee はそれが可能だ)が、面倒になってくるのでそこまではいいにする。
やはり気楽に一言書く場所が欲しくなって日記ページを作ることにした。 ちなみにここは日記ではなくて日誌であるという、ささやかな主張をしていたりする*1。 コンピュータ関連のまとまった情報はこのコンピュータ日誌にて公開し続けるつもり。
本日誌は、自前のスクリプトで生成しているが日記の方はハイパー日記システム(hns)を使う事にした。 国内では結構メジャーな GPL2 なWeb 日記システム。 ドキュメントもウィットにとんでいてイケてる。
今回のインストール戦略は、
とする。 まずさっそく hns2 をパッケージインストールし、/usr/bin/hnssetup2 を実行。 インタラクティブに設定を答えていく。
タイトル: Naney's Diary URL: http://www.naney.org/personal/diary/hns/ Mail: naney@naney.org mail2nikki用 To: naney@naney.org(一応入力) mail2nikki用 From: naney@naney.org(一応入力) mail2nikki用 パスワード: xxxxxxxx(一応入力) 検索フォーム: N(最初は) テーマ: japanese 星野アンテナ登録: Y 日記ディレクトリ: サーバのホームディレクトリ/diary ウェブ日記ディレクトリ: サーバのWeb公開ディレクトリ/personal/diary/hns
これで一旦'サーバのホームディレクトリ/diary'と'サーバのWeb公開ディレクトリ/personal/diary/hns'に、設定ファイルや CGI スクリプトがコピーされるので、これをホームディレクトリの適当なところに移動する。
後は config.ph を少し編集して終了。 日記データと、CGI スクリプト等をアップロードしパーミッションとかを変更する。 後は問題なく動作。
検索の追加とか、レイアウトの変更はおいおいということで。
遅ればせながらアンテナもたてたし、日記もつくった。 さすがに掲示板は立てる気、今のところないなぁ。
[ Naney's Diary ] [ コンピュータ日誌 ]
tito 氏より、記事「WiKicker と GNU GPL」にいただいたコメントの話
別の話になりますがあるperlプログラムをGPLでもなくartisticでも無いライセンスで配布したいとして、動作にperlのモジュールが必要な場合そのモジュールと一緒に配れるか? というのは興味深い問題な気がします。
CPAN にあがっている多くのモジュールが Perl と同じライセンスを適用しているので、それを前提とすると
CD-ROM 等にモジュールのソース tarball を同梱するのは
ということで、どちらを選択してもOK (The Artistic License を選択する場合は、パッケージを自分のプロダクトだと宣伝してはいけない等の制約あり)。
The Artistic License を選択できる Perl モジュールを使っているだけならば、一緒に配れるんではないでしょうか。
間違えていたらご指摘ください。
tito 氏より、記事「WiKicker と GNU GPL」にコメントをいただいた。
ご承知とは思いますが「本体が GNU GPL だから、配布する場合はその部分も GNU GPL を適用」というのはGPLの条件で配布を受けた人がさらに別の人に配布する場合です。著作者本人はGPLに縛られずに別の条件でライセンスできます。 MySQLではGPLとコマーシャルライセンスの二つのライセンスを顧客の要求に応じて選べるようにしています。だからWiKicker の場合どうしようか? というのが「MySQLとGPL」のお話ですよね。
コメントをいただいた通りである。 WiKicker は(バグレポート等ありがたいコメントをいただだきつつも)コーディングは一人で行ってきている状態なので、幸いライセンスの設定は自由がきく状態である。
今回いろいろ気にしているのは、自分がフリーソフトウェアの作者であると同時に、(組織の一員として)利用の判断、およびもし利用したとしてそれをベースに製品開発を行う立場にあるということ。
「Perl と同じライセンス」にして、かつ「業務時間内にフリーソフトウェア部分のメンテ作業に対する『著作権放棄声明』獲得」がベストか?
フリーソフトウェアを個人で開発しつつ、それを商用ソフトウェアに組む込んでいる他の方々はどうされているのかぜひ知りたいところ。
デスクトップ Windows PC 上でメールを送受信している時は社内で POP3 しか提供されていなくても問題なかったんだけれどノート PC をあわせて使うようになったら、こちらでメール閲覧できなくてちょっと不便してた。 POP3 サーバ上に数日残すようにしておいて両方の端末で受信するというありがちなやり方はイケてないのでローカルに IMAP サーバ立てることにした。
今回は母艦が Windows デスクトップ PC なので Windows 用の IMAP サーバからセレクト。
選んだのは hMailServer。
バージョン 4 までは GPL、バージョン 5 以降はオープンソースではなくなったが free product として提供されている。
POP3 サーバからメールを POP してきてローカルのデータベースに保存し IMAP4 プロトコルでのアクセスを提供してくれるサービスとして動いてくれる。SMTP サーバ機能も持っている。データストアとしては MySQL や PostgreSQL なども選択できるが、パーソナルユースなら embedded されている Microsoft SQL Server が使えるので手間いらずである。
実際使ってみたけれど GUI ベースで特に迷うことなく設定ができ、すぐに使い始めることができた。メール関係のサーバを Linux とかで立てる時は結構神経が磨り減るものだがストレスセットアップできた。ローカルにあった MH 形式のメールを数万通 Sylpheed で IMAP 経由でつっこんだけど今のところ順調。いい感じ。
これで OK。
あとは同じホスト上の MUA からは IMAP サーバとして localhost を指定して設定した ID とパスワードで受信設定を行えば OK。 送信については hMailServer を通さずに普通に送信するように設定し、送信したメールを IMAP 上の Sent フォルダ等に保存するようにしておく。
別のノート PC 等の MUA からは IMAP サーバとして hMailServer を立てている Windows PC のホスト名(等接続できる名前)を指定して同様に設定。
これで hMailServer が定期的にメールを POP3 にて受信してくれるので、あとは各 MUA から hMailServer に接続してメールを読めばよい。IMAP なので既読管理やフォルダ管理なども一元的にできる。
その他 hMailServer にはルールを設定して IMAP フォルダ振り分けしたり、迷惑メールフィルタやウイルスフィルタ設定したりできるので、必要なら設定するとよさそげ。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。