FTPの標準ポート番号を変更する:Tech TIPS
セキュリティ対策や複数のFTPサイトのホスティングのために、標準のFTPポート番号を変更することができる。エクスプローラーでアクセスする場合は、ポート番号を明示的に指定する。ftpコマンドの場合は、openコマンドでポート番号を指定する。ファイアウォールを利用している場合は、パッシブモードにするなどの対策が必要になる。
対象OS:Windows 2000/Windows XP/Windows Server 2003
解説
FTPサービスで使用するポート(制御ポート)の番号は、標準ではTCPの21番であるが、セキュリティのために、別のポート番号を割り当てて使用することもできる。ユーザー名とパスワード、アクセス制御(特定のIPやドメインからのアクセスのみを許可する)などに加えて、ポート番号も変更しておけば、容易にはアタックされなくなるだろう(ただし完全ではないので、可能な限り他の手法も併用すること)。
FTPサービスで使用するポート番号を変更するには、IISの管理ツールで設定を変更すればよい。
また、変更されたポートへアクセスするためには、FTP接続時にポートを明示的に指定すればよい。
操作方法
●FTPサービスでのポート番号の変更
FTPのサービスポートを変更するには、IISの管理ツールで該当するFTPサイトのプロパティを開き、デフォルトのポート番号(21)を変更する。
FTPサービスポートの変更
FTPで使用するポート番号を変更すると、セキュリティを向上させたり、1台のコンピューター上で同時に複数のFTPサイトを提供したりできる。
(1)設定を変更したいサイトを開き、右クリックしてポップアップメニューから[プロパティ]を選択する。
(2)デフォルトのポート番号である21を、別の番号に変更する。ポートスキャンなどの攻撃に見つかりにくくなるように、より大きなポート番号に変更するとよい。
●エクスプローラーでFTPサイトに接続する
FTPサイトへアクセスする場合、エクスプローラーのアドレスバーに「ftp://ftp.example.co.jp/」などと入力するのが普通であるが、ポート番号が非標準の場合は、ホスト名に続けて「:ポート番号」も指定する。
ポートを指定して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処理に対して、ポート番号を明示的に指示する、などの対処が必要である。
■関連記事(Windows Server Insider)
- アカウントを指定してFTPサイトへ接続する(TIPS)
- IISの標準FTPバナー・メッセージを表示させない(TIPS)
- ネットワーク・プロトコル番号を調査する(TIPS)
■この記事と関連性の高い別の記事
- Windows Vistaのファイアウォールでアウトバウンド通信をブロックする(TIPS)
- Windowsのftpコマンドをスクリプトで使う(TIPS)
- WindowsのFTPクライアントをファイアウォールフレンドリモードに変更する方法(TIPS)
- Windowsでエクスプローラーを使ってFTPサーバーにアクセスする方法(TIPS)
- IIS 6.0のFTPサーバでユーザー・フォルダを分離する(基本編)(TIPS)
- WindowsのFTPサーバでユーザーフォルダを設定する(TIPS)
- Windowsのターミナルサービス/リモートデスクトップ接続のポート番号を変更する(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.