Iptables et client FTP

Par l4p1n, il y a 10 ans


Outils Linux

Bonjour,

Je rencontre des problèmes avec ma configuration de mon parefeu (iptables) et mon client FTP Filezilla.

Ce que je fais

J'ai un script qui n'a pas de démarrage automatisé que j'ai placé dans un dossier. Voici le contenu du script actuel

#!/bin/bash # Réinitialise les règles sudo iptables -t filter -F sudo iptables -t filter -X # Bloque tout le trafic sudo iptables -t filter -P INPUT DROP sudo iptables -t filter -P FORWARD DROP sudo iptables -t filter -P OUTPUT DROP # Autorise les connexions déjà établies et localhost sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t filter -A INPUT -i lo -j ACCEPT sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT # ICMP (Ping) sudo iptables -t filter -A INPUT -p icmp -j ACCEPT sudo iptables -t filter -A OUTPUT -p icmp -j ACCEPT # SSH sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT # DNS sudo iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT sudo iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT sudo iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT # HTTP sudo iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT sudo iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT # FTP sudo iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT # Mail SMTP iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT # Mail POP3 iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT # Mail IMAP iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT # NTP (horloge du serveur) sudo iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT # Serveur Minecraft sudo iptables -t filter -A INPUT -p tcp --dport 25565 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 25565 -j ACCEPT # DoS ou flood (on ne sait jamais) sudo iptables -A FORWARD -p tcp --syn -m limit --limit 1/sec -j ACCEPT iptables -A FORWARD -p udp -m limit --limit 1/sec -j ACCEPT iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/sec -j ACCEPT # Scans de port (on ne sait jamais) sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/sec -j ACCEPT

J'ai aussi Filezilla qui parvient à se connecter sur le port 21 au serveur FTP. Les commandes d'option passent et la commande PASV aussi. Là où ça coince, c'est quand il fait un MLSD et que je suspecte que le traffic est droppé par l'iptables. J'ai tenté un ftp_rawlist et ça coince aussi (renvoit FALSE)

Ce que je veux

Je souhaite que ni le client FTP, ni PHP ne coince. Du moins une règle qui permet le transit FTP passif.

Ce que j'obtiens

J'ai PHP et Filezilla qui coince. Le log par ici et la config résultante du script de configuration.

Merci d'avance pour vos réponses

Aucune réponse