Image

ナレッジベース → ProFTPDサーバーの接続制限の設定

ProFTPDは、FTPプロトコルを使用してファイルを転送するためのサービスです。このサービスは、Linuxサーバー上でファイル管理のために広く使用されています。

FTPサーバーは2つのモードで動作します:

  • アクティブモード - PORT:クライアントが接続ポートを決定します。
  • パッシブモード - PASV:サーバーが接続ポートを決定します。

デフォルトのポート21に加えて、追加のポートを開くためのネゴシエーションプロセスがあります。サーバーの動作モードに応じて、以降のネゴシエーションのイニシエーターはクライアントまたはサーバーになります。

アクティブモードの欠点:

  • クライアントがNAT/ファイアウォールの背後にある場合、動作しません(サーバーがクライアントに到達できない)。
  • 各ファイルごとに新しいポートが開かれ、セッション数が大幅に増加します。

パッシブモードの利点:

  • NAT/ファイアウォール越しに動作します(イニシアチブはクライアントにあります)。
  • サーバー上でポート範囲を制限できます(ProFTPDのPassivePorts)。

接続数を制限するには、サービスの設定ファイルに設定を追加する必要があります:

/etc/proftpd.conf
MaxInstances 30     # ProFTPDが起動できる最大プロセス数(サービスプロセスを含む)。
MaxClients 20       # 最大同時接続数(ユーザー)。
MaxClientsPerHost 3 # 単一のIPアドレスからの接続数を制限。

また、パッシブモードを強制的に有効にすることもできます:

/etc/proftpd.conf
Passive on
PassivePorts 50000 50100  # ポート範囲を制限(最大100接続)。

パッシブモードはすべての環境で動作するとは限りません。NATおよびファイアウォールの動作を確認してください。

設定ファイルにエラーがないか確認してください。サービスとして動作している場合は再起動します。inetdと一緒に動作している場合は、設定ファイルにエラーがないことを確認するだけで十分です。

proftpd -t  # 設定を確認。
systemctl restart proftpd  # 再起動。

FTPプロトコルにはいくつかの欠点があり、HTTP/SやSFTP(SSHファイル転送プロトコル)と異なり、アクションのネゴシエーションとクライアント-サーバーの確認を待つ必要があるため、場合によっては「遅延」が発生します。

多数の小さなファイルを転送する必要がある場合は、アーカイブにまとめてサーバー上で解凍することをお勧めします。





No Comments Yet