nDiki : Zebedee

2001年5月8日 (火)

Zebedee で念願の secure connection 達成

とあるサーバへの接続(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 はそれが可能だ)が、面倒になってくるのでそこまではいいにする。

スポンサード リンク
[ 5月8日全て ]

2004年6月11日 (金)

Unison + Zebedee

記事「Unison で展示会機器のセットアップ」に、

wtnabe 2004-06-10 15:51:09 rsync もまともな認証とは呼べないような気がしますが。。。同じことをするなら tcpwrapper を使うって形になるんでしょうけど、Zebedee などで認証を掛けるともっと融通が利いてなおかつセキュアなんじゃないでしょうか。

という貴重なコメントをいただく。

Zebedee 最近使ってなかったな。ホスティングサーバ(FreeBSD)がSSH接続を提供してくれていなかった時は、Linux BOX からZebedee 経由で telnet したりmirror したりしていた。

ちなみに今回の用途では、通信路の暗号化はあまり重視していない(社内ネットワークで、対象ファイルはもともと皆が閲覧できるものだし、端末の前にも座れるから)。

Unison Soket メソッドでのサーバ側の問題

  • 認証なし
  • 接続ホストによるアクセスコントロール不可
  • 同期対象となるローカルファイルの制限不可。

というのが問題。

c:ドライブ全体(だけでなく全てのドライブ)をパスワード無しで「読み書き可能なWindowsファイル共有」しているような感じであり、気持ち悪い。

rsync サーバの認証

  • パスワード認証。平文では流れない。パスワードファイルは自体は平文で管理。
  • 接続ホストによるアクセスコントロール可。
  • 同期対象となるローカルファイル/ディレクトリは指定される。

平文でパスワードが流れることはないし、Unison でもこれぐらいの認証ができれば今回の用途では十分という感じ。

Unison + Zebedee

Windows 同士だと結局一方は Unison を Socket メソッドで起動しなければならない。 そのポートへは認証有のZebedeeトンネルで接続するとして、外部からは直接アクセスできないようにしなければならないので面倒。

Zebedee 自体はナイスなプログラムではあるのだが、Unison と組み合わせには使えないかな。 普段使いには Unison + SSH だし。

Windows

本家に Windows 版もあるのか。 インストーラの形になっているがインストールされる zebedee.exe は単体でも動く。 Unison との連携は別にしても、入れておいて損はないのでこれもUSBメモリにいれておこう。

Internet Connection Firewall (ICF)

Unison + Zebedee がらみで、自分が使っている Windows XP の ICF を試してみる。

「ローカルエリア接続のプロパティ」で「インターネット接続ファイアウォール」をチェック。

このままだとファイル共有できないので(そのホストへだけでなく、他のホストの共有ディレクトリへのアクセスも駄目だった)同「設定...」からサービスを追加。

  • TCP 445 (CIFS)
  • TCP 137,139 (NetBIOS)
  • UPD 137,138 (NetBIOS)
[ 6月11日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.049588s / load averages: 0.19, 0.36, 0.44
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker