Une petite aide iptables...
Fredish
Messages postés
373
Statut
Membre
-
kelux Messages postés 3267 Statut Contributeur -
kelux Messages postés 3267 Statut Contributeur -
C'est un script simple, que j'ai pu faire grâce à pas mal de docs sur le net, et qui pourra, je pense, servir de base à tous les newbies d'iptables, qui, comme moi, on galeré au début. Donc, voilà:
Noter, qu'il faut quand même mettre ses propres serveurs dns, pas les miens... lol, et qu'il y a trois rêgles un peu trop permissives, pour l'irc/dcc et le ftp, donc, perso, je conseille de les commenter quand on n'utilise pas ces types de connexions. Voilà, tout conseil ou commentaire est le bienvenu, bien entendu . :)
#!/bin/sh #Clean des règles de filtrage iptables -F iptables -X #Connexions entrantes ignorées iptables -P INPUT DROP #Forward ignoré iptables -P FORWARD DROP #Connexions sortantes ignorées iptables -P OUTPUT DROP #Tout accepter en local iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #Accepter le DNS iptables -A INPUT -i ppp0 --protocol udp -s 195.170.0.2 --source-port 53 -j ACCEPT iptables -A INPUT -i ppp0 --protocol udp -s 195.170.2.1 --source-port 53 -j ACCEPT iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.0.2 --destination-port 53 -j ACCEPT iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.2.1 --destination-port 53 -j ACCEPT #Accepter le protocole ICMP iptables -N ICMP iptables -A ICMP -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A ICMP -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A ICMP -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT iptables -A ICMP -p icmp --icmp-type echo-reply -m limit --limit 1/second -j ACCEPT #Virer le reste iptables -A ICMP -j DROP iptables -A INPUT -p icmp -j ICMP #Mais accepter le ping sortant iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT #Ignorer le protocole IGMP iptables -A INPUT -p igmp -j DROP #Ignorer le protocole PIM iptables -A INPUT -p pim -j DROP #Scan furtif iptables -A INPUT -p tcp --syn -m limit --limit 1/second -j ACCEPT iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/second -j ACCEPT #msn iptables -A OUTPUT --protocol tcp --dport 1863 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT --protocol tcp --sport 1863 -m state --state ESTABLISHED -j ACCEPT #jabber iptables -A OUTPUT --protocol tcp --dport 5222 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT --protocol tcp --sport 5222 -m state --state ESTABLISHED -j ACCEPT #icq iptables -A OUTPUT --protocol tcp --dport 5190 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT --protocol tcp --sport 5190 -m state --state ESTABLISHED -j ACCEPT #irc iptables -A OUTPUT --protocol tcp --dport 6667 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT --protocol tcp --sport 6667 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT #http iptables -A INPUT --protocol tcp -m multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT #ftp iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT #Mode passif iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT #Mail iptables -A OUTPUT -o ppp0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i ppp0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -i ppp0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT #Log des paquets refusés iptables -N LOG_DROP iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES:tout:IGNORE] : ' iptables -A LOG_DROP -j DROP iptables -A INPUT -p tcp -j LOG_DROP iptables -A OUTPUT -p tcp -j LOG_DROP
Noter, qu'il faut quand même mettre ses propres serveurs dns, pas les miens... lol, et qu'il y a trois rêgles un peu trop permissives, pour l'irc/dcc et le ftp, donc, perso, je conseille de les commenter quand on n'utilise pas ces types de connexions. Voilà, tout conseil ou commentaire est le bienvenu, bien entendu . :)
A voir également:
- Une petite aide iptables...
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Petite majuscule word ✓ - Forum Word
- Petite cle en haut a droite samsung - Forum Samsung
- Petite croix snap - Forum Snapchat
- Apparition d'une clé d'entretien sur écran samsung s5 > sm-g800F ✓ - Forum Samsung
5 réponses
Salut Fred,
Merci. Demande à devenir "Contributeur" et met-nous ça dans la base de connaissances de CCM...
;-))
Z'@+...che.
Merci. Demande à devenir "Contributeur" et met-nous ça dans la base de connaissances de CCM...
;-))
Z'@+...che.
JP : Cap de burro Catalan ! Mais Content ;-)
Salut,
C'est sympa comme lignes de commande
Je suis débutant aussi avec Iptable, et j'ai un pb !!!
J'essay de mettre en place (pour une démo) un firewall entre 2 machine Win2000(l'une en192.168.0.1 et l'autre en 192.168.10.1)
J'arrive à tt bloquer (pas tres compliké), mais j'aimerai laisser passer juste le telnet tt en bloquant tt le reste.
Comment puis - je faire ??
Merci de votre aide
voili voilou !!!
voili voilou !!!
C'est sympa comme lignes de commande
Je suis débutant aussi avec Iptable, et j'ai un pb !!!
J'essay de mettre en place (pour une démo) un firewall entre 2 machine Win2000(l'une en192.168.0.1 et l'autre en 192.168.10.1)
J'arrive à tt bloquer (pas tres compliké), mais j'aimerai laisser passer juste le telnet tt en bloquant tt le reste.
Comment puis - je faire ??
Merci de votre aide
voili voilou !!!
voili voilou !!!
Pas d'aide trop perso sur ce post s'il-te-plaît. Je veux bien expliquer quelques règles qu'on ne comprendrait pas, mais pas aider quelqu'un sur un problème perso. :)
Et de plus, comme tu l'as vu je pense, je ne m'occupe pas de firewall physique (pas de forward); ca reste pour un seul poste face au net, et n'ayant pas de configuration en réseau, je n'ai pas encore abordé ca. Voilà. :)
Et de plus, comme tu l'as vu je pense, je ne m'occupe pas de firewall physique (pas de forward); ca reste pour un seul poste face au net, et n'ayant pas de configuration en réseau, je n'ai pas encore abordé ca. Voilà. :)
je rectifie une règle qui me plaît pas; j'ai vérifié, ca marche, donc, au lieu de ca:
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
pour le ping, il est préférable de mettre cela:
iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
De peur qu'on donne des réponses en sortie à cause des liaisons.
Petite précision aussi, pour ceux qui n'ont pas compris quelles etaient ces règles trop permissives, les voilà:
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
Elles ouvrent une large bande de port, car autant pour le ftp passif que pour le dcc, le port est aléatoire lors du téléchargement. Dernière petite précision, pour l'irc, je n'ai permis l'accès qu'aux serveurs utilisant le port 6667, vous pouvez très bien accepter les connexions avec plus d'un port, si cela pose problème.
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
pour le ping, il est préférable de mettre cela:
iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
De peur qu'on donne des réponses en sortie à cause des liaisons.
Petite précision aussi, pour ceux qui n'ont pas compris quelles etaient ces règles trop permissives, les voilà:
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
Elles ouvrent une large bande de port, car autant pour le ftp passif que pour le dcc, le port est aléatoire lors du téléchargement. Dernière petite précision, pour l'irc, je n'ai permis l'accès qu'aux serveurs utilisant le port 6667, vous pouvez très bien accepter les connexions avec plus d'un port, si cela pose problème.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Hello, moa aussi je kiff Netfilter !!
j'aimerai rajouter kkchoz :
Pour les DNS :
iptables -A INPUT -i ppp0 -p udp --sport 53 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --sport 1024: --dport 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
Pour ceux ki veulent partager leur connexion avec le rézo local :
#onactive le routage
echo 1 > /proc/sys/net/ipv4/ip_forward
#On fait du nat et du pat = masquerade
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
Pour le ftp, il ne faut pas oublier de charger les modules suivants (sauf si on a compilé le kernel avec...) avant le démarrage du script :
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
Je rectifie juste les regles du FTP de fred (un RELATED en trop il y avait...) :
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
#pour un serveur FTP passif
iptables -A INPUT -i ppp0 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
#pour un serveur FTP actif
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
Pour ceux ki s'interresent au FORWARD il suffit d'indiquer l'interface d'entrée et de sortie par exemple :
#eth1: interface LAN
iptables -A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Ici on ouvre absolument tout du lan vers le net et du net vers le lan on accepte seulement les "retours" de ce kon a demandé.
Pour ceux ki ont un peu de mal voila un tres bel article :
http://christian.caleca.free.fr/netfilter/
Mail me si + d'infos: j'adore le firewalling donc no problem !
Luc L.
j'aimerai rajouter kkchoz :
Pour les DNS :
iptables -A INPUT -i ppp0 -p udp --sport 53 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --sport 1024: --dport 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
Pour ceux ki veulent partager leur connexion avec le rézo local :
#onactive le routage
echo 1 > /proc/sys/net/ipv4/ip_forward
#On fait du nat et du pat = masquerade
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
Pour le ftp, il ne faut pas oublier de charger les modules suivants (sauf si on a compilé le kernel avec...) avant le démarrage du script :
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
Je rectifie juste les regles du FTP de fred (un RELATED en trop il y avait...) :
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
#pour un serveur FTP passif
iptables -A INPUT -i ppp0 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT
#pour un serveur FTP actif
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
Pour ceux ki s'interresent au FORWARD il suffit d'indiquer l'interface d'entrée et de sortie par exemple :
#eth1: interface LAN
iptables -A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Ici on ouvre absolument tout du lan vers le net et du net vers le lan on accepte seulement les "retours" de ce kon a demandé.
Pour ceux ki ont un peu de mal voila un tres bel article :
http://christian.caleca.free.fr/netfilter/
Mail me si + d'infos: j'adore le firewalling donc no problem !
Luc L.
( remarque, pourquoi pas, lol. C'est vrai qu'en le prenant comme ca, ca peut beaucoup aider... faut voir... :) )