FTP (File Transfer Protocol) 解説

コマンド

C:\>ftp
ftp>

通信モード

パッシブFTP (Passive FTP) / PASV mode

パッシブFTPとはFTPの通信モードの1つで、データ転送のための接続をクライアントから発信する方式です。この方式ではつねにクライアント側から接続するため、ファイアウォールの内側からもFTPで転送できます。PASVモードとは 〔 Passiveモード 〕 〔 パッシブFTP 〕 - 意味/解説/説明/定義 : IT用語辞典

セキュリティ

FTPでは送受信されるデータが暗号化されないため、パスワードなどが盗聴される恐れがあります。

通信の暗号化

SFTP (SSH File Transfer Protocol)

SFTPとは、sshで通信路を暗号化してファイルを送受信するプロトコルです。SFTPとは 【 SSH File Transfer Protocol 】 - 意味/解説/説明/定義 : IT用語辞典

FTPS (FTP over SSL/TLS)

FTPSとは、FTPに伝送路を暗号化するSSL/TLSを組み合わせたプロトコルです。FTPSとは 【 FTP over SSL/TLS 】 - 意味/解説/説明/定義 : IT用語辞典

  • Explicit FTPS
  • Implicit FTPS
FTP Clients - Part 2: Explicit FTPS versus Implicit FTPS - Robert McMurray's Blog [MSFT] - Site Home - MSDN Blogs

アクセスの制限

.ftpaccess

.ftpaccessでは、FTPによる接続をIPアドレスで制限できます。次のようにテキストファイルを記述し、それを.ftpaccessというファイル名でサーバに設置します。

<Limit ALL>
    Order Allow,Deny
    Allow from ***.***.***.***

    Deny from all
</Limit>

Allow fromに、接続を許可するIPアドレスを記述します。たとえば現在使用しているIPアドレスを許可するならば、アクセス元の情報ツールで確認できます。

上記のように完全なIPアドレスを指定する以外に、次のようにサブネットマスクを使用してアドレスの範囲を指定する方法もあります。

指定方法 記述方法
IPアドレスの一部
Allow from 10.1
Allow from 10 172.20 192.168.2
ネットワーク/ネットマスクの対
Allow from 10.1.0.0/255.255.0.0
ネットワーク/nnn CIDR指定
Allow from 10.1.0.0/16
Allow ディレクティブ - mod_authz_host - Apache HTTP サーバ バージョン 2.2

日本に割り当てられているIPアドレスならば、JPNICでそのアドレスを検索することで、CIDR表記によるそのアドレスの割り当て範囲を確認できます。

なお制限されているIPアドレスからFTP接続すると、

  • 550 www: No such file or directory (さくらインターネット)
  • 550 PWD: Permission denied (ロリポップ!)

のような応答があります。

許可されていないIPアドレスからの、.ftpaccessの編集

一度.ftpaccessを配置すると、そこで許可したIPアドレス以外からはこのファイル自体を編集できなくなります。ただしそれはFTP接続が制限されているだけのため、他の接続方法、たとえばSFTPやSSHからならばアクセスできます。これらの接続方法を利用できない場合には、サーバが用意しているサービスを利用します。

パスワード漏えいによる問題

ガンブラー (Gumblar)

FTPのアカウント情報が盗まれ、Webサイトが改ざんされます。