Pages : 1
#1 Le 14/11/2016, à 12:17
- amanda
Script iptables
Bonjour,
Un peu perdue pour la configuration, j'aurais besoin d'un peu d'aide pour mon pare-feu iptables.
Je n'utilise que l'IPV4 et je n'ai pas de serveur.
Voici mon pare-feu. Qu'en pensez-vous?
#!/bin/bash
iptables -F
iptables -X
# Bloque tout le trafic
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
## On drop les scans XMAS et NULL.
iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# On drop les paquets invalides
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
# Dropper silencieusement tous les paquets broadcastés.
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
# Pas de filtrage sur l'interface de "loopback"
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
# protocole ICMP (notamment le ping)
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
# protocole IGMP (pour le multicast)
-A INPUT -p igmp -j ACCEPT
-A OUTPUT -p igmp -j ACCEPT
## Permettre à une connexion ouverte de recevoir du trafic en entrée..
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
## Permettre à une connexion ouverte de recevoir du trafic en sortie.
iptables -A OUTPUT -m state ! --state INVALID -j ACCEPT
# DNS
-A OUTPUT -p tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
i-A INPUT -p udp --dport 53 -j ACCEPT
# Décommentez la ligne suivante pour que le serveur de courrier éventuel soit
# joignable de l'extérieur. Laissez bien smtps et submission si vous avez
# activé les services SMTPS et soumission de messages… L'option --dports
# permet de traiter plusieurs ports en une fois.
#-A INPUT -p tcp --dports smtp,smtps,submission -j ACCEPT
# La règle par défaut pour la chaine INPUT devient REJECT (contrairement
# à DROP qui ignore les paquets, avec REJECT, l'expéditeur est averti
# du refus). Il n'est pas possible de mettre REJECT comme politique par
# défaut. Au passage, on note les paquets qui vont être jetés, ça peut
# toujours servir.
-A INPUT -j LOG --log-prefix "paquet IPv4 inattendu "
-A INPUT -j REJECT
COMMIT
# fLOOD ou déni de service
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
#Scan de ports
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
exit 0
Merci pour toute aide avenir.
Hors ligne
Pages : 1