Pédants Principes PPP
Précédent | Chapitre 6. Exercices pour l'étudiant intéressé |

# 6.2. Essayer les filtres PPP

Le programme `ppp` a la capacité d'appliquer des règles de filtrage au trafic qu'il route. Bien que cela ne soit pas aussi sécurisé qu'un véritable coupe-feu, cela autorise quelques contrôles d'accès à la liaison.

(```man ipfw`'' pour plus d'informations sur la configuration d'un système FreeBSD plus sécurisé.)

La documentation complète des différents filtres et règles utilisables avec le programme `ppp` se trouve dans les pages de manuel de `ppp`.

Il y a quatre classes de filtres qui s'appliquent au programme `ppp`:

- `alive` - filtre compteur d'accès (ou ``Keep Alive'' - garder en vie)

  Ils définissent quels événements sont ignorés par l'instruction `set timeout=`.

- `dial` - filtre d'appel

  Ils définissent quels événements sont ignorés par `ppp` en mode connexion à la demande.

- `in` - filtre d'entrée

  Ils définissent quels paquets entrants sont acceptés ou refusés par le programme `ppp`.

- `out` - filtre de sortie

  Ils définissent quels paquets sortants sont acceptés ou refusés par le programme `ppp`.

L'exemple qui suit est un extrait de la configuration d'un système opérationnel qui donne une bonne base pour un fonctionnement Internet ``normal'', tout en empêchant que `ppp` accepte n'importe quoi sur la liaison. Les commentaires décrivent la logique de chaque jeu de règles.:

           #
           # filtres KeepAlive
           # ne pa prendre en compte les paquets ICMP,DNS et RIP
           #
            set filter alive 0 deny icmp
            set filter alive 1 deny udp src eq 53
            set filter alive 2 deny udp dst eq 53
            set filter alive 3 deny udp src eq 520
            set filter alive 4 deny udp dst eq 520
            set filter alive 5 permit 0/0 0/0
           #
           # filtre d'appel:
           #  Note:  ICMP établira la connexion dans cette configuration!
           #
            set filter dial 0 permit 0/0 0/0
           #
           # autoriser les paquets ident
           #
            set filter in 0 permit tcp dst eq 113
            set filter out 0 permit tcp src eq 113
           #
           # autoriser les connexions telnet à l'Internet
           #
            set filter in 1 permit tcp src eq 23 estab
            set filter out 1 permit tcp dst eq 23
           #
           # autoriser l'accès ftp à l'Internet
           #
            set filter in 2 permit tcp src eq 21 estab
            set filter out 2 permit tcp dst eq 21
            set filter in 3 permit tcp src eq 20 dst gt 1023
            set filter out 3 permit tcp dst eq 20
           #
           # autoriser les requêtes DNS
           #
            set filter in 4 permit udp src eq 53
            set filter out 4 permit udp dst eq 53
           #
           # autoriser les transferts de zone DNS
           #
            set filter in 5 permit tcp src eq 53
            set filter out 5 permit tcp dst eq 53
           #
           # autoriser l'accès depuis/vers le réseau local
           #
            set filter in 6 permit 0/0 192.168.1.0/24
            set filter out 6 permit 192.168.1.0/24 0/0
           #
           # autoriser les réponses au ping et traceroute
           #
            set filter in 7 permit icmp
            set filter out 7 permit icmp
            set filter in 8 permit udp dst gt 33433
            set filter out 9 permit udp dst gt 33433
           #
           # autoriser cvsup
           #
            set filter in 9 permit tcp src eq 5998
            set filter out 9 permit tcp dst eq 5998
            set filter in 10 permit tcp src eq 5999
            set filter out 10 permit tcp dst eq 5999
           #
           # autoriser NTP pour la synchronization des horloges
           #
            set filter in 11 permit tcp src eq 123 dst eq 123
            set filter out 11 permit tcp src eq 123 dst eq 123
            set filter in 12 permit udp src eq 123 dst eq 123
            set filter out 12 permit udp src eq 123 dst eq 123
           #
           # SMTP serait une bonne idée!
           #
            set filter in 13 permit tcp src eq 25
            set filter out 13 permit tcp dst eq 25
           #
           #
           # nous utilisons beaucoup whois, donc nous le laissons passer
           #
            set filter in 14 permit tcp src eq 43
            set filter out 14 permit tcp dst eq 43
            set filter in 15 permit udp src eq 43
            set filter out 15 permit udp dst eq 43
           #
           # si aucune des conditions ci-dessus n'est remplie, le paquet est refusé
           #-------

Il peut y avoir jusqu'à vingt règles dans chaque classe de filtres. Dans chaque classe, les règles sont numérotées séquentiellement de 0 à 20, mais aucune règle dans une classe particulière n'est appliquée tant que la règle ``0'' n'est pas définie!

Si vous décidez de ne pas utiliser de règles de filtrage dans votre configuration du programme `ppp`, alors TOUT le trafic de/vers votre système sera accepté lorsqu'il est connecté à votre fournisseur d'accès.

Si vous décidez d'appliquer des règles de filtrages, ajoutez les lignes précédentes à votre fichier `/etc/ppp/ppp.conf` dans l'une des sections ``default'', ``demand'' ou ``interactive'' (ou à toutes - c'est à vous de voir).

Précédent | Sommaire |
Exercices pour l'étudiant intéressé | Niveau supérieur |

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.