IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

NfTables tuto pour novice


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut NfTables tuto pour novice
    Bonjour,
    Auriez vous un bon tuto complet de préférence en français concernant la mise en place du pare-feu NFTables?

    Je vois ce que sont les ports, la partie TCP & UDP mais mes connaissances s'arrêtes plus ou moins la.

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/sbin/nft -f
     
    flush ruleset
     
    table inet filter {
            chain input {
                    type filter hook input priority 0;
     
                    #allow connection from loopback
                    iifname lo accept;
     
                    # established/related connections
                    ct state established, related accept;
     
                    # drop invalid connections
                    ct state invalid drop;
     
                    #Allow ssh connection on port 22
                    tcp dport 22 accept;
     
                    #Drop all other incoming connection
                    policy drop;
            }
            chain forward {
                    type filter hook forward priority 0;
            }
            chain output {
                    type filter hook output priority 0;
            }
    }
    Voici un début de script que j'ai fais mais si vous pouviez m'aider à le compléter,... ce serrait cool.

    Le pare-feu aura pour but de tourner sur un serveur avec des risques de DDos car il ferra tourner un serveur steal TeamSpeak,...

  2. #2
    Membre Expert Avatar de Ti-Slackeux
    Homme Profil pro
    Robotique
    Inscrit en
    Août 2007
    Messages
    912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Robotique

    Informations forums :
    Inscription : Août 2007
    Messages : 912
    Par défaut
    Bonsoir, deux doigts off topic mais
    un serveur steal TeamSpeak
    ???


    Merci d'éclairer ma lanterne,

    P.S. J'ai un serveur Teamspeak au cas ou ^^"

  3. #3
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut
    Je souhaite apprendre comment fonctionnes les pare-feu,... car je suis novice en réseau.
    J'avais un script en iptables que j'éditais en fonctions de ports que je voulais ouvrir mais je n'aurais jamais su le faire de A à Z,...
    Du coup je souhaiterais apprendre comment je peux créer mes propres règles ainsi que prévenir un maximum les attaques et vu que maintenant IPTables à migré vers NFTables je souhaiterais non plus éditer un script déjà pré fait mais tout pouvoir faire de A à Z ainsi que comprendre un peu plus que cette règle ouvrira tel port en entrée.
    Je sais que coté DDOS cela devrait être fait en amont donc je ne saurai pas trop me protéger contre cela mais concernant le reste, je souhaiterais pouvoir gérer un max mon pare-feu.
    Donc je souhaiterais apprendre.
    Comment fonctionnes les chaines.
    Pourquoi lorsque je crée 2 chaines input avec une priorité différentes elles ne s'additionnes pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     chain input {
                    type filter hook input priority 0;
     
     
                    #>- make the server pingable -<#
                    icmp type { echo-request } limit rate 10/second accept;
                    icmpv6 type { echo-request } limit rate 10/second accept;
     
     
                    #allow connection from loopback
                    iifname lo accept;
     
     
                    # drop invalid connections
                    ct state invalid drop;
     
     
                    # established/related connections
                    ct state established, related accept;
     
     
    #       }
    #       chain input_common {
    #                type filter hook input priority 2;
                    tcp dport 22 accept; # Ssh
                    #tcp dport 80 accept; # Http
     
                    udp dport 1234 accept; # WireGuard
     
                    # Query TeamSpeak
                    tcp dport 10011 accept; # ServerQuery
                    tcp dport 30033 accept; # FileTransfer
     
                    policy drop;
            }
    Qu'est e qu'une table dans le domaine réseau?
    Est-ce just des array de règles?
    chain[] = [rules]
    Table[] = [chaines]
    ,...
    Je souhaites pouvoir faire des Lan communiquant via Wire Guard ou OpenVpn ou même permettre que 2 VPN de type différents puissent communiquer ensemble (est-ce qu'il suffit de les mettre sur un même réseau?).
    En évitant un max les failles de sécurités.

    Ce genres de questions que l'on trouves dans des video ou des tuto ^^

  4. #4
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Hello,

    NFTables est totalement compatibles avec les anciennes règles Iptables via des commandes effectuant la transition (iptables est un lien symbolique sous Debian 11)

    Ton firewall n'est pas fait pour encaisser une DDOS, d'ailleurs ta livebox tomberait la première.
    Un firewall permet de limiter les dégâts d'une DOS/DDOS via un drop des paquets mais si la DOS/DDOS dépasse un certain seuil, seul un "auto-scaling" permet de contrer une DDOS (AWS, Kubernetes, ce que tu veux...)

    Inutile de mettre en place deux VPN, un seul suffit.

    Une table dans le domaine réseau, c'est d'abord une table de routage (Linux en possède 255 mais tu n'as accès principalement qu'à la table de routage primaire).

    Pour iptables (ou NFtables donc), tu as principalement deux tables: la table NAT et la table filter (ton firewall a proprement parlé).

    Les chaines sont des applications de ces tables à un moment donné du parcours du paquet réseau
    (Pre routing avant que le paquet n'arrive, post routing une fois que le paquet pars en dehors de ton serveur...)

  5. #5
    Membre expérimenté
    Avatar de Sparky95
    Homme Profil pro
    Full Stack (web) developer
    Inscrit en
    Décembre 2016
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Full Stack (web) developer
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2016
    Messages : 384
    Par défaut
    Bonjour,
    Je n'ai pas dis que NFTables n'étaient compatible, ce que j'ai dis c'est que je souhaits apprendre comment fonctionne NFTables exactement car même en ce qui concernes IPTables je n'ai jamais vraiment bien compris.
    Je demandais donc un espèce de wiki de préférence en français n'ayant pas trouvé mon bonheur dans mes recherches.

    Citation Envoyé par Sparky95 Voir le message
    Auriez vous un bon tuto complet de préférence en français concernant la mise en place du pare-feu NFTables?
    J'utilisais jusqu'à maintenant un script iptables que j'éditais avec les ports que je voulais ouvrir mais je n'y connaissais pas plus.

    J'ai donc listé quelques questions que je me posais histoire de comprendre le genre de doc que je recherche.

    Et dans un 2e temps, je vais donc créer un script personnalisé et reviendrai vers vous pour voir si cela vous semble cohérant.

    Citation Envoyé par tabouret Voir le message
    Ton firewall n'est pas fait pour encaisser une DDOS, d'ailleurs ta livebox tomberait la première.
    Un firewall permet de limiter les dégâts d'une DOS/DDOS via un drop des paquets mais si la DOS/DDOS dépasse un certain seuil, seul un "auto-scaling" permet de contrer une DDOS (AWS, Kubernetes, ce que tu veux...)
    Je suis au courent c'est un VDS que j'ai.

    "auto-scaling" voila exactement le genre d'info que je ne connais pas et qui je penses me serra utile pour comprendre comment mieux me protéger.



    Citation Envoyé par tabouret Voir le message
    Une table dans le domaine réseau, c'est d'abord une table de routage (Linux en possède 255 mais tu n'as accès principalement qu'à la table de routage primaire).

    Pour iptables (ou NFtables donc), tu as principalement deux tables: la table NAT et la table filter (ton firewall a proprement parlé).

    Les chaines sont des applications de ces tables à un moment donné du parcours du paquet réseau
    (Pre routing avant que le paquet n'arrive, post routing une fois que le paquet pars en dehors de ton serveur...)
    Je vois souvent dans des examples, qu'ils donnent des noms personnalisé à leurs tables.

    Est-il donc possible de créer plusieurs tables et de les fusionner vers filter ? / ou plusieurs chaines et de les fusionner dans la table?

    Car si tel est le cas je penses alors créer des chaines qui correspondront à des groups. ex: les règles generals, les règles pour le VPN,...

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2005, 09h35
  2. Un Tuto pour utiliser MyODBC avec Visual C++
    Par Jean-Michel dans le forum MFC
    Réponses: 2
    Dernier message: 12/08/2005, 15h18
  3. Un tuto pour direct show
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 11
    Dernier message: 04/04/2003, 21h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo