DeleGate実行用ファイルの作成
C:\Program Files\DeleGate に delegate-xxx.batファイル(xxxは http/ftp/smtp/pop3/imapなど)を作成する。例えば delegate-http.bat の内容は以下の1行である(dg9_1_1.exeの箇所はバージョンに合わせて適宜変更すること)。
dg9_1_1.exe +=delegate-http.cfg
次に C:\Program Files\DeleGate に delegate-xxx.cfgファイルを作成する。以下は DeleGateと各サーバが同一ホスト上で動作するときの設定の一例であるが、通常は例示した cfgファイルを全く変更せずに使えるはずである(管理者メールアドレスは自分のものに変更すること)。DeleGateとサーバが別ホストで動作するときは "localhost" となっている箇所を、サーバ機のプライベートIPアドレスに変更する。
(2-1)HTTP
HTTP : ポート 80
HTTPS: ポート443
┏━━━━┓ 443┏━━━━┓ 80┏━━━━┓
┃ ブラウザ ┣─── Internet ────→┫DeleGate┣──→┫ HTTP ┃
┃ ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-http.cfgファイル
--------
STLS=fcl
-P443
SERVER=https
MOUNT="/* http://localhost/*"
# 普通は上記のように全ドキュメントをSSL化するのは無意味であり、
# パスワードを入力したり、機密情報を表示するページなど、
# 特定のディレクトリ下(例えば以下のように /abc)のみSSL化する。
# 複数ディレクトリあるときは MOUNT行を複数設定する
#MOUNT="/abc/* http://localhost/abc/*"
#MOUNT="/xyz/* http://localhost/xyz/*"
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
(2-2)FTP
FTP : ポート 21
FTPS: ポート990
┏━━━━┓ 990┏━━━━┓ 21┏━━━━┓
┃ FTPS ┣─── Internet ────→┫DeleGate┣──→┫ FTP ┃
┃ クライアント ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-ftp.cfgファイル
--------
STLS=fcl
-P990
SERVER=ftp
MOUNT="/* ftp://localhost/*"
# クライアントによっては、以下のように仮のディレクトリ(例abc, 任意名称可)を
# 設定した方がよいかもしれない。
# この場合、クライアントでリモートの初期フォルダに設定すること
#MOUNT="/abc/* ftp://localhost/*"
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
--------
クライアント側は PASV+Explicit(SSL/TLS)で試すとよい
【FTP その2】
FTP : ポート10021
FTPS: ポート21および990同時使用可
┏━━━━┓ 21,990┏━━━━┓ 10021┏━━━━┓
┃FTP/FTPS┣─── Internet ────→┫DeleGate┣──→┫ FTP ┃
┃ クライアント ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-ftp.cfgファイル
--------
STLS=fcl
#STLS=-fcl # "-"をつけると SSL未対応 FTPクライアント(FFFTP等)でポート21/990にアクセスすると通常の FTP接続になる
-P21,990
SERVER=ftp
MOUNT="/* ftp://localhost:10021/*"
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
(2-3)SMTP
SMTP : ポート 25
SMTPS: ポート465
┏━━━━┓ 465┏━━━━┓ 25┏━━━━┓
┃ メーラ ┣─── Internet ────→┫DeleGate┣──→┫ SMTP ┃
┃ ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-smtp.cfgファイル
--------
STLS=fcl
-P465
SERVER=smtp://localhost
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
(2-4)POP3
POP3 : ポート110
POP3S: ポート995
┏━━━━┓ 995┏━━━━┓ 110┏━━━━┓
┃ メーラ ┣─── Internet ────→┫DeleGate┣──→┫ POP3 ┃
┃ ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-pop3.cfgファイル
--------
STLS=fcl
-P995
SERVER=pop
MOUNT="* pop://localhost/*"
#MOUNT="//*%S/%S pop://localhost/*%(1)@%(0)" #アカウントに @ を含むPOPサーバではこちらを使う
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
(注)第三者中継防止策として POP Before SMTPが使われることがある。POP3サーバにアクセスしてきた IPアドレスのホストに対して送信を許可する仕組みであるが、DeleGateに限らずプロキシが入った構成では、POP3サーバにアクセスしてきたのはメーラが動作しているユーザのホストではなく、プロキシが動作しているホスト(多くの場合、127.0.0.1)と判断され、不正中継を許す結果になってしまうので要注意である(POP Before SMTPの欠陥)。SMTP AUTHが可能なメールサーバを使えばこの問題は回避できる。
(2-5)IMAP
IMAP : ポート143
IMAPS: ポート993
┏━━━━┓ 993┏━━━━┓ 143┏━━━━┓
┃ メーラ ┣─── Internet ────→┫DeleGate┣──→┫ IMAP ┃
┃ ┃ ┃ ┃ ┃ サーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-imap.cfgファイル
--------
STLS=fcl
-P993
SERVER=imap
MOUNT="* imap://localhost/*"
REACHABLE=localhost
RELIABLE="*"
ADMIN=user@example.com
SSL非対応クライアントの SSL化
次に DeleGateを使い、SSL非対応クライアントをSSL対応化する方法を説明する。FFFTPや Becky!など SSL非対応なクライアントをどうしても使い、SSLサーバ(SSL Proxy+非SSLサーバを含む)にアクセスしたいときに有効な方法である(DeleGate以外に wstunnelでも同様のことが可能であるが、ここでは説明しない。wstunnel 説明書を参照のこと)
[使用例1] FFFTPで FTPSサーバに接続する
┏━━━━┓ 21┏━━━━┓990 ┏━━━━┓
┃ FFFTP ┣───┫DeleGate┣─── Internet ──→┫ SSL ┃
┃ ┃ ┃ SSL化 ┃ ┃ FTPサーバ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-ftp-client.cfgファイル
--------
STLS=fsv
-P21
SERVER=ftp
MOUNT="/* ftps://ftpServer.domain.com/*"
REACHABLE=ftpServer.domain.com
#
#MOUNT="/abc/* ftps://ftpServer1.domain.com/*"
#REACHABLE=ftpServer1.domain.com
#MOUNT="/xyz/* ftps://ftpServer2.domain.com/*"
#REACHABLE=ftpServer2.domain.com
RELIABLE="*"
ADMIN=user@example.com
[使用例2] Becky!で SSLメールサーバに接続する
(1)SMTP
┏━━━━┓ 25┏━━━━┓465 ┏━━━━┓
┃ Becky! ┣───┫DeleGate┣─── Internet ──→┫ SSL ┃
┃ ┃ ┃ SSL化 ┃ ┃SMTPサーバ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-smtp-client.cfgファイル
--------
STLS=fsv
-P25
SERVER=smtp://smtpServer.domain.com:465
REACHABLE=smtpServer.domain.com
RELIABLE="*"
ADMIN=user@example.com
(2)POP3
┏━━━━┓ 110┏━━━━┓995 ┏━━━━┓
┃ Becky! ┣───┫DeleGate┣─── Internet ──→┫ SSL ┃
┃ ┃ ┃ SSL化 ┃ ┃POPサーバ ┃
┗━━━━┛ ┗━━━━┛ ┗━━━━┛
delegate-pop3-client.cfgファイル
--------
STLS=fsv
-P110
SERVER=pop
MOUNT="* pop3s://popServer.domain.com/*"
REACHABLE=popServer.domain.com
RELIABLE="*"
ADMIN=user@example.com