From 3f06eb05d42fee0b21bb66cfc3e07fb524495f5c Mon Sep 17 00:00:00 2001 From: Tristan PILAT Date: Tue, 18 Aug 2020 16:41:56 +0200 Subject: [PATCH] Ajout d'un exemple de configuration en CLI --- Howtonftables.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Howtonftables.md b/Howtonftables.md index d9336212..6b1e0300 100644 --- a/Howtonftables.md +++ b/Howtonftables.md @@ -98,6 +98,39 @@ Supprimer toutes les règles de la chaine « input » appartenant à la table « # nft flush chain inet filter input ~~~ +## Exemple + +Voici un exemple permettant de mettre en place un firewall. Il s'agit ici d'autoriser le trafic SSH à l'IP 203.0.113.1 seulement et le trafic HTTP/HTTPS à tous. + +### Configuration en CLI + +On doit donc réaliser les opérations suivantes : + +Créer une table « filter » par exemple. + +~~~ +# nft add table inet filter +~~~ + +Créer une chaine « input » dans la table « filter » (drop du trafic par défaut). + +~~~ +# nft 'add chain inet filter input { type filter hook input priority 0 ; policy drop;}' +~~~ + +Créer une chaine « output » dans la table « filter » (autorisation du trafic par défaut). + +~~~ +# nft 'add chain inet filter output { type filter hook output priority 0 ; policy accept; }' +~~~ + +Ajouter les règles permettant le trafic SSH a l'IP 203.0.113.1 seulement et le trafic HTTP/HTTPS à tous. + +~~~ +# nft add rule inet filter input saddr 203.0.113.1/24 tcp dport ssh inet accept comment "Accept SSH on port 22 for IP 203.0.113.1" +# nft add rule inet filter input tcp dport { 80,443 } inet accept comment "Accept HTTP/HTTPS traffic" +~~~ + Sous Debian des exemples de configuration sont visibles dans le dossier **/usr/share/doc/nftables/examples/** ## Débogage