セキュリティ対策や複数のFTPサイトのホスティングのために、標準のFTPポート番号を変更することができる。エクスプローラーでアクセスする場合は、ポート番号を明示的に指定する。ftpコマンドの場合は、openコマンドでポート番号を指定する。ファイアウォールを利用している場合は、パッシブモードにするなどの対策が必要になる。
対象OS:Windows 2000/Windows XP/Windows Server 2003
FTPサービスで使用するポート(制御ポート)の番号は、標準ではTCPの21番であるが、セキュリティのために、別のポート番号を割り当てて使用することもできる。ユーザー名とパスワード、アクセス制御(特定のIPやドメインからのアクセスのみを許可する)などに加えて、ポート番号も変更しておけば、容易にはアタックされなくなるだろう(ただし完全ではないので、可能な限り他の手法も併用すること)。
FTPサービスで使用するポート番号を変更するには、IISの管理ツールで設定を変更すればよい。
また、変更されたポートへアクセスするためには、FTP接続時にポートを明示的に指定すればよい。
FTPのサービスポートを変更するには、IISの管理ツールで該当するFTPサイトのプロパティを開き、デフォルトのポート番号(21)を変更する。
FTPサイトへアクセスする場合、エクスプローラーのアドレスバーに「ftp://ftp.example.co.jp/」などと入力するのが普通であるが、ポート番号が非標準の場合は、ホスト名に続けて「:ポート番号」も指定する。
ftp.exeコマンドでは、コマンドプロンプトからの起動時にポート番号を明示的に指定することはできない(UNIXのftpコマンドなどでは、「ftp サーバー名 ポート番号」のように指定できるが、Windows OSのftpでは利用できない)。
代わりに、ftp.exeコマンドを引数なしで起動し、ftpのプロンプトから「open サーバー名 ポート番号」(openの代わりにoだけでもよい)として起動する。
C:\>ftp ……パラメーターなしで起動
ftp> open server1.example.co.jp 12321 ……open サーバー ポート番号
Connected to server1.example.co.jp.
220 Microsoft FTP Service
User (server1.example.co.jp:(none)): ftp
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 Anonymous user logged in.
ftp>
FTPのポート番号を変更すると、例えばアドレス変換(NATやNAPT、IPマスカレードなど)を使ったルーターで、FTPが通らなくなる可能性がある。FTPプロトコルでは、制御ポートとデータポートの2つのポート(TCPコネクション)を利用するが、使用しているポートやIPアドレスなどの情報がデータとして制御ポート中を流れるため、これらに対処しなければならない。標準的なFTPポートを使用している場合は、アドレス変換部(ルーター)において適切に処理されるが、ポート番号を変更すると、FTPの通信であることが認識できなくなるので、FTPの通信ができなくなる。具体的には、FTPサーバーにはログオンできるが、dirコマンドやget/putコマンドなどが無応答状態になる。
そのため、このような設定を利用する場合は、イントラネットや(アドレス変換を伴わない)VPNネットワークなどで使用するか、FTPのパッシブモードを利用する(パッシブモードについては関連記事参照)、ファイアウォールのFTP処理に対して、ポート番号を明示的に指示する、などの対処が必要である。
■関連記事(Windows Server Insider)
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.