Page 1 : Commandes de configuration Iptables/Netfilter
- Introduction
- Le script de démarrage pour gérer le firewall
- Les commandes de configuration du firewall
- Les fichiers de configurations
- Les commandes pour gérer les modules Netfilter
- Les modules de Netfilter
- Les patchs netfilters
Introduction
La façon générale de procéder dans la sécurité informatique est de tout fermer puis d'ouvrir les ports nécessaires en respectant la règle "tout ce qui n'est pas spécifiquement autorisé est défendu". Il est fort recommandé aussi de ne pas faire tourner un service non nécessaire même si les ports d'accès à ces services sont fermés.iptables et netfilter font parties des différentes versions de Mandriva, il suffit d'installer les différents packages nécessaires.
Le script de démarrage pour gérer le firewall
Sur les distributions Mandriva, un script de démarrage /etc/init.d/iptables existe pour commander le service :
- service iptables save : permet de sauvegarder l'état des tables dans /etc/sysconfig/iptables (en utilisant iptables-save),
- service iptables start (ou restart) : permet de restaurer l'état des tables au moyen du fichier /etc/sysconfig/iptables
- service iptables stop : efface toutes vos règles et met par défaut ACCEPT sur toutes les chaînes de toutes les tables
- service iptables panic : Permet de verrouiller la machine en cas de problème.
- iptables-save: sauvegarde de l'état actuel de Netfilter dans un fichier
iptables-save > maconfig.iptables
- iptables-restore: restaure le contenu du firewall dans un fichier
iptables-restore > maconfig.rules
Les commandes de configuration du firewall
Les règles sont testées dans l’ordre où elles sont dans la chaîne. Par exemple si nous avons les règles. Il existe trois type de tables sur lesquelles ont agit pour sécuriser notre PC. FILTER : C'est la table par défaut. Elle contient les règles de filtrage
NAT : Table utilisée pour la translation d'adresse ou de port
MANGLE : Table de modification de paquet
Iptables –[val1] [val2] [val3] –j [val4] [val5]
- Val1 :
-X = delete chain, on efface une chaine vide.
-P = Policy, on spécifie le target par défaut.
-I = insert, on ajoute un règle en tête du filtre.
-A = append, on ajoute une règle à la fin du filtre.
-D = delete, on efface une règle.
-R = replace, on remplace un règle.
-L = list, on liste un chaîne.
-F = flush, on efface les règle d’une chaîne.
-P = Policy, réaction par défaut.
-Z = Mettre à zero les compteurs de bits et de paquets d'une chaine.
! =peut être utilisé pour spécifier le contraire dans le sens "sauf"
- val2 : Les chaines
OUTPUT : paquets en sortie du firewall provenant du PC
FORWARD : paquet en entrée du firewall en transit (non destiné au PC)
MASQUERADE: Masquage de l'adresse IP
PREROUTING : juste comme le paquet arrive
POSTROUTING : sort du routage
- Val3: Les éléments de syntaxe suivants servent à préciser les règles :
-d = destination, ip cible
-p = protocol, type de protocol (tcp/udp/icmp/…)
-dport = destination-port, port de destination ou plage de port
-sport = souce-port, port source ou plage de port
-m multiport = module, permet de spécifier plusieurs ports à matcher
-m limit --limit 1/s = module, pour éviter le SYN flood, limite le nombre de paquet à 1 par sec
--mac-source FF:FF:FF:FF:FF:FF = pour filtrer les paquet suivant @mac -t = nom de la table concernée par l’action
-i = in-interface, interface (carte réseau) d’entrée
-o = out-interface, interface (carte réseau) de sortie
-n = sans résolution de nom
-v = verbose, iptables raconte sa vie avec plus de détails
-f = fragment, paquet fragmenté
- Val4 : Les actions à mener en fonction des détails de la règle :
ACCEPT = accépte le paquet si la règle est vérifiée
DROP = rejète le paquet sans message d'erreur si la règle est vérifiée
REJECT = rejète le paquet avec message d'erreur si la règle est vérifiée
SNAT = NAT Source, translation d'adresse IP source
DNAT = NAT Destination, translation d'adresse IP destination
MASQUERADE = Une gateway transforme les paquets sortants passant par elle pour donner l'illusion qu'ils sortent de la gateway elle-même par un port alloué dynamiquement ; lorsque la gateway recoit une réponse sur ce port, elle utilise une table de correspondance entre le port et les machines du réseau privé qu'elle gère pour lui faire suivre le paquet.
- val5 :
--to-source = permet de specifier une adresse IP, un bloc d'adresse IP et un port ou bloc de port source (TCP et UDP seulement)
--log-prefix : Permet de spécifier un préfixe pour les logs.
--log-level = Level, permet de spécifier un niveau pour les logs log. Les noms valides (insensibles à la casse) sont `debug', `info', `notice', `warning', `err', `crit', `alert' et `emerg'. Ils correspondent respectivement aux nombres 7 à 0. Le niveau par défaut est `warning'.
Pour avoir de l'aide, il n'y a que demander. Exemple:
- iptables -m --help
- iptables -p --help
- iptables --help
- man iptables
Les fichiers de configurations
- Elle autorise le transfert de paquet entre 2 interfaces.
echo 1 > /proc/sys/net/ipv4/ip_forward
- Autorise ou refuse le protocole ICMP (réponse au ping)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
- Ignore les ping envoyés par broadcasts ou multicasts. Souvent utilisé pour eviter les "Ping Scanning"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
*Ignore tous les ping envoyés par broadcasts, multicasts ou ceux destiné à la machine directement.
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
- Accepte la redirection de ping dans le cas d'un routeur ou d'une passerelle.
echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
- Empêche l' "ip spoofing". Le noyau vérifie que la concordance IP/Interface soit cohérente. Par exemple une IP privée ne sera pas accepter si elle vient par l'interface connecter à internet.
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
Les commandes pour gérer les modules Netfilter
- Lister : lsmod
- Charger le module et ceux dont il dépend : modprobe module
- Décharger le module et ceux dont il dépend : modprobe -r module
- Les monter dans le script de configuration des règles de filtrage
- Les monter dans /etc/conf.modules
- Intégrer les service automatiquement dans le noyau
Les modules de Netfilter
- ip_conntrack: suivi de connection
-
- NEW = Une nouvelle connexion est établie.
- ESTABLISHED = La connexion analysée a déjà été établie.
- RELATED = La connexion est en relation avec une autre connexion déjà établie (par exemple, dans le FTP actif).
- INVALID = Le paquet n'appartient à aucune des trois catégories précédentes.
- NEW = Une nouvelle connexion est établie.
- -m state --state = Défini l'état de connection requis
- Toutes les connexions qui sortent du LAN vers le Net sont acceptées
iptables -A FORWARD -i eth0 -o ppp0 -m state \--state NEW,ESTABLISHED,RELATED -j ACCEPT
- Nous aurions aussi bien pu écrire :
iptables -A FORWARD -i eth0 -o ppp0 -m state \--state ! INVALID -j ACCEPT
- Seules les connexions déjà établies ou en relation avec des connexions établies sont acceptées venant du Net vers le LAN
iptables -A FORWARD -i ppp0 -o eth0 -m state \--state ESTABLISHED,RELATED -j ACCEPT
- ip_conntrack_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
Cela pour que la connexion puisse s'établir. Ensuite (et c'est la qu'on a besoin de ip_conntrack_ftp) :
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
iptables -A INPUT -i ppp0 -p tcp \--sport 1024:65535 \--dport 1024:65535 -m state \--state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o ppp0 -p tcp \--sport 1024:65535 \--dport 1024:65535 -m state \--state ESTABLISHED,RELATED -j ACCEPT
- ip_conntrack_irc:
- ip_conntrack_h323
- ip_conntrack_pptp
- ip_nat_ftp:
- ip_nat_irc
- iptable_filter
- iptable_nat
Les patchs netfilters
Versão a ser apresentada 1.33 last modified by mushu-petit-dragon on 22/08/2005 at 01:07
Document data
Base de Conhecimento
- Perdeu a conta?
- ainda não é um membro? Junte-se ao Clube e faça o download agora!
- get_the_pwp_subscription