
これらすべてを設定する方法はわかっていますし、手順を説明した投稿も多数あります。しかし、もっと具体的な質問があります。
パッシブ FTP サーバーをリッスンするために使用する標準ポート範囲はありますか? たとえば、22 ~ 1000 などを使用するのは明らかに望ましくありません。マシン上で他に何が実行されているかを知る以外に、使用するポートをどのように決定すればよいでしょうか? ここでは、たとえば 5000 ~ 5010 の範囲が推奨されているのを見ました。
また、追加の質問です。開くポートの推奨数はありますか? Filezilla は、0 から 65535 までの全範囲を単に提供しており、どの範囲またはいくつのポートを使用するかを提案するガイダンスはありません (または、私が見つけたものはありません)。
答え1
FTP プロトコル標準
認証されていないアクセスが、FTPサーバのオープンデータチャネルポートを介してFTPサーバに接続することを許可するという点では、RFC959 の翻訳:
-
サーバーPI
サーバー プロトコル インタープリタは、ポート L でユーザー PI からの接続を「リッスン」し、制御通信接続を確立します。ユーザー PI から標準 FTP コマンドを受信し、応答を送信し、サーバー DTP を制御します。
これは、リスニングFTPサーバーが標準のFTPサーバープロトコルに従うことが期待されることを意味します。そのため、FTPサーバーが認証が必要そうすると、ユーザー PI 認証が確立された後にデータ チャネル接続に使用するために選択された、開いているパッシブ ポートでの接続のみが許可されます。
-
制御接続
コマンドと応答を交換するための USER-PI と SERVER-PI 間の通信パス。この接続は Telnet プロトコルに従います。
PI
プロトコル インタープリター。プロトコルのユーザー側とサーバー側には、ユーザー PI とサーバー PI に実装された異なる役割があります。
FTP セキュリティ
通信やデータ交換にFTPを使用すると、パケットを読み取れるものなら誰でもデータを見ることができるため安全ではありません。そのため、次の使用を検討してください。SSH FTPまたはFTPSSLこのレベルで暗号化を追加します。
さらに、RFC959 の翻訳:
-
プロトコルでは、データ転送中は制御接続が開いている必要がある。
転送が進行中です。FTP サービスの使用が終了したら、制御接続の終了を要求するのはユーザーの責任であり、そのアクションを実行するのはサーバーです。制御接続がコマンドなしで終了された場合、サーバーはデータ転送を中止することがあります。
したがって、FTP サーバーが短いタイムアウト期間で構成されていることを確認してください。これにより、切断されたユーザー セッションとデータ チャネル ポートがより早く閉じられるようになります。
港湾セキュリティ
などの高いポート範囲の使用を検討し40000-45000
、ファイアウォール ネットワーク アプライアンスのルールを設定して、そのトラフィックが FTP サーバーにのみ送信されるようにし、すべてのパケットを侵入検知用のパケット スキャナーに通して、一般的な攻撃パターンなどを阻止します。
可能であれば共通のポートを使用せず、TCPおよびUDPポート番号のリスト。
OS レベルのファイアウォール ルールを使用して、インターネットからのアクセスを許可するポートに対して FTP サーバーがさらにロックダウンされていることを確認し、不要なサービスを無効にし、このサーバーでリッスンしている他のサービスに使用するパッシブ範囲のポートを使用しないようにします。
FileZilla FTP サーバー セキュリティ
読むFileZilla FTP サーバーを強化するこれらのセキュリティ機能を投稿して活用してください。