
Ich hoffe, dass mir hier jemand den richtigen Weg weisen kann.
Ausführen von proftpd (mit TLS-Unterstützung) auf einer öffentlichen IP.
Der FTP-Client stellt eine Verbindung her, kann aber keine Verzeichnisliste erstellen. Wenn ich die „INPUT“-Richtlinie in iptables auf ACCEPT ändere, funktioniert es.
Im Folgenden sind meine relevanten iptables-Regeln aufgeführt:
$IPTABLES -A INPUT -i eno1 -s 0/0 -d x.x.x.x -p tcp --sport 1024:65535 -m multiport --dports 20,21,989,990 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d x.x.x.x --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
Ich habe die Connection_Tracking-Module aktiviert.
server ~ # lsmod | grep nf_conntra
nf_conntrack_ftp 24576 3
nf_conntrack 176128 8 xt_conntrack,nf_nat,xt_state,xt_nat,xt_helper,nf_conntrack_ftp,xt_CT,xt_MASQUERADE
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 2 nf_conntrack,nf_nat
Ich habe auch nf_conntrack_helper in /proc aktiviert
server ~ # cat /proc/sys/net/netfilter/nf_conntrack_helper
1
Antwort1
proftpd (mit TLS-Unterstützung)
Diese TLS-Unterstützung ist wahrscheinlich der Übeltäter.
Normalerweise müssen Sie in einer intelligenten Firewall, wenn Sie FTP zulassen, den Port für die Steuerverbindung öffnen, TCP 21. Anschließend können die Conntrack-Module im Klartext-FTP-Protokoll nach der PORT
Antwort suchen und diese erkennen. Ein FTP-Conntrack-Hilfsmodul öffnet dann automatisch die Portnummer, die vom FTP-Server diesem bestimmten Client zugewiesen wird, und ermöglicht so eine sehr detaillierte Zugriffskontrolle.
Wenn die Verbindung mit TLS verschlüsselt ist, kann die Firewall die PORT-Antwort nicht mehr erkennen und öffnet daher den zugewiesenen Port nicht automatisch. Die Lösung hierfür ist:
Beschränken Sie den Portbereich, den der FTP-Server für passive Verbindungen verwendet, auf einen kleinen Bereich
PassivePorts min-pasv-port max-pasv-port
Öffnen Sie in Ihrer Firewall sowohl Port 21 als auch den festgelegten Portbereich für Datenverbindungen