FTPの標準ポート番号を変更するTech TIPS

セキュリティ対策や複数のFTPサイトのホスティングのために、標準のFTPポート番号を変更することができる。エクスプローラーでアクセスする場合は、ポート番号を明示的に指定する。ftpコマンドの場合は、openコマンドでポート番号を指定する。ファイアウォールを利用している場合は、パッシブモードにするなどの対策が必要になる。

» 2005年12月10日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 FTPサービスで使用するポート(制御ポート)の番号は、標準ではTCPの21番であるが、セキュリティのために、別のポート番号を割り当てて使用することもできる。ユーザー名とパスワード、アクセス制御(特定のIPやドメインからのアクセスのみを許可する)などに加えて、ポート番号も変更しておけば、容易にはアタックされなくなるだろう(ただし完全ではないので、可能な限り他の手法も併用すること)。

 FTPサービスで使用するポート番号を変更するには、IISの管理ツールで設定を変更すればよい。

 また、変更されたポートへアクセスするためには、FTP接続時にポートを明示的に指定すればよい。

操作方法

●FTPサービスでのポート番号の変更

 FTPのサービスポートを変更するには、IISの管理ツールで該当するFTPサイトのプロパティを開き、デフォルトのポート番号(21)を変更する。

FTPサービスポートの変更 FTPサービスポートの変更
FTPで使用するポート番号を変更すると、セキュリティを向上させたり、1台のコンピューター上で同時に複数のFTPサイトを提供したりできる。
  (1)設定を変更したいサイトを開き、右クリックしてポップアップメニューから[プロパティ]を選択する。
  (2)デフォルトのポート番号である21を、別の番号に変更する。ポートスキャンなどの攻撃に見つかりにくくなるように、より大きなポート番号に変更するとよい。

●エクスプローラーでFTPサイトに接続する

 FTPサイトへアクセスする場合、エクスプローラーのアドレスバーに「ftp://ftp.example.co.jp/」などと入力するのが普通であるが、ポート番号が非標準の場合は、ホスト名に続けて「:ポート番号」も指定する。

ポートを指定してFTPサイトに接続する ポートを指定してFTPサイトに接続する
非標準ポートを使用するFTPサイトへ接続する場合は、ftpのサーバー名に続けてポート場も指定する。
  (1)末尾に「:12321」というふうに、ポート番号を指定する。

●FTPコマンドでFTPサイトに接続する

 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処理に対して、ポート番号を明示的に指示する、などの対処が必要である。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。