FTPのアクティブモードとパッシブモードの違いは、データ転送の接続方向

   2020/01/03

普段あまり意識することはないかもしれませんが、FTPには2つのモードがあります。アクティブモードとパッシブモードです。パッシブモードはPASVモードと言えば、馴染みがある人が多いかもしれません。

今回は、FTPのアクティブモードとパッシブモードの違いについて簡単に説明してみます。

FTPで利用する21番ポートと20番ポートの違い

一般的に、FTPでは21番ポートと20番ポートを利用します。

21番ポートでは、制御用のコントロールコネクションを張ります。コントロールコネクションでは、ログインやファイル転送方法などのやり取りを行います。

20番ポートでは、データ転送用のデータコネクションを張ります。データコネクションでは、伝送されるデータの送受信を行います。

21番で指示を出して、20番でデータのやり取りを行っているのです。

アクティブモードとパッシブモードの違い

アクティブとパッシブの違いは何でしょうか?違いは、データ転送用のデータコネクションを確立する方向の違いです。

  • アクティブモード:サーバからクライアントに対してデータコネクション確立
  • パッシブモード:クライアントからサーバに対してコネクション確立

下の図を見ればイメージがわくのではないでしょうか。

ftp_active

ftp_passive

クライアントから見たポイント

開発環境などからFTPサーバへ接続する場合は、パッシブ(PASV)モードを利用することが多いかと思います。

理由としては、ファイアウォールの存在が考えられます。一般的なファイアウォールポリシーとしては、外部からのアクセスは細かく制御しますが、内部から外部へのアクセスは緩いことが多いです。

アクティブモードで利用する場合、1024/TCP以上の大きなレンジでクライアント側のファイアウォールを開放する必要があります。

それに対してパッシブモードであれば、内部から外部へのアクセスのみなのでファイアウォールの影響を受ける可能性が減ることになります。

サーバから見たポイント

FTPサーバを提供する場合は、アクティブモードのみで運用することが好ましいです。

こちらも理由は、ファイアウォールの存在です。パッシブモードを利用する場合は、データコネクションを受け付けるために1024/TCP以上の大きなレンジでファイアウォールを開放する必要があります。

アクティブモードであれば、21/TCPと20/TCPのみの解放で済みますので、セキュリティ的に好ましい状態になります。

まとめ

アクティブモードとパッシブモードの違いは、データコネクションを確立するための方向の違いでした。

それぞれセキュリティ的にメリットデメリットがありますので、状況に合わせて上手に使えるといいですね。

  • このエントリーをはてなブックマークに追加
  • Pocket

コメント一覧

  1. よたっぺ より:

    なおべりー様

    写真を見ますとクライアント側は、アクティブモード、パッシブモードともランダムなポートを使用するのでしょうか。何か良く分かりませんでした。

  2. より:

    アクティブモードで利用する場合、1024/TCP以上の大きなレンジでファイアウォールを開放する必要があります。

    ⇒これはパッシブモードの話だと思います。

    • naoberry より:

      コメントありがとうございます。
      ここでの内容は、クライアント側のファイアウォールの話を想定していました。
      文章修正しておきますね。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。