私の権限ではない「パッシブ」FTPサーバーのポート範囲を学習する方法はありますか。設定ファイル内で範囲を設定することが可能です。たとえば、_vsftpd.conf
_内:
_pasv_min_port=25000
pasv_max_port=25500
#pasv_min_port=0
#pasv_max_port=0 (any port)
_
Linuxターミナルサーバーに非常に制限されたOUTPUTファイアウォール(iptables)を適用したいので、リモートサーバーのポート範囲を知る必要があります。 FTPは、クライアントが使用できるポート範囲情報の公開をサポートしていますか?
サーバーのIPアドレスを10.1.1.1と想定している次の解決策を除いて、他の可能な解決策も受け入れています。
_-A OUTPUT -d 10.1.1.1 -j ACCEPT
_
ご関心をお寄せいただきありがとうございます...
よろしく
[〜#〜]編集[〜#〜]
ありがとう @ aaron-copley 、 @ martin-prikryl 、 @ user3590719
主な質問への回答、FTPはパッシブポート範囲をクライアントに公開しません。
必要な解決策は、FTP用のnetfilter接続追跡モジュールをロードすることです。
ip_conntrack_ftp (Module alias for CentOS/Red Hat : nf_conntrack_ftp)
Red Hat 7の設定例:
/ etc/sysconfig/iptables-config
_IPTABLES_MODULES="nf_conntrack_ftp"
_
iptablesルール
_-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 10.1.1.1/32 -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -j DROP
_
最後に、モジュールを手動でロードするか、iptables.serviceを再起動します。
パッシブポートの範囲は、FTPサーバーによって公表されていません。
サーバーとの間の多くのファイルの並列転送を自動化し、これらの転送に使用されるポートから範囲を推測するだけです。
以前の回答でこれを見つけました
FTP PASVモード接続用のLinux iptablesのセットアップ
これ: https://major.io/2007/07/01/active-ftp-connections-through-iptables/
この:
https://www.cyberciti.biz/tips/how-do-i-use-iptables-connection-tracking-feature.html
それらすべてで、ip_conntrack_ftpと、iptablesルールの関連ルールを使用して、パッシブ接続を開いたままにします。