1. Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Sécurité du système
Pare-feu et Nating
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC2
noelmace.com
2. Plan
• Netfilter
• Vocabulaire
• Tables
• Cibles
• Extensions de correspondance
Options des extensions de
correspondance
• Extensions de cibles
traduction d'adresse réseau
• Options essentielles de iptables
• Règles simples
Exemples de règles simples
Linux LPIC2
noelmace.com
3. Netfilter
• Framework
Pare-feu Linux
Projet lancé en 1998
Intégré à Linux 2.3 en mars 2000
•
en remplacement de ipchains (lui aussi développé par Rusty Russell)
• Manipulable par divers programmes en espace utilisateur
Le plus courant étant iptables, développé par l'équipe Netfilter
•
Linux LPIC2
Mais il en existe d'autres, comme ufw ou gufw
noelmace.com
7. Options essentielles de iptables
• Création d'une règle
# iptables [-t table] -A chaîne règle -j cible [options]
# iptables [-t table] -A chaîne règle -j cible [options]
• Suppression d'une règle
# iptables [-t table] -D chaîne {règle|règlenum} [options]
# iptables [-t table] -D chaîne {règle|règlenum} [options]
• Définition de la règle par défaut (stratégie) d'une chaine
# iptables [-t table] -P chaîne cible [options]
# iptables [-t table] -P chaîne cible [options]
• Lister toutes les règles d'une chaîne
# iptables [-t table] -L chaîne [options]
# iptables [-t table] -L chaîne [options]
• Vider une chaîne (supprime toutes les règles d'une chaîne)
# iptables [-t table] -F chaîne [options]
# iptables [-t table] -F chaîne [options]
Linux LPIC2
noelmace.com
8. Règles simples
• pour une interface
-i interface : d'entrée
-o interface : pour une interface de sortie
• pour une adresse ip
-s adresse : source
-d adresse : destination
Linux LPIC2
noelmace.com
9. Exemples de règles simples
• Refuser tout les paquets entrant via l'interface eth1
# iptables -A INPUT -i eth1 -j DROP
# iptables -A INPUT -i eth1 -j DROP
• Accepter tout les paquets sortant via l'interface eth1
# iptables -A OUTPUT -o eth1 -j ACCEPT
# iptables -A OUTPUT -o eth1 -j ACCEPT
• Refuser tout les paquets en entrée provenant de 192.168.1.10
# iptables -A INPUT -s 192.168.1.10/24 -j DROP
# iptables -A INPUT -s 192.168.1.10/24 -j DROP
• Autoriser tout les paquets en sortie à destination de 192.168.1.1
# iptables -A OUTPUT -d 192.168.1.1/24 -j ACCEPT
# iptables -A OUTPUT -d 192.168.1.1/24 -j ACCEPT
Linux LPIC2
noelmace.com
10. Extensions de correspondance
• modules additionnels de correspondance de paquets
Peuvent être chargés de deux manières
•
Implicitement
- Option -p protocole ou --protocol protocole
• udp, tcp, icmp ou all
•
Explicitement
- Option -m module ou --match module
• Permettent d'utiliser des options supplémentaires, en fonction du module
• Remarque : pour visualiser l'aide relative à un module, indiquez l'option correspondante suivie de -h
Linux LPIC2
noelmace.com
11. Options des extensions de correspondance
• tcp et udp
--source-port [!] port[:port]
• icmp
--destination-port [!] port[:port]
• tcp
--icmp-type [!] nom_du_type_icmp
•
numérique ou par nom (cf -h)
• state
--tcp-flags [!] masque comp
•
masques : SYN ACK FIN RST
URG PSH ALL NONE
•
--state {NEW|ESTABLISHED|RELATED|
INVALID}
séparation par des virgules
[!] --syn
Linux LPIC2
noelmace.com
12. Extensions de cibles
• modules de cible additionnels
permettre de nouvelles actions sur les paquets
• LOG : journalisation du paquet
• REJECT : supprimer le paquet et répondre par un paquet d'erreur
sorte de DROP verbeux
• traduction d'adresse réseau (NAT : Network address translation)
DNAT
SNAT
MASQUERADE
• Et bien d'autres (cf man iptables-extensions)
Linux LPIC2
noelmace.com
13. traduction d'adresse réseau
• Uniquement disponibles dans la table nat
• modification de l'adresse de destination
# iptables -t nat -A {PREROUTING|OUTPUT} règle
# iptables -t nat -A {PREROUTING|OUTPUT} règle
-j DNAT --to-destination adresse-ip[-adresse-ip][:port-port]
-j DNAT --to-destination adresse-ip[-adresse-ip][:port-port]
• modification de l'adresse source
personnalisable
# iptables -t nat -A POSTROUTING règle
# iptables -t nat -A POSTROUTING règle
-j SNAT --to-source adresse-ip[-adresse-ip][:port-port]
-j SNAT --to-source adresse-ip[-adresse-ip][:port-port]
masquerading : une seule ip (celle du routeur)
# iptables -t nat -A POSTROUTING règle -j MASQUERADE
# iptables -t nat -A POSTROUTING règle -j MASQUERADE
Linux LPIC2
noelmace.com
14. Ce qu’on a couvert
• Configuration du pare-feu Netfilter sous GNU/Linux
filtrage
NAT et IP maquerading
logging
212.1 Configuring a router
Weight : 3
Description : Candidates should be able to configure a system to perform network address translation (NAT, IP masquerading) and
state its significance in protecting a network. This objective includes configuring port redirection, managing filter rules and averting
attacks.
Linux LPIC2
noelmace.com
15. Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.
Linux LPIC2
noelmace.com