RESOLU : Iptable filtre ip public

Bonjour,
Je me suis pris un serveur dédié chez OVH, et je souhaiterais autoriser le post 21 uniquement sur mon adresse IP publique Internet.
Je souhaiterbloqué tout le monde du port 21 sauf l’adresse IP de chez moi qui est FIXE.

voici mon script :

### RAZ
iptables -t filter -F
iptables -t filter -X

### FERMETURE TOTALE PAR DEFAUT
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

### MAINTIEN DES CONNEXIONS EXISTANTES
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

### AUTORISATION DU LOOPBACK
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

### AUTORISATION DU PING
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

### AUTORISATIONS LIEES AUX SERVICES

# SSH port 22
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# SSH port 3546
iptables -t filter -A OUTPUT -p tcp --dport 3546 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 3546 -j ACCEPT

# DNS
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

# HTTP
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

# HTTPS
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

iptables -t filter -A INPUT -p tcp -s 178.297.19.223 --dport 80 -j DROP ça marche pas

#IP Factice

Avec une politique par défaut de blocage total, il n’est guère surprenant qu’une règle qui bloque (DROP) les paquets reçus à destination du port TCP 80 n’ait pas d’effet sur le port 21. Essaie plutôt :

iptables -t filter -A INPUT -s <adresse_ip> -p tcp --dport 21 -j ACCEPT

Comme le port 21 est généralement utilisé par le protocole FTP et que ce dernier met en oeuvre des connexions liées sur d’autres ports, il peut être utile de s’assurer que le module de suivi de connexion FTP nf_conntrack_ftp qui reconnaît ces connexions et les marques dans l’état RELATED est chargé.

modprobe nf_conntrack_ftp

Bonjour,

Alors pour commencer je pluissoie la réponse de pascal juste au dessus.
Par contre, l’ordre des règles est important dans un firewall.
Il faut mettre tes règles de drop en dernière sinon elles sont lues (et appliquées) avant et du coup ca bloque

MERCI ça fonctionne

Savez vous comment faire pour que mon script IPTABLE se lance au démarrage de la VM ?

Indéniablement.

Pas forcément. Cela dépend de leur rôle et de la structure du jeu de règles.
D’autre part il n’y a aucune règle DROP dans ce script. Seules les politiques par défaut sont à DROP, et leur place dans le script n’a pas d’incidence sur le résultat final mais seulement sur l’état transitoire d’iptables pendant l’exécution du script.

Ce qui peut précisément être le but recherché.
Dans le cas de la règle DROP mentionnée ci-dessus, son rôle étant de bloquer les paquets TCP destinés au port 80 depuis une adresse IP spécifique, il aurait fallu la placer avant la règle qui accepte les paquets destinés au port 80 depuis n’importe quelle adresse pour qu’elle soit efficace.

J’ai fait ce que vous m’avez dit, j’ai réussit. a sauvegarder les règle IPTABLE au démarrage de Windows
Merci pour tout