GNU/Linux >> LINUX-Kenntnisse >  >> Linux

FTP mit IPTables zulassen

Hier ist das Dokument, auf das ich die Leute verweise, damit sie dem FTP-Protokoll folgen können:http://slacksite.com/other/ftp.html

  • Um FTP im aktiven Modus auszuführen, müssen Sie eingehende Verbindungen zu TCP-Port 21 und ausgehende Verbindungen von Port 20 zulassen.
  • Um FTP im passiven Modus auszuführen, müssen Sie eingehende Verbindungen zu TCP-Port 21 und eingehende Verbindungen zu einem zufällig generierten Port auf dem Servercomputer zulassen (was die Verwendung eines conntrack-Moduls in netfilter erfordert)

Sie haben nichts bezüglich Ihrer OUTPUT-Kette in Ihrem Beitrag, also werde ich das hier auch einfügen. Wenn Ihre OUTPUT-Kette default-drop ist, dann ist das wichtig.

Fügen Sie diese Regeln zu Ihrer iptables-Konfiguration hinzu:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

Um FTP im passiven Modus zu unterstützen, müssen Sie das Modul ip_conntrack_ftp beim Booten laden. Kommentieren Sie die Zeile IPTABLES_MODULES in der Datei /etc/sysconfig/iptables-config aus und ändern Sie sie wie folgt:

IPTABLES_MODULES="ip_conntrack_ftp"

Speichern Sie die iptables-Konfiguration und starten Sie iptables neu.

service iptables save
service iptables restart

Um VSFTPD vollständig als Problem auszuschließen, stoppen Sie VSFTPD, überprüfen Sie mit „netstat -a“, dass es nicht auf Port 21 lauscht, und führen Sie dann ein :

aus
nc -l 21

Dadurch wird Netcat gestartet, das auf Port 21 lauscht, und die Eingabe an Ihre Shell zurückgeben. Rufen Sie von einem anderen Host aus TELNET an Port 21 Ihres Servers auf und vergewissern Sie sich, dass Sie eine TCP-Verbindung erhalten und dass Sie die Ausgabe in der Shell sehen, wenn Sie die TELNET-Verbindung eingeben.

Bringen Sie schließlich VSFTPD wieder hoch, vergewissern Sie sich, dass es auf Port 21 lauscht, und versuchen Sie erneut, eine Verbindung herzustellen. Wenn die Verbindung zu netcat funktioniert hat, sind Ihre iptables-Regeln in Ordnung. Wenn die Verbindung zu VSFTPD nach netcat nicht funktioniert, dann stimmt etwas mit Ihrer VSFTPD-Konfiguration nicht.


Linux
  1. SSH zu einem anderen Port als 22:So geht's (mit Beispielen)

  2. FTP-Server mit vsFTPd auf dem Raspberry Pi einrichten

  3. So öffnen Sie einen Port unter Linux

  4. Sollte ich die Paketrate mit iptables begrenzen?

  5. Iptables:-p udp --state ESTABLISHED

RHEL 8 / CentOS 8 öffnen FTP-Port 21 mit Firewalld

So übertragen Sie Dateien mit Commander One

Laden Sie Dateien mit Monsta FTP hoch

So richten Sie einen FTP-Server mit ProFTPD in Ubuntu 18.04 ein

So sichern Sie eine Linux-Firewall mit IPTables-Regeln

So richten Sie einen FTP-Server mit VSFTPD ein