Configurer un pare-feu

Tables, chaînes et points d'accroche de nftables, politique par défaut, suivi de connexion, traduction d'adresse et redirection de port, journalisation, et l'ordre sûr d'un jeu de règles.

  • 24 cartes
  • 3 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier

Quelques cartes du deck

  • nftables : de quoi s'agit-il ?

    Voir la réponse

    Système de filtrage de paquets du noyau Linux, piloté par la commande nft, qui range ses règles dans des chaînes, elles-mêmes regroupées en tables.

    Une table regroupe des chaînes d'une famille (ip, ip6, inet) ; une chaîne de base est accrochée à un point du trajet des paquets et porte les règles.

  • Depuis que ce jeu de règles est chargé, le serveur n'obtient plus aucune réponse à ses propres requêtes (mises à jour, DNS). Quelle règle faut-il ajouter à la chaîne ?

    ```nft
    table inet filter {
    chain input {
    type filter hook input priority 0; policy drop;
    iif lo accept
    tcp dport 22 accept
    }
    }
    `

    • ct state established,related accept
    • udp dport 53 accept
    • tcp dport { 80, 443 } accept
    • ct state new accept
    Voir la réponse

    ct state established,related accept

    Les requêtes sortent librement, mais leurs réponses entrent par input, où la politique les jette. Une réponse arrive sur le port éphémère du serveur, pas sur 53, 80 ou 443, et elle n'est pas une nouvelle connexion : seule la règle sur l'état accepte tout ce qui répond à un échange déjà autorisé, sans ouvrir de port.

  • La chaîne … voit les paquets destinés à la machine elle-même, … ceux qu'elle émet, et … ceux qu'elle ne fait que relayer.

    Voir la réponse

    La chaîne input voit les paquets destinés à la machine elle-même, output ceux qu'elle émet, et forward ceux qu'elle ne fait que relayer.

    Un routeur filtrant protège son réseau surtout dans forward ; input ne protège que lui-même. Relayer suppose aussi d'activer net.ipv4.ip_forward.

  • iptables : de quoi s'agit-il ?

    Voir la réponse

    Ancienne commande de filtrage du noyau Linux, que nftables remplace, avec des tables et des chaînes fixes (filter, nat).

    On le rencontre encore partout, parfois en façade de nftables. Les concepts (chaînes INPUT, FORWARD, OUTPUT, suivi de connexion) sont les mêmes, la syntaxe change.

  • Dans cette chaîne, un administrateur ajoute tcp dport 22 accept à la fin. Peut-il se connecter en SSH ?

    ```nft
    table ip filter {
    chain input {
    type filter hook input priority 0; policy accept;
    ip saddr 0.0.0.0/0 drop
    }
    }
    `

    • Oui, une règle accept l'emporte toujours sur un drop
    • Non, la règle drop avant elle a déjà jeté le paquet
    • Oui, car la politique de la chaîne est accept
    • Oui, mais seulement pour les paquets déjà vus dans une connexion établie
    Voir la réponse

    Non, la règle drop avant elle a déjà jeté le paquet

    Les règles se lisent dans l'ordre et la première qui correspond à un verdict final s'applique. Ici le drop correspond à toutes les sources et la règle SSH n'est jamais atteinte ; la politique ne sert que si aucune règle ne retient le paquet.