web-dev-qa-db-ja.com

pasv_promiscuous = yesのVSFTPDの実際のセキュリティリスクは何ですか?

VSFTPDでは、pasv_promiscuousのデフォルトは「NO」であり、manページには次のように示されています。

自分が何をしているかを知っている場合にのみ有効にしてください!これの唯一の正当な使用法は、何らかの形の安全なトンネリングスキームで、またはおそらくFXPサポートを容易にするためです。

これで問題が発生したことはありませんが、プロキシを介して接続できるように、これを「YES」に設定する必要があると思われるお客様がいます。発生している問題を修正するためにYESに設定することについて、Web上で多数の推奨事項を確認していますが、この設定の実際のリスクについての詳細は見つかりません。

私はこれが何を防いでいるのかを理解しようとしてきましたが、私が思いつくことができる最善のことは、サインオン後、データ接続を開く前に、誰かが接続をハイジャックしようとするのを防ぐことです。攻撃者はパッシブ接続に使用されているポートを知っていて、適切なタイミングで開いているポートをキャッチするためにそれらのポートに繰り返しアクセスを試みる必要があるようですが、それよりも簡単でしょうか?そのような攻撃が成功したと仮定すると、それは攻撃者に何を与えますか?私は、ハイジャックされたユーザーセッションが持っていたアクセスが何であれ、単純に推測します。

Pasv_promiscuous = YESの現実的なセキュリティリスクとは何かについて、誰かが良い説明をしていますか?

5
randomScott

FTP転送がパッシブモード(現在最も一般的なモード)で開始されると、FTPはランダムポートでリッスンを開始します。クライアントはそのポートに接続し、転送されたファイルの送受信を開始します。

pasv_promiscuousがオフ(デフォルト)の場合、vsftpdサーバーは、転送ポートに接続しているクライアント(IPアドレス)が、FTP制御接続に接続しているクライアント(転送を要求した)と同じであることを確認します。

pasv_promiscuousがオンの場合、チェックは行われません。したがって、潜在的な攻撃者がランダムなポート番号(ランダムではないかもしれませんが、増分であるため推測しやすい)を推測した場合、正当なクライアントが行う前に転送ポートに接続してデータを盗むことができます(ダウンロードの場合) )または自分のデータを忍び込みます(アップロードの場合)。

4
Martin Prikryl