Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Règle IPTABLES

1 réponse
Avatar
Patrice Genieys
Bonjour
Un ami a créé ces règles pour iptables sensées me permettre de surfer,
de récupérer mes mails et utiliser un client EDonkey.
Problème, après une première connexion, plus rien ne sort ni ne rentre.
Si quelqu'un peut me dire à quel endroit le script est erroné...
Par avance, merci. (Désolé pour la longueur relative du message)
Patrice

# Definition de mon adresse (Les XXX sont là pour info :-))
LOCAL_IP=XXX.XXX.0.0/16

# Bloque tout par defaut avant toutes autres opérations
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Vide toutes les regles de filtrages pre-existantes
iptables -F
iptables -F -t nat
iptables -F -t mangle

# LOG puis DROP tout traffic invalide
iptables -A INPUT -m state --state INVALID -j LOG
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j LOG
iptables -A OUTPUT -m state --state INVALID -j DROP

iptables -A INPUT -i lo -j ACCEPT

# Emule en entrée depuis internet (tcp)
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state NEW --syn -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en entrée depuis internet (udp)
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --sport 1024:
--dport 4662 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en sortie vers internet (udp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --sport 1024:
--dport 4662 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT

# DNS en sortie vers internet (udp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --sport 1024:
--dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --dport 1024:
--sport 53 -m state --state ESTABLISHED -j ACCEPT

# DNS en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 53 -m state --state ESTABLISHED -j ACCEPT

# WEB en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --dport 1024:
--sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 80 -m state --state ESTABLISHED -j ACCEPT

# SMTP en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 25 -m state --state ESTABLISHED -j ACCEPT

# POP en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 110 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 110 -m state --state ESTABLISHED -j ACCEPT

# Réinitialise les compteurs
iptables -Z
iptables -Z -t nat
iptables -Z -t mangle

iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG

1 réponse

Avatar
erer
Patrice Genieys wrote:

Bonjour
Un ami a créé ces règles pour iptables sensées me permettre de surfer,
de récupérer mes mails et utiliser un client EDonkey.
Problème, après une première connexion, plus rien ne sort ni ne rentre.
Si quelqu'un peut me dire à quel endroit le script est erroné...
Par avance, merci. (Désolé pour la longueur relative du message)
Patrice

# Definition de mon adresse (Les XXX sont là pour info :-))
LOCAL_IP=XXX.XXX.0.0/16

# Bloque tout par defaut avant toutes autres opérations
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Vide toutes les regles de filtrages pre-existantes
iptables -F
iptables -F -t nat
iptables -F -t mangle

# LOG puis DROP tout traffic invalide
iptables -A INPUT -m state --state INVALID -j LOG
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j LOG
iptables -A OUTPUT -m state --state INVALID -j DROP

iptables -A INPUT -i lo -j ACCEPT

# Emule en entrée depuis internet (tcp)
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state NEW --syn -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en entrée depuis internet (udp)
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --sport 1024:
--dport 4662 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 4662 -m state --state ESTABLISHED -j ACCEPT

# Emule en sortie vers internet (udp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --sport 1024:
--dport 4662 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --dport 1024:
--sport 4662 -m state --state ESTABLISHED -j ACCEPT

# DNS en sortie vers internet (udp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p udp --sport 1024:
--dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p udp --dport 1024:
--sport 53 -m state --state ESTABLISHED -j ACCEPT

# DNS en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 53 -m state --state ESTABLISHED -j ACCEPT

# WEB en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -p tcp --dport 1024:
--sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -p tcp --sport 1024:
--dport 80 -m state --state ESTABLISHED -j ACCEPT

# SMTP en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 25 -m state --state ESTABLISHED -j ACCEPT

# POP en sortie vers internet (tcp)
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -d $LOCAL_IP -i ppp0 -m tcp -p tcp --dport
1024: --sport 110 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 0.0.0.0/0 -s $LOCAL_IP -o ppp0 -m tcp -p tcp --sport
1024: --dport 110 -m state --state ESTABLISHED -j ACCEPT

# Réinitialise les compteurs
iptables -Z
iptables -Z -t nat
iptables -Z -t mangle

iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG



Personnellement, j'utilise Guarddog qui gère automatiquement tout cela.
C'est assez facile de comprendre comment cela marche car il suffit de
définir les protocoles que l'on désire laissez passer.
Pour vérifier que la protection est efficace (?) il suffit de se faire
scanner les ports par https://grc.com/x/ne.dll?bh0bkyd2