概要
FTPSとは:FTPの認証で送信されるユーザ名とパスワードの電文は、暗号化されていない状態(クリアテキスト)であるため、第三者に盗聴・侵入される危険性がある。FTPSはその危険性を回避するために制定された。
Windows Server 2008 IIS7 より FTPS が利用可能になったのでさっそく使ってみよう
※下記の記述は NAT配下(ルーターRTX1100)にサーバーがある環境として説明している
前準備
- IISへのSSL証明書 導入を済ませておく(無料版を使用するなら[IIS]SSLBOXによるLet’s Encrypt 証明書を導入し無料でHTTPSを構築]を参照)
- グローバル固定IP (可変でも構わないが変更されるたびにIISの設定が必要になってしまう)
設定
IIS
- IISマネージャにて,サーバーの[FTPファイアウォールのサポート] – [データチャンネルポートの範囲]を指定する
■[サイト] の管理ではデータチャンネルのポート範囲設定はできない。サーバーを指定した状態で行う
■このデータポートの範囲で,クライアントとデータ通信を行うこととなる。後にルーターでポート開放(ポートマッピングを行う) - サイトを指定して,[FTPファイアウォールのサポート] – [ファイアウォールの外部IPアドレス] を入力する。このIPアドレスはグローバルIPアドレスとなる。つまりルーターの外側アドレスである。
- サイトの [FTPのSSL設定] にて SSL証明書,SSLポリシーを指定する
Windows ファイアウォールの設定
以下の受信規則をOKにしておく
FTPサーバー,FTPサーバーセキュリティ,FTPサーバーパッシブ
ルーター
今回の環境はルーター配下にサーバーを設置しているため,NAT越えが必要となる。必ずルーターの設定は必要となる。
- 次のポートを開放する TCP 20, 21, 990, IISの設定手順1で指定したポート範囲 の開放(マッピング)をする。
- 上記のポートを通過させるパケットフィルターの調整
クライアント接続設定
以下のモーでなければ接続できないので注意
- PASV (パッシブ)モード
- Explict (FTPES) モード
- 接続はサーバー側のグローバルIP (IISの設定手順2と同じ)かドメイン名。IISサーバーと同じLAN内のクライアントから接続する場合,直接IISサーバーのローカルIPアドレスを指定しても接続できない
備考
検証した環境はIISはNAT配下にある。IISサーバーそのものにグローバルIPを設定できるのであればもっと単純に構築できる
プロパティ
Windows Server 2008
Windows Server 2019
IIS7.0
RTX 1100
RTX 1210
FFFTP 1.99a
コメント