iptables-tutorial(1).pdf

(7092 KB) Pobierz
Iptables Tutorial 1.2.2
Oskar Andreasson
oan@frozentux.net
Publié par :
arsace@wanadoo.fr
Marc Blanc
philippe.latu(at)inetdoc.net
http://www.inetdoc.net
Philippe Latu
Dédicaces
Je voudrais dédier ce document à ma merveilleuse soeur pour m'avoir inspiré et donné ses conseils en retour.
Elle est une source de joie et un rayon de soleil quand j'ai besoin d'elle. Merci !
Un mot particulier pour Ninel pour m'avoir toujours encouragé dans mon travail et avoir pris soin de moi
quand j'en avais le plus besoin. Merci !
Ensuite, j'aimerais dédicacer ce travail à tous les courageux développeurs et mainteneurs de Linux. Ce sont
eux qui font exister ce fabuleux système d'exploitation.
Iptables Tutorial 1.2.2
i
Table des matières
À propos de l'auteur ............................................................................................................................... vi
Exploration de ce document ................................................................................................................... vii
Préalables ............................................................................................................................................. viii
Conventions utilisées dans ce document ................................................................................................. ix
1. Introduction ......................................................................................................................................... 1
1.1. Motivations ............................................................................................................................... 1
1.2. Contenu .................................................................................................................................... 1
1.3. Termes spécifiques ................................................................................................................... 1
1.4. Au prochain chapitre ................................................................................................................ 2
2. Rappel TCP/IP ..................................................................................................................................... 3
2.1. Couches TCP/IP ........................................................................................................................ 3
2.2. Caractéristiques IP ................................................................................................................... 4
2.3. En-Têtes IP ............................................................................................................................... 5
2.4. Caractéristiques TCP ................................................................................................................ 7
2.5. En-têtes TCP ............................................................................................................................. 8
2.6. Caractéristiques UDP ................................................................................................................ 9
2.7. En-têtes UDP ............................................................................................................................ 9
2.8. Caractéristiques ICMP .............................................................................................................. 9
2.9. En-têtes ICMP ......................................................................................................................... 10
2.9.1. Écho requête/réponse ICMP ......................................................................................... 10
2.9.2. Destination Injoignable ICMP ....................................................................................... 11
2.9.3. Coupure de source ....................................................................................................... 12
2.9.4. Redirection ................................................................................................................... 12
2.9.5. TTL égale 0 .................................................................................................................. 12
2.9.6. Paramètre problème ..................................................................................................... 13
2.9.7. Horodatage requête/réponse ........................................................................................ 13
2.9.8. Requête/réponse information ........................................................................................ 13
2.10. Caractéristiques SCTP .......................................................................................................... 13
2.10.1. Initialisation et association ......................................................................................... 14
2.10.2. Envoi de données et contrôle de session .................................................................... 14
2.10.3. Arrêt et abandon ........................................................................................................ 15
2.11. En-têtes SCTP ....................................................................................................................... 15
2.11.1. Format d'en-têtes génériques SCTP ........................................................................... 15
2.11.2. En-tête communs et génériques SCTP ........................................................................ 15
2.11.3. Bloc SCTP ABORT ...................................................................................................... 17
2.11.4. Bloc SCTP COOKIE ACK ............................................................................................ 17
2.11.5. Bloc SCTP COOKIE ECHO ......................................................................................... 17
2.11.6. Bloc SCTP DATA ........................................................................................................ 17
2.11.7. Bloc SCTP ERROR ..................................................................................................... 18
2.11.8. Bloc SCTP HEARTBEAT ............................................................................................. 19
2.11.9. Bloc SCTP HEARTBEAT ACK ..................................................................................... 19
2.11.10. Bloc SCTP INIT ........................................................................................................ 19
2.11.11. Bloc SCTP INIT ACK ................................................................................................ 21
2.11.12. Bloc SCTP SACK ...................................................................................................... 22
2.11.13. Bloc SCTP SHUTDOWN ........................................................................................... 23
2.11.14. Bloc SCTP SHUTDOWN ACK ................................................................................... 23
2.11.15. Bloc SCTP SHUTDOWN COMPLETE ........................................................................ 23
2.12. Destination TCP/IP par routage ............................................................................................. 24
2.13. Prochaine étape .................................................................................................................... 24
3. Introduction au filtrage IP ................................................................................................................. 25
3.1. Qu'est-ce qu'un filtre IP ? ....................................................................................................... 25
3.2. Termes et expressions du filtrage IP ....................................................................................... 25
3.3. Comment configurer un filtre IP ? ........................................................................................... 26
3.4. Au prochain chapitre .............................................................................................................. 28
4. Introduction à la traduction d'adresse réseau .................................................................................... 29
4.1. Comment le Nat est utilisé, termes et expressions de base ..................................................... 29
4.2. Divergences sur l'utilisation du NAT ....................................................................................... 29
4.3. Exemple d'une machine NAT en théorie ................................................................................. 30
4.3.1. Ce qui est nécessaire pour une machine NAT .............................................................. 30
4.3.2. Emplacement des machines NAT ................................................................................. 30
4.3.3. Comment placer les proxies ? ...................................................................................... 30
4.3.4. Étape finale pour votre machine NAT .......................................................................... 31
4.4. Prochain chapitre .................................................................................................................... 31
5. Préparatifs ......................................................................................................................................... 33
5.1. Obtenir Iptables ...................................................................................................................... 33
5.2. Configuration du noyau ........................................................................................................... 33
5.3. Configuration du domaine utilisateur ...................................................................................... 35
5.3.1. Compilation des applications ........................................................................................ 35
5.3.2. Installation sur Red Hat 7.1 ......................................................................................... 36
Iptables Tutorial 1.2.2
ii
Iptables Tutorial 1.2.2
5.4. Prochain chapitre ....................................................................................................................
6. Traversée des tables et des chaînes ..................................................................................................
6.1. Généralités ..............................................................................................................................
6.2. La table Mangle ......................................................................................................................
6.3. La table Nat ...........................................................................................................................
6.4. La table Raw ..........................................................................................................................
6.5. La table Filter .........................................................................................................................
6.6. Chaînes utilisateurs spécifiques ..............................................................................................
6.7. Prochain chapitre ....................................................................................................................
7. La machine d'état ..............................................................................................................................
7.1. Introduction ............................................................................................................................
7.2. Les entrées de conntrack ........................................................................................................
7.3. États de l'espace utilisateur ....................................................................................................
7.4. Connexions TCP ......................................................................................................................
7.5. Connexions UDP .....................................................................................................................
7.6. Connexions ICMP ....................................................................................................................
7.7. Connexions par défaut ............................................................................................................
7.8. Connexions non tracées et la table raw ..................................................................................
7.9. Protocoles complexes et traçage de connexion ........................................................................
7.10. Chapitre suivant ....................................................................................................................
8. Sauvegarde et restauration des tables de règles importantes .............................................................
8.1. Considérations de vitesse ........................................................................................................
8.2. Inconvénients avec restore .....................................................................................................
8.3. iptables-save ...........................................................................................................................
8.4. iptables-restore .......................................................................................................................
8.5. Prochain chapitre ....................................................................................................................
9. Création d'une règle ..........................................................................................................................
9.1. Bases de la commande iptables ..............................................................................................
9.2. Les tables ...............................................................................................................................
9.3. Commandes ............................................................................................................................
9.4. Chapitre suivant .....................................................................................................................
10. Correspondances Iptables ................................................................................................................
10.1. Correspondances génériques .................................................................................................
10.2. Correspondances implicites ...................................................................................................
10.2.1. Correspondances TCP ................................................................................................
10.2.2. Correspondances UDP ................................................................................................
10.2.3. Correspondances ICMP ..............................................................................................
10.2.4. Correspondances SCTP ..............................................................................................
10.3. Correspondances explicites ...................................................................................................
10.3.1. Correspondance addrtype ...........................................................................................
10.3.2. Correspondance AH/ESP ............................................................................................
10.3.3. Correspondance Comment .........................................................................................
10.3.4. Correspondance Connmark ........................................................................................
10.3.5. Correspondance Conntrack ........................................................................................
10.3.6. Correspondance Dscp .................................................................................................
10.3.7. Correspondance Ecn ..................................................................................................
10.3.8. Correspondance Hashlimit .........................................................................................
10.3.9. Correspondance Helper ..............................................................................................
10.3.10. Correspondance de plage IP .....................................................................................
10.3.11. Correspondance Length ...........................................................................................
10.3.12. Correspondance Limit ..............................................................................................
10.3.13. Correspondance Mac ................................................................................................
10.3.14. Correspondance Mark ..............................................................................................
10.3.15. Correspondance Multiport ........................................................................................
10.3.16. Correspondance Owner ............................................................................................
10.3.17. Correspondance type de paquet ...............................................................................
10.3.18. Correspondance Realm .............................................................................................
10.3.19. Correspondance Recent ............................................................................................
10.3.20. Correspondance State ..............................................................................................
10.3.21. Correspondance Tcpmss ...........................................................................................
10.3.22. Correspondance Tos .................................................................................................
10.3.23. Correspondance Ttl ..................................................................................................
10.3.24. Correspondance Unclean ..........................................................................................
10.4. Prochain chapitre ..................................................................................................................
11. Iptables cibles et sauts ....................................................................................................................
11.1. Cible ACCEPT .......................................................................................................................
11.2. Cible CLASSIFY ....................................................................................................................
11.3. Cible CLUSTERIP ..................................................................................................................
11.4. Cible CONNMARK ................................................................................................................
11.5. Cible CONNSECMARK ..........................................................................................................
11.6. Cible DNAT ...........................................................................................................................
37
38
38
41
41
42
42
42
43
44
44
44
45
46
48
49
50
50
51
52
53
53
53
53
55
55
56
56
56
57
60
61
61
63
63
64
65
66
67
67
69
69
70
70
72
72
73
75
75
75
76
77
77
78
78
79
80
80
83
83
83
84
85
85
86
86
86
87
88
89
89
Iptables Tutorial 1.2.2
iii
Iptables Tutorial 1.2.2
11.7. Cible DROP ........................................................................................................................... 91
11.8. Cible DSCP ........................................................................................................................... 92
11.9. Cible ECN ............................................................................................................................. 92
11.10. Options de la cible LOG ...................................................................................................... 93
11.11. Cible MARK ........................................................................................................................ 94
11.12. Cible MASQUERADE ........................................................................................................... 94
11.13. Cible MIRROR ..................................................................................................................... 95
11.14. Cible NETMAP .................................................................................................................... 95
11.15. Cible NFQUEUE .................................................................................................................. 96
11.16. Cible NOTRACK .................................................................................................................. 96
11.17. QUEUE target ..................................................................................................................... 96
11.18. Cible REDIRECT ................................................................................................................. 96
11.19. Cible REJECT ...................................................................................................................... 97
11.20. Cible RETURN .................................................................................................................... 97
11.21. Cible SAME ......................................................................................................................... 97
11.22. Cible SECMARK .................................................................................................................. 98
11.23. Cible SNAT ......................................................................................................................... 98
11.24. Cible TCPMSS ..................................................................................................................... 99
11.25. Cible TOS .......................................................................................................................... 100
11.26. Cible TTL .......................................................................................................................... 100
11.27. Cible ULOG ....................................................................................................................... 101
11.28. Prochain chapitre .............................................................................................................. 102
Déboguer vos scripts ..................................................................................................................... 103
12.1. Déboguer, une nécessité ..................................................................................................... 103
12.2. Débogage en Bash .............................................................................................................. 103
12.3. Outils système pour le débogage ........................................................................................ 105
12.4. Débogage d'Iptables ............................................................................................................ 105
12.5. Autres outils de débogage ................................................................................................... 106
12.5.1. Nmap ....................................................................................................................... 107
12.5.2. Nessus ...................................................................................................................... 108
12.6. Prochain chapitre ................................................................................................................ 108
Fichier rc.firewall .......................................................................................................................... 109
13.1. exemple de rc.firewall ......................................................................................................... 109
13.2. Explication du rc.firewall .................................................................................................... 109
13.2.1. Options de configuration .......................................................................................... 109
13.2.2. Chargement initial des modules supplémentaires ..................................................... 109
13.2.3. Réglage du proc ....................................................................................................... 110
13.2.4. Déplacement des règles vers les différentes chaînes ................................................. 111
13.2.5. Mise en place des actions par défaut ....................................................................... 112
13.2.6. Implémentation des chaînes utilisateur dans la table filter ........................................ 113
13.2.6.1. La chaîne bad_tcp_packets ............................................................................ 113
13.2.6.2. La chaîne allowed .......................................................................................... 113
13.2.6.3. La chaîne TCP ............................................................................................... 113
13.2.6.4. La chaîne UDP .............................................................................................. 114
13.2.6.5. La chaîne ICMP ............................................................................................. 114
13.2.7. Chaîne INPUT .......................................................................................................... 115
13.2.8. Chaîne FORWARD .................................................................................................... 116
13.2.9. Chaîne OUTPUT ....................................................................................................... 116
13.2.10. Chaîne PREROUTING de la table nat ..................................................................... 116
13.2.11. Démarrage de SNAT et de la chaîne POSTROUTING .............................................. 116
13.3. Chapitre suivant .................................................................................................................. 117
Exemples de scripts ....................................................................................................................... 118
14.1. Structure du script rc.firewall.txt ........................................................................................ 118
14.1.1. La structure ............................................................................................................. 118
14.2. rc.firewall.txt ....................................................................................................................... 120
14.3. rc.DMZ.firewall.txt .............................................................................................................. 121
14.4. rc.DHCP.firewall.txt ............................................................................................................ 123
14.5. rc.UTIN.firewall.txt ............................................................................................................. 124
14.6. rc.test-iptables.txt ............................................................................................................... 125
14.7. rc.flush-iptables.txt .............................................................................................................. 125
14.8. Limit-match.txt .................................................................................................................... 125
14.9. Pid-owner.txt ....................................................................................................................... 126
14.10. Recent-match.txt ............................................................................................................... 126
14.11. Sid-owner.txt ..................................................................................................................... 128
14.12. Ttl-inc.txt ........................................................................................................................... 128
14.13. Iptables-save ruleset ......................................................................................................... 128
14.14. Prochain chapitre .............................................................................................................. 129
Interfaces utilisateur graphiques pour Iptables/netfilter ................................................................. 130
15.1. fwbuilder ............................................................................................................................. 130
15.2. Projet Turtle Firewall .......................................................................................................... 130
15.3. Integrated Secure Communications System ......................................................................... 132
12.
13.
14.
15.
Iptables Tutorial 1.2.2
iv
Zgłoś jeśli naruszono regulamin