zebedeeテスト記録

テスト環境

下記の環境で、zebedeeをゲートウエイとして、インターネットから社内LANへの接続を確認しました。

fm309はOCNエコノミーでインターネットに接続し、社内LANへのゲートウエイとして使います。 社内メールサーバはどちらも社内LANに接続していて、インターネットにはつながっていません。 ryomaはノートパソコンで、最初社内LANに接続してテストし、その後、外部からインターネット経由で社内メールサーバへの接続テストを行いました。

ダウンロード

まず、本家から、下記のものをダウンロードしました。

サーバ、クライアントとも、/usr/local配下にtar zxvfで展開しました。

zebedeeのコンパイルには、これらとzlib,bzlib2が必要ですが、どちらもディストリビューションのものを使用しました。 Kondaraでは最初から両方入ってました。 debian(slink)ではzlib1g-dev,bzip2をインストールしました。

コンパイル

zebedeeの中のBUILDING.txtに従ってコンパイルしました。

blowfish:
   make一発
    
gmp-2.0.2:
   ./configure i386-unknown-linux; make

Zebedee:
    Makefileを修正
----------------------------------------
#ZINC = -I../zlib-1.1.3
#ZLIB = ../zlib-1.1.3/libz.a

ZINC = 
ZLIB = /usr/lib/libz.a

#BZINC = -I../bzip2-0.9.5d
#BZLIB = ../bzip2-0.9.5d/libbz2.a

BZINC = 
BZLIB = /usr/lib/libbz2.a
----------------------------------------
    make OS=linux; make OS=linux install

認証なしでの接続テスト

一番単純なテストです。

サーバで zebedee -s
クライアントで zebedee fm309
telnet localhost (表示されたポート番号)

クライアントの認証

パスワードでなく鍵を使った認証のテストです。

クライアント側に適当なディレクトリを作成し

zebedee -p > tnaka.key
zebedee -P -f tnaka.key > tnaka.id

tnaka.idをサーバ側にコピーして

cat tnaka.id >> server.id

クライアント側では config fileに
include ./tnaka.key

サーバ側では config fileに
chekcidfile ./server.id

この状態だと、tnaka.keyというファイルを持ってないと接続できなくなります。 従って、パスワードを推測するような攻撃ではクラッキングされません。

LAN内の別ホストに接続テスト

zebedeeの動作しているサーバへの接続ができたので、 今度は、zebedeeを経由して社内LANへの接続をテストしました。 指定する項目が多くなるので、コマンドラインオプションでなくコンフィギュレーションファイルを使います。

クライアント側のconfig file(fm309.zbd)
--------------------------------------------------------
#
# Zebedee configuration file to start up a tunnelled VNC session
#
# Usage: zebedee -f vncviewer.zbd remote-host[:vnc-port]
#

verbosity 1	# Basic messages only

server false	# It's a client
detached true	# Detach from terminal

include ./tnaka.key

remotehost fm309
serverport 10000

remoteport 110	
localport 10000	

compression zlib:6	# Request normal Zlib compression
--------------------------------------------------------

サーバ側の config file (gthanako.zbd)
--------------------------------------------------------

#
# Default Zebedee server configuration file
#
# $Id: test.html,v 1.1.1.1 2000/10/09 07:11:40 tnaka Exp $

verbosity 1

server true		# Yes, it's a server!
#detached true		# Run detached from terminal

# Uncomment the following line to log messages to a file
#
logfile './gthanako.log'

# Uncomment the following line if you want to use a fixed private
# key stored in a static file.
#
#include './server.key'

checkidfile ./server.id
# Set up allowed redirection ports.

serverport   10000
redirecthost gthanako
redirect 110

compression zlib:9		# Allow maximum zlib compression
keylength 256			# Allow keys up to 256 bits
maxbufsize 16383		# Allow maximum possible buffer size
--------------------------------------------------------

サーバ側で           zebedee -f gthanako.zbd
クライアント側で     zebedee -f fm309.zbd 
                     telnet localhost 10000

|     クライアント        |  中継サーバ      |  メールサーバ
telnet -> zebedee(client) -> zebedee(server) -> mail server
     10000             10000                110
    (localport)     (serverport)


これで、gthanakoのメールサーバに外部から接続できるようになりました。 ポートの指定がいっぱいあってややこしいのですが、上図のような関係になっているみたいです。 実際に使う場合は、telnetのかわりにfetchmailなどのMUAを使用して、localhostの10000番ポートにつなぎます。