Transparent FTP Security Software
stp
 
SafeTP
 
Download
 
winetd
 
SETUP
 
仕組み
SafeTP

安全なFTP環境を構築するためにSafeTPを利用します。

SafeTPはそれ自体でFTPとして機能はせず、あくまでも既存のFTPを

安全に使うためのサポートします。

戻る

ダウンロード

SafeTPをダウンロードするためには

http://www.cs.berkeley.edu/~bonachea/safetp/formnt.html

にて必要項目を入力し無ければなりません。入力が必須のなのは以下の通りです。

* First Name: [ 名 ]

* Last Name: [ 姓 ]

* Valid Email Address: [ 有効なe-mailアドレス]
(このメールアドレスにファイルの在処が通知されるため、必ず有効な物を入力してください。)

しばらくすると先ほど入力したe-mailに[sftpd.zip]の置き場所が送られてきますので

ダウンロードしましょう。

戻る

インストール

ダウンロードした[sftpd.zip]を適当な場所に解凍すると以下のようになります。

c:\temp\stpに解凍したと仮定

c:\temp\stp
         |
         +- README.1ST
         |
         +---\sftpd
         |     |
         |     +- License.txt
         |     +- HCLInetd.txt
         |     +- Readme.txt
         |     +- sftpd.exe
         |     +- HCLLib.dll
         |     +- MakeKeys.exe
         |     +- sftpc.exe
         |     +- copying.lib
         |     +- viewkey.exe
         |     +- WinetLib.dll
         |
         +---\winetd
               |
               +- Install.txt
               +- License.txt
               +- Readme.txt
               +- WinetLib.dll
               +- WInetd.exe
               +- WInetCfg.exe
               +- WinetdChangeLog.txt

インストールの手順が \winetd\Install.txtに書かれています。

これに習って、まずWinetdからインストールしていきたいと思います。

しかし、実際にはインストーラは付属されていず、\winetdをインストールしたい

場所へ移動するだけでOKです。

実際に必要なのは以下の3つです。

  • winetcfg.exe
    [winetdを設定するツール]
  • winetd.exe
    [winetd本体(但し、これを直接実行する事はありません)]
  • winetlib.dll
    [sftpdがwinetdを利用する為のDLL]

今後は\winetdをC:ドライブ直下へ置いたとし、c:\winetdとして話を進めます。

次にsftpdをインストールします。

これもwinetdと同じように\sftpdへ移動するだけでOKです。

これも\sftpdをC:ドライブ直下へ置いたとし、c:\sftpdとして話を進めます。

戻る

設定

SafeTPでは「公開鍵暗号方式」が使われるために公開鍵と秘密鍵を

作成する必要があります。

コマンドプロンプトを実行し、c:\sftpdへ移動し、以下のコマンドを実行します。

makekeys 0 1024

最初の引数はElGamal暗号化の鍵の長さ、後の引数はDSAの鍵の長さです。
ElGamal暗号化の鍵はクライアントの為の物でサーバでは使用しません
ので設定しない意味の[0]とし、DSAはサーバで使用しますので設定でき
る(もっとも安全な)最大値の[1024]を指定します。

途中で [Enter an identifying string]と聞かれますが、これはSafeTPで接続

したときに表示される名前です。自分のFTPサーバの名前を入れても良いですし

DDNSなどを利用している人はFQDN名などを入れても良いでしょう。

[Please type some sentences to add entropy to the system.]と表示

されたら暗号の作成用に乱数を発生させる為、|---------------|

がいっぱいになるまでキーを適当に入力しましょう。

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>cd sftpd

C:\sftpd>makekeys 0 1024
Part of SafeTP's countermeasures against interception attacks
is the use of "branded" DSA keys-- that is, keys that include
a string that identifies the server who owns that key. This
string is attached to the public key, and the pair is signed with
the private key. Users will see this string when they first
connect to your server.

The string should include a domain name that users are likely
to use when connecting to your server. It can contain additional
information as well. (A creation date will be automatically
appended.)

For example: "UCB CS FTP server, ftp.cs.berkeley.edu"

Enter an identifying string (80 chars maximum):
safetp.hogehoge.org

SafeTP will now generate your new security keys. In order to make your keys
truly secure, you must provide us with some random input on the keyboard.
SafeTP will measure the time intervals between your keypresses and use this
to add entropy to the key generation procedure.
Please type some sentences to add entropy to the system.
|---------------------------------------------------------------|
.................................................................(xx,xxx)

That's enough; please press Enter once:
creating DSA keys with 1024 bits...
Time used to create DSA key: 0.0210 sec
Verifying DSA keys
server name: safetp.hogehoge.org [xx/xx/200x]
Verified.


C:\sftpd>

次に通信相手に渡すべき公開鍵を目に見える形式にします。

上の状態からさらにコマンドを入力します。

viewkey DSA/public.key>pubkey.txt

これにより、pubkey.txtに公開鍵がテキスト形式で入ります。

C:\sftpd>viewkey DSA/public.key>pubkey.txt
pubkey.txtはこんな感じになります。
Key: DSA/public.key
--------------------------------
Qr..............................
................................
................................
....... 省略 ...................
................................
................................
................................
...........AQ==
--------------------------------
Branding: safetp.hogehoge.org [xx/xx/200x]
Sha: 05 ...... 省略 .......... B7
--------------------------------
--------------------------------

winetdを設定します。c:\winetd\winetcfg.exeを実行します。

まず、WInetdの[Browse]を押してWInetd.exeの場所を設定します。
その後[Install]を押すと設定が反映されます。

Start typeにて起動方法を設定します。
[Automatic]にしておけばサービスとして起動するので起動忘れなどを
防ぐことが出来ます。
その後[Installed Services]を設定するために[Add]ボタンを押します。

[Name]
の欄には分かりやすい名前を付けます。

[Executable]
の欄にはstpd.exeのある場所を[Browse]ボタンを押して設定します。

[Command-line arguments]
の欄にはstpd.exeを実行するときのパラメータを入力します。
詳しく知りたい方は[sftpd -h]とすると詳細な説明が表示されます
ので参照してください。
C:\sftpd>sftpd -h
ここでは、FTPdが利用しているポートの設定とログの出力先を
設定しています。
-f2021 ( FTPdが利用しているポートの設定
-lc:\sftpd\log.txt ( ログをc:\sftpd\log.txtへ出力

[Port]
SafeTPが利用するポート番号を入力します。
通常のFTPサーバにSafeTPを適用するつもりなら21を入力します。

[Installed Services]に先ほど入力したサービス名が入っていることを確認し、
Winetdをスタートします。

無事起動すると[WInetd status]の右側が[Running]に変わります。

この状態でWinetdがバックグラウンドで起動しているため、[Close]ボタンを押して
閉じてしまっても問題ありません。

戻る

SafeTPの仕組み
SafeTPの動きや仕組みを理解出来るように簡単な物語を書いてみました。

SafeTP物語♪
登場人物
太郎くん (Winetd)ポート21番地
花子ちゃん (SafeTP)
アリス(FTPサーバ)ポート2021番地

あるひ郵便屋さんから葉書が21番地の太郎くんに届きました。
葉書に書いてある文章は郵便屋さんも読み放題です(w
太郎くんはアリス宛の葉書をみて花子ちゃんにこう言って
渡しました。「アリスが2021番地で待ってるから届けてね」
花子ちゃんはアリスが待ってる2021番地へ葉書を持っていきました。

SafeTP物語♪その2(暗号化編)
登場人物
太郎くん (Winetd)ポート21番地
花子ちゃん (SafeTP)
アリス(FTPサーバ)ポート2021番地

あるひ郵便屋さんから封筒が21番地の太郎くんに届きました。
封筒に入っているので郵便屋さんは中身を見れません(w
太郎くんはアリス宛の封筒をみて花子ちゃんにこう言って
渡しました。「アリスが2021番地で待ってるから届けてね」
花子ちゃんは封筒を開けれないアリスに変わって開封してあげました。
その後アリスが待ってる2021番地へ封筒の中身を持っていきました。


ブロードバンドルータが有る場合、
実際には太郎くんの前にブロードバンドルータのベンがいて、宛先をみて太郎くんに渡してます。

>Command-line arguments
で設定するのが
アリスがxxxx番地で待ってるから=サーバのポート
で、たとえばFTPが400番ポートを使っているなら
「 -f400 」となります。(-fと400の間はあきません)

イメージ図
[画像をクリックすると拡大表示されます]

戻る