NAME

stone - Simple TCP/UDP Packet Repeater

SYNOPSYS

stone [-d] [-n] [-u max] [-f n] [-l] [-z SSL] st [-- st]...

OPTIONS

-d
デバッグレベルを増加させます。
-z
SSL 暗号化のオプションです。
-n
ホスト名やサービス名の代わりに IP アドレスやサービス番号を表示します。
-u
同時に記憶できる UDP パケットの発信元の最大数を指定します。 デフォルトは 10 です。
-f
子プロセスの数を指定します。デフォルトは子プロセス無しです。
-l
エラーメッセージ等を syslog へ出力します。
st
次のいずれかです。st は「 --」で区切ることにより、 複数個指定できます。
(1)
host:port sport [xhost ...]
(2)
host:port shost:sport [xhost ...]
(3)
display [xhost ...]
(4)
proxy sport [xhost ...]
(5)
host:port/http request [hosts ...]
(6)
host:port/proxy header [hosts...]
 
stone を実行しているマシンのポート sport への接続を、他のマシ ン host のポート port へ中継します。インタフェースを複数持つ マシンでは、(2) のようにインタフェースのアドレス shost を指定 することにより、特定のインタフェースへの接続のみを転送することが できます。
 
display [xhost ...]
X プロトコル中継のための省略記法です。ディスプレイ番号 display への接続を、環境変数 DISPLAY で指定した X サーバへ転送 します。
proxy sport [xhost ...]
http proxy です。WWW ブラウザの http proxy の設定で、 stone を実行しているマシンおよびポート sport を指定します。
host:port/http request [hosts ...]
http リクエストにのせてパケットを中継します。 request は HTTP 1.0 で規定されるリクエストです。
host:port/proxy header [hosts...]
http リクエストヘッダの先頭に header を追加して中継し ます。
xhost を列挙することにより、stone へ接続可能なマシンを制限する ことができます。マシン名、あるいはその IP アドレスを空白で区切っ て指定すると、そのマシンからの接続のみを中継します。
 
xhost に「/mask」を付けると、特定のネットワークのマシンから の接続を許可することができます。例えば、クラス C のネットワーク 192.168.1.0 の場合は、「 192.168.1.0/255.255.255.0」と指定します。
 
sport に「/udp」を付けると、TCP パケットを中継する代わりに、 UDP パケットを中継します。
 
port に「/ssl」を付けると、パケットを SSL で暗号化して中継します。
 
sport に「/ssl」を付けると、SSL で暗号化されたパケットを復号化 して中継します。
 
sport に「/http」を付けると、http リクエスト上のパケットを中継 します。
 

DESCRIPTION

stone は、アプリケーションレベルの TCP & UDP パケットリピーターです。 ファイアウォールの内から外へ、あるいは外から内へ、TCP パケットあるいは UDP パケットを中継します。
stone には以下のような特徴があります。
1. Win32 に対応している
以前は UNIX マシンで構成されることが多かったファイアウォールです が、最近は WindowsNT が使われるケースが増えてきました。stone は WindowsNT あるいは Windows95 上で手軽に実行することができます。 もちろん、Linux, FreeBSD, BSD/OS, SunOS, Solaris, HP-UX などの UNIX マシンでも使うことができます。
2. 単純
わずか 2000 行 (C 言語) ですので、セキュリティホールが生じる可能 性を最小限にできます。
3. SSLeay 対応
Eric Young 氏の SSLeay を使うことにより、暗号化/復号化してパケッ トを中継できます。
4. http proxy
簡易型 http proxy としても使うことができます。

EXAMPLE

outer:
ファイアウォールの外側にあるマシン
inner:
ファイアウォールの内側にあるマシン
fwall:
ファイアウォール. このマシン上で stone を実行
stone 7 outer
DISPLAY で指定した X server へ X プロトコルを中継
outerDISPLAY=inner:7 と設定して X クライアントを実行
    
stone outer:telnet 10023
outer へ telnet プロトコルを中継
inner で telnet fwall 10023 を実行
    
stone outer:domain/udp domain/udp
DNS 問い合わせを  outer へ中継
innernslookup - fwall を実行
    
stone outer:ntp/udp ntp/udp
outer へ NTP を中継
innerntpdate fwall を実行
    
stone localhost:http 443/ssl
WWW サーバを https 対応にする
WWW ブラウザで  https://fwall/ をアクセス
    
stone localhost:telnet 10023/ssl
telnet を SSL 化
innerSSLtelnet -z ssl fwall 10023 を実行
    
stone proxy 8080
http proxy
    
fwall が http proxy (port 8080) である時:
stone fwall:8080/http 10023 'POST http:// outer:8023 HTTP/1.0'
 
stone localhost:telnet 8023/http
innerouter でそれぞれ stone を実行
http 上でパケットを中継
    
stone fwall:8080/proxy 9080 ´Proxy-Authorization: Basic c2VuZ29rdTpoaXJvYWtp´
proxy 認証に対応していないブラウザ用
    
この stone に関する全ての著作権は、原著作者である仙石浩明が所有 します。この stone は、GNU General Public License (GPL) に準ずる フリーソフトウェアです。個人的に使用する場合は、改変・複製に制限 はありません。配布する場合は GPL に従って下さい。
 

DISCLAIMER

この stone は無保証です。この stone を使って生じたいかなる損害に 対しても、原著作者は責任を負いません。詳しくは GPL を参照して下 さい。
 

AUTHOR

仙石 浩明
[email protected]
http://www.gcd.org/sengoku/