FTPサーバとファイアウォール

この組み合わせだと、passive接続でちゃんと動かなくないですか?
(つまり、GUIで出来る範囲で、単に20と21を空けるというだけの措置で)
ファイアウォールのTCP 50000〜65535まで空けてあげるとうまくいきます。
この数字も経験的なもので、本当にいいのかどうか分かりません。
xftpdで、passiveで応答するポートが設定できる「筈」だと思っているのですが、
どこにもそんな項目は見当たらないです。
(っていうか、xftpdの詳細なドキュメントがどこにあるのか分からない)
誰かご存知の方、いらっしゃいますか?

投稿日 2004/10/20 22:59

返信: 4

2004/11/05 18:05 Community User への返信

こちらの場合はMacとWinのFTP転送ソフトで違いが出てしまいました
20〜21だけファイアーウォールを開けるとトランスミット(Mac)のpassiveではファイルを送れるけど、WinのFFFTPではListコマンドにチェックを入れても送れませんでした。ポートはOSXPantherのシステム環境設定でファイアウォールのftpのポートを見ると1024〜65535を開ける事になってたみたいなので、OSXserverのサーバー管理(アプリ)のファイアーウォ−ルで1024-65535を開けて使用しています。これであればWinのFFFTPからもファイルを送れました。アップルに電話してみましたがListコマンドを開ける事しか教えてくれず、MacのFTP転送ソフトから繋がるのであればWinの事はListコマンドの使用以外はわからないとの事でした。
PS.1024〜65535のポートを開けるのはシマンテックのパーソナルファイアーウォールを使用した場合は設定のポート数が多すぎてiMacDV400MHZでは時間がかかりすぎて無理でした。その他のポートを全て開けると言うデフォルトを開けてやると繋がります。後、ルータのアドレス変換は80と20-21を開けた状態でシマンテックのセキュリティセルフテストをサーバー管理でファイアーウォールを開けてシマンテックのパーソナルファイアーウォールをその他の全てのポートを開けた状態でやってみたのですが、最終的にはルータの設定が効いていて、80と20-21意外のポートは空いてない状態だったので、これで良いのかな?と安易に考えて上の状態のまま使用してます。どうやれば一番良いのかわかりませんが同じ悩みを持ってるものでカキコしました。

2004/11/07 08:15 Community User への返信

変ですね。20,21だけで接続できるのはactiveだけの筈ですが。
クライアントからPASVと送ると、サーバから
227 Entering Passive Mode (192,168,1,1,156,64)
というような応答があり、ポートは「サーバが」指定します。上記の文字列の最後から2つの数字が0,20であればポート20,21だけで接続可能ですが、transmitの時だけそうなるというのは殆どあり得ないことです。transmitは、passiveで接続しようとしてタイムアウトした場合、activeにフォールバックしているのではないでしょうか?確か、transimitではコマンドログが見れたような気がしましたので、PASVに対する227の文字列を見てみては如何でしょうか?
それに対し、FFFTPの挙動はまさにpassiveの動作そのものであるように見えます。
それから、1024〜65535を全部空けてしまうのは、セキュリティ上あまり好ましくないと思います。passiveでのデータポートは「サーバが」指定するものであるので、ftpサーバの設定で制限されてしかるべきです。1024以上のポートからランダムに選択するようにハードコーディングされているなどというのは明らかな手抜きであると私は考えます。
例えば、RedHatなどで採用されているvsftpdでは、confに
pasv_max_port=5000
pasv_min_port=6000
と書けば、5000〜6000のポートを空けておくだけでpassiveが成り立つように設定できるのです。

2004/11/08 10:58 Community User への返信

私もpassive modeで接続できない、と指摘され、対応したことがあります。
私は以下のような措置をとりました。
1. ftp passive modeを可能にするため、passive mode用のポートを指定します。
/Library/FTPServer/Configuration/ftpaccess
の「email user@address」という行の上に以下の行を直接書き加えています:
>passive ports ***.***.***.*** ***** *****
***.***.***.***には自分のサーバーのIPアドレス、
***** *****にはpassive modeを割り振りたいポート番号を低→高の順で書いてください。
2. passive mode用にファイアウォールも開けておく必要があります
アプリケーション「サーバー管理」の「ファイアウォール」の詳細設定で、
操作 : 許可
プロトコル : TCP
サービス : その他(このルールに一致するパケットをすべて記録する)
ソースアドレス : Any(制限を加えたい場合は任意に)
ソースポート : 空欄
宛先アドレス(自分のサーバーのIPアドレス)
宛先ポート(passive modeを割り振ったポートの範囲、この場合は*****-*****で、低→高の順で書き込む)
お役にたてば良いのですが…
<情報ソース>
http://discussions.info.apple.com/webx?14@@.68955948/4

2004/11/08 21:20 Community User への返信

これこそ私の知りたかったことです。
ftpaccessファイルの存在は私も気付いておりましたが、どこにもpassive portの記述がなかったので半ばあきらめておりました。
ちなみに、サーバIPは0.0.0.0でサーバ自身のIPアドレスにすべて対応できているようです。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

FTPサーバとファイアウォール

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。