• ベストアンサー

自宅FTPサーバでのポート

すいません、自宅でFTPサーバを立てたんですが、家のサーバはルータ内にありポートを空けなければいけないのですが、21番の他に20番も空けないと空けないと駄目なんでしょうか?それとも、パッシブモード、アクティブモードのどちらを使うかで変わってくるのでしょうか? 利用目的としては、外出先からのデータの出し入れです。 外出先では、FTPクライアントソフトが入っていない場合も多いので、IE(ブラウザ)からアクセスする事も多いと思います。OSはwin2000、サーバソフトはnekosogiです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

FTP は data channel と command channel の二つが必要なのです。例えば "ls" というコマンドがありますが、これを受け付けるのは FTP サーバの 21/tcp で、結果(ファイルの一覧など)を返すのは アクティブモードなら 20/tcp、パッシブチャネルなら別のポート番号の tcp です。21/tcp ともう一つのポートが開いていないと、"ls" コマンドを送っても結果が返ってこないままタイムアウトしてしまうはずです。 ただ、最近のルータは FTP プロキシ と呼ばれる機能が入っていることもありますので、その場合は 21/tcp 以外を明示的に空けなくても大丈夫なことがあります。マニュアルを熟読し、必要であればメーカーのサポートに詳細を尋ねてみると良いでしょう。 > 20番は開けなくて良い、むしろ開けない方がセキュリティー上良い なぜでしょうね? 私は PC-Unix を使ったファイアウォールを何台も構築していて、その下に FTP サーバももちろん配置しています。20/tcp を開けようが開けまいが、(FTP サーバを公開している限り)そんなことでセキュリティのレベルが変わるとは思えないのですが... なお、ファイルのダウンロードしかしないのであれば FTP サーバより Web サーバの方が良いと思います。Web サーバであれば 80/tcp だけで済みますし、場合によっては 443/tcp、つまり HTTPS を使うことでより安全にデータを取得することも可能です。いかがですか?

sabada
質問者

補足

なるほど、FTP プロキシが使えれば、アクティブモードでも20番は開ける必要は無いんですね? でも、FTP プロキシというのは初めて聞きました。 具体的にはどういう機能なんでしょうか? 一応アップロードも想定してるので、FTPサーバを立てたいと思っています。

その他の回答 (4)

  • kenipi
  • ベストアンサー率29% (44/150)
回答No.5

ルータでポートを開ける,といっても,出側と入側がありますよね。 普通の場合(PASVじゃないとき) クライアント側 サーバー側 1.ポート5001番 →コマンド用の接続  →ポート21番 2.ポート5002番 ←データ用の接続   ←ポート20番 こんな関係になっているので, 1) ポート21は inbound (入側,WAN -> LAN方向)を開ける 2) ポート20は outbound (出側, LAN -> WAN方向)を開ける でいいとおもいます。get/put は関係ないです。

sabada
質問者

お礼

みなさん、ありがとうございました。 大変勉強になりました。

回答No.4

FTP プロキシは複雑な FTP のコネクションをうまく処理してくれる機能、だと思ってください。特にフィルタリングルールに関して、必要になった時点で自動的に適切なポートをオープンし、不要になった時点でポートをクローズする、などができるものもあります。 ただし全てのルータがこの機能を持っているわけではありませんので > マニュアルを熟読し、必要であればメーカーのサポートに詳細を尋ねてみると良いでしょう。 と書いたわけです。 まぁ、何はともあれ具体的な話になったらメーカーに聞くのが一番ですよ。ユーザであればサポートしてくれるはずですから :-)。

sabada
質問者

お礼

ありがとうございました。家のルータはメルコのWHRG54という物なんですが、FTPプロシキには対応していないみたいでした。

回答No.2

あれ、書いたはずなのに消えてる... ---- >●サーバ側 >アクティブモード・・・空けるポートは21番(アップロードをする場合は20番も開ける) >パッシブモード・・・空けるポートは21番+クライアントがアクセスできる範囲のポート 20/tcp はアップロードの有無には無関係です。アクティブモードの場合は必ず空けないとファイルの一覧すら取得できません。 >●セキュリティー >FTPサーバ側では、パッシブモードを禁止し、アクティブモードで運用した方が安全 まぁ、確かにそうなんですが、クライアント側に F/W があるとアクティブモードだけだと多分無理ですよ。 ということで頑張ってください :-)。

sabada
質問者

お礼

ありがとうございます。 そうなんですか、20番はダウンロードのみでも開けないといけないんですか? 様々なサイトを見ていると、アップロードをしない場合は、20番は開けなくて良い、むしろ開けない方がセキュリティー上良いという情報がいくつか有ったので、困惑してしまいました。中にはDL、UL関係なく21番だけ開ければよいというのもありどれが正しいのかわからなくってしまいました。

回答No.1

FTP の場合、おっしゃっているようにアクティブモード/パッシブモードで使用するポート番号が変わります。 1. アクティブモードの場合  サーバ側から外部への 20/tcp を許可 2. パッシブモードの場合  FTP サーバソフトによりますが、パッシブモードに使えるポートの範囲を指定できるのであれば、それに応じたポートへの外部からサーバへのアクセスを許可します。制限ができない場合は危ないのでアクティブモードだけ許可した方が良いでしょう。

sabada
質問者

補足

レスありがとうございます。 FTPサーバについて確認して良いですか? -------------------------------------------------------------------- 使用目的は外部からのデータの出し入れ(DL.UL)で アクティブモードとパッシブモードを簡単にまとめると、 ●サーバ側 アクティブモード・・・空けるポートは21番(アップロードをする場合は20番も開ける) パッシブモード・・・空けるポートは21番+クライアントがアクセスできる範囲のポート ●クライアント側 アクティブモード・・・FTPクライアントソフトでアクセス可(IEなどのブラウザではアクセス不可) パッシブモード・・・FTPクライアントソフト+IE(ブラウザ)でアクセス可 ※IE(ブラウザ)は、パッシブモードでないとFTPサーバにアクセスできない。 ●セキュリティー FTPサーバ側では、パッシブモードを禁止し、アクティブモードで運用した方が安全 大体の認識はこれで良いんでしょうか? 間違いがあったら、訂正をお願いします

関連するQ&A

  • FTPサーバ

    現在、外出先でもデータの出し入れができるほうに自宅でFTPサーバを立てたんですが、その設定にパッシブモードといった物が有るんですけど、これはどういう機能でどういった時に使うんでしょうか? ちなみにFTPサーバソフトはTiny FTPを使っています。

  • FTPサーバーでパッシブモードを使えるようにしたい

    当方、FTPサーバーを立ち上げています。 セキュリティ等も多少考慮してルーター経由で必要なポートだけあけるようにし、DMZ機能でサーバーマシンへIPを割り振ってます。 さて、FTPサーバーを立ち上げたのですが、クライアントがパッシブモードにチェックするとアクセスできなくなります。 外せば繋がる人もいますが、外すとまったくリストが取得できなくなり、結局いれても外しても接続不可能ってクライアントもいます。 当サーバーでもパッシブモードを有効になるようにしたいのですが、具体的にどうしたらいいのでしょうか? ルーターはマイクロ総研のNetGenesisOPT50です。 サーバーのOSはWIN2Kpro FTPサーバーはBPFTPv2.15です。 ルーターからはポート20と21はサーバーに割り振るようDMZ設定をしてあります。 他にあけなければならないポートがあるのでしょうか? よろしくお願いします。

  • FTPサーバーの公開方法

    どうもはじめまして、utteyと申します FTPサーバーを作ろうと思ったのですが どうも外部からアクセスできません。(21番ポートにはアクセス可能、しかし「ダウンロードのためにホストxxx.xxx.xxx.xxx(1390) に接続しています」と表示されて止まってしまいます) ちなみにソフトはFileZillaを使っています パッシブモードが原因だと思うのですが、どうしたらいいかわかりません。ご教授願います。 ちなみに、パッシブモードはデフォルトのままです。 ルータはフレッツ光のPR-200NEを使っています ポートは20 21 80番しか解放していません

  • FTPサーバーのポート解放

    FTPサーバーを構築途中なのですが、ポート開放の所で詰まってしまいました。 設定(ルータ・ファイアウォール)を見直したのですがポートが開放できなくて困っています。 21番ポートは開放できましたが、同じ手順で20番ポート開放を行ったところできません。以下の環境でFTPサーバを構築しました。 【OS】Windows XP 【CPU】Pentium3 【メモリー】512MB 【FTPサーバーソフト】Tiny FTP Daemon 【FTPクライアントソフト】FFFTP・コマンドプロンプトのFTPコマンド 【ルータ】BBR-4HG(バッファロー) 【ファイアウォール】WindowsXPについているもの 【試したこと】 ・ルータ、ファイアウォールの設定 ・パソコンの再起動 ・プライベートアドレス、127.0.0.1での接続(ちゃんと接続できました) 自分では、必要事項は書いたつもりですが記入漏れがあればご指摘ください。 検索で調べてみたのですが、解決できませんでした。お知恵をお貸しください。よろしくお願いいたします。

  • FTPの自宅サーバーに伴う問題。

    はじめまして。日頃お世話になっております。親切にアドバイスくださる方など大変感謝いたしております。 前回同じ内容をYahoo知恵袋の方に質問させていただいたのですが、問題解決いかなかったのでこちらにご質問した次第です。 現在会社とiPhoneにFTPで繋げられないかと好奇心考え構築に伴う疑問がいくつか出てきたのでご享受お願いします。 1、1・FTPの接続モードであるアクティブモードで、サーバーの設定画面にあるポートを21番から50000番に変更しました。 サーバー側のNATに5000番を開けさせ、serverに通す設定をしました。 しかし 認証はするもののデータが表示されません。 ここで私の見解なのですが変更されたのは制御コネクションであり、データコネクションは20番ままである。 ならサーバー側のNATで20番も開ければ通信出来ると考えたのですが、できません。って事はクライアント側のNATでも20、50000番を開ける設定にしないと開かないのですか? 2、20番をアクティブモードで変更する事はできないのでしょうか?またネットで調べてわかったのですがなぜ一般の環境ですとアクティブモードでの運用は難しいのですか? 2;PASVを使用して通信を行う場合コネクションの要求がクライアント側になったので、server側のルーターにはどのポートが使われ るかわからないのになぜ通信が行えるのですか?サーバ側のNAT設定をしなければどのみちサーバーからはデータはグローバルに行く前にルーターではじかれると思うのです。 お願いします。

  • パッシブモードでポート20番の開放が必要?

    FTPサーバーでパッシブモードを使うことに関してお伺いしたいことがあります。 最近になってFTPサーバーの構築に挑戦し始めたのですが、ソフトウェアには vsFTPdを使い、パッシブモードで動かしています。 データ通信用ポートには60000~60030番を設定しており外部ネットワークからも アクセスしたいので、ルーター側も21番と60000~60030番のポートを開放しました。 調べた限りでは、この設定でパッシブモードが使えるはずなのですが、なぜか外部からの 接続を受け付けてくれません。試行錯誤の末、ルーター側でポート20番も開放しないと パッシブモードが使えないということを突き止めたのですが、僕が調べたどのサイトにも パッシブモードを使用するために20番ポートを開放しなければならないとは書いていませんでした。 データ通信に使用しているポートを調べたところ、確かに60000~60030番のポート を使っていたので、パッシブモードで動いているには違いないようなのですが どうにも腑に落ちない内容なので、どなたかご教授いただけませんでしょうか? よろしくお願いします。

  • ftpサーバーのデータ転送について

    ftpサーバーからクライアントへのデータの転送は可能だったのですが ftpサーバーへクライアントからのデータの転送が叶いません いろいろしらべ回ったかぎり原因はパッシブモードを使用する際の 1024番以上の任意のポートの開放を行っていないためだということがわかりました そのため"vsftpd.conf"に #passive pasv_enable=YES pasv_min_port=10100 pasv_max_port=10150 を追加してvsftpdを再起動したのですが ポートを確認してもそれ等は解放されておらず データの転送もできませんでした 何が間違っているのでしょうか?

  • FTPサーバのPassiveポートが変わる

    Windows2003 Serverにて、IIS,SMTP,POP3,FTPサービスを起動し、 サーバはグローバルIPを取得してWebを公開して利用しています。 今までFTPをPORTモードでしか使っておらず、今回、PASVモードでも使えるように しようとして「PassivePortRange」を「10000-11000」と設定しました。 サーバと同じセグメントにあるLANのPCからはPROTモードでもPASVモードでも 接続(上記設定のPassivePrtRange内のポートで接続)して利用できるのですが、 WAN側からはPORTモードでしか接続できません。 クライアントではFFFTPを利用していますが、WANからPASVモードで接続しようとすると、 サーバ接続まではできた後、リスト取得時のPASVコマンド発行後に帰ってくるサーバからの ポート番号が、上記設定内のポート番号とは程遠い(60000番台)が帰ってきてリスト取得に 失敗していまいます。 ルータはYAMAHAのRT58iを利用し、グローバルIPでのサーバ参照は IP mascaradeを設定して公開しています。 サーバ側の設定はLANで設定したポートで接続できているので問題ないと思われ、 ルータの設定のフィルタ設定が悪いのだと思いますが、どこが悪いのか、 どう設定すれば良いのかが分かりません。 どなたか、分る方がいらっしゃいましたら教えてください。 よろしくお願い致します。

  • FTPサーバーを作っているが、20番ポートが開かない。

    Linuxを始めて半年になります。 Webサーバーを運用する勉強をしています。 vsFTPdを使用してFTPを使えるようにしたのですが、ケーブルインターネットなど、一部のクライアントから接続できないようです。 原因を探ったところ、20番ポートが閉じているようです。 21番と80番はちゃんと開いています。 Corega BAR SDというルーターを使っていますが、ポートをあける方法が分かりません。 もちろん、Linux側のファイアウォールは外しています。 BAR SDで20番ポートを開くことは出来ないのでしょうか? 出来るならやり方を教えて欲しいです。 ・ポートスキャンは↓でしました。 http://210.143.99.143/~p-sec/pscan.html よろしくお願いします。

  • FTPサーバーにアクセスできる理由

    FTPサーバーを立てているものですが、ふと気になりました。 ルーターで設定をしてあるのは21ポートをそのサーバーへ転送することだけです。 アクティブで可能なのはLANからだからということで分かるのですが、なぜパッシブでも可能なのですか? パッシブだと通信を開始するのは、WAN側からなのにどうしてちゃんとサーバーにアクセスできるのですか分かりません。 それと、静的アドレス変換(ポート指定)によって21ポートをサーバー1へ転送させた場合はアクティブでもパッシブでもFTPに問題なくアクセスできます。 しかし静的アドレス変換(ポート変換)によって1ポートを21ポートへ変換しサーバー1へ転送させた場合はアクティブではファイルやフォルダが表示されずアップロードもできなくて、 パッシブだと[Replacing connection xxx.xxx.xxx.xxx(サーバー1) with xxx.xxx.xxx.xxx(サーバー1のグローバルIP)]→[Connection timeout!]となり正常に接続ができません。 ポートはきちんと21に変換されるので同じはずなのに、どうして静的アドレス変換(ポート指定)だとできないのですか? ルーター:CTU <S> ※ここではクライアントにはファイアウォールはないものとします