Volontaires pour installer un Pare Feu

Salut, y a t il des volontaires pour me guider dans le paramétrage de NFtables

Depuis quelques semaines j’ai découvert LUNIX via debia
Je commence a comprendre quelques notions, mais parfois cela reste flou…
Lire des kilomètres d’explications abordant des centaines de notions (réseau, programmation…) c’est utile mais pas très pragmatique pour un débutant (de 43 ans) qui n’a pas pour objet de devenir informaticien ou administrateur de réseau.

Je voudrais juste arriver avancer dans l’installation d’un serveur (perso) et arriver a aborder (je dis bien Aborder) les notions qui tournent au tour… mais sans devenir un spécialiste.

Sur le côté sécurité j’avoue que je patine grave car il y a les notions sont vastes et diverses

En échange je peux m’engager a réaliser un tuto qui sera utile pour les NUL (débutants comme moi)

Désolé mais on ne peut pas raisonnablement configurer un filtre de paquets sans de solides bases en réseaux IP. Comment peut-on filtrer efficacement si on ne sait pas ce qu’on filtre ni ce qu’il faut filtrer ?

Je n’ai pas encore étudié nftables donc je ne pourrai pas t’aider de ce côté, mais ce n’est que le comment, il te reste le quoi et le pourquoi.

Ben les NULS (debutants) comme moi dans 99% des cas ils veulent installer un serveur WEB (sur 1 machine) derrière une connexion internet.

C’est le schéma de base qui permet se familiariser avec les outils et les principes…
Vu qu’on part de ZERO. Après une compréhension de base sur un exemple de base… chacun pourra adapter et évoluer en fonction des ses besoins… (mes les nouveaux besoins ne viendrons que plus tard… le temps d’apprendre d’autres choses et donc en ayant un autre niveau)…

Je me pose beaucoup de questions… et tous les débutants doivent se poser les même questions…
sur les forum et tuto souvent les réponses partent du principe que les gens ont des bases… ce qui n’est pas forcement le cas.

Alors je me disais que si je pouvais faire un tuto qui arrive a répondre a mes question et bien cela sera surement très utiles pour les VRAIS débutants… pas ce qui maitrisent et qui vont trouver cela basique (effarant) lol

Lire des kilomètres de théorie pour des pro c’est utile… pour des NULS qui veulent apprendre pour le plaisir c’est déroutant… alors je me disais qu’en abordant succinctement quelques notions lorsque ces notions sont utile, c’est plus ludique et pragmatique…

Salut
En trois jours tu as poser la même question sous différents formes dans différents messages et ça semble un peu trop frénétique voir même décourageant pour les lecteurs.
Si tu n’obtiens pas les réponses qui te plaisent , tu n’en auras pas plus en multipliant les messages.
Nftables n’est qu’un outil et il faut d’abord bien identifier le but poursuivi.
Des tutos sur le pare-feu il y en a déjà sur internet, par exemple

et cette discussion sur le forum

Bonjour,
Si tu veux débuter en serveur «maison» sans mettre les mains dans le cambouis, essaie Yunohost, par exemple.
Ensuite tu pourras approfondir tranquillement les notions de réseau, etc.
C’est, du moins, mon humble avis !

Un serveur web ne tourne pas sur du néant. Il tourne sur une machine, sur laquelle tournent également d’autres programmes qui ont besoin de communiquer sur le réseau. Par exemple il peut y avoir un serveur SSH pour l’administration à distance (et éventuellement le transfert de fichier par SFTP ou scp), un serveur FTP pour le transfert de fichiers, un service pour l’envoi ou la réception de courrier, un système de gestion des paquets (apt) qui a besoin de se connecter avec des miroirs pour l’installation et la mise à jour des paquets…

Car il faut bien filtrer aussi les connexions sortantes pour limiter les nuisances que le serveur pourrait causer s’il était compromis ou les conséquences d’une erreur de configuration ou de manipulation. Le filtrage de paquets doit prendre en compte toutes les activités réseau légitimes de la machine, pas seulement le trafic HTTP(S) du serveur web.

Si tu veux utiliser nftables, tu dois d’abord connaître les flux mis en jeu sur ton serveur, et aucun tutoriel ne le fera à ta place.

1 J'aime

La première question que se pose un débutant, c’est que peut bloquer un pare feu :
des IP, des ports, des programmes, des protocoles…

Car la notion de “pare-feu” est une notion assez vague qui peut recouvrir des choses différentes.
Nftables et son prédécesseur iptables sont des filtres de paquets. “Ouvrir un port”, ça ne veut rien dire de concret, notamment pour un filtre de paquets qui se borne à accepter ou bloquer des paquets. Il faut raisonner en terme de flux puis de paquets.

Si, comme tu dis, tu as découvert linux depuis quelques semaines et que tu en es à vouloir mettre en place un serveur web, c’est que tu as grillé de nombreuses étapes.

L’informatique, ça a été mon métier pendant de nombreuses années (mais pas dans le web), et aujourd’hui, je suis pas certain d’être capable de déployer un serveur web, parce que c’est quand-même un travail qui réclame pas mal de compétences.

Alors, si c’est pour faire un “machin” qui marchotte…

Et un pare-feu, c’est un truc pour filtrer le trafic réseau. Si tu ne sais pas comment marche un réseau…, bah, c’est bien parti pour faire n’importe quoi.

Amicalement.

Jean-Marie

Bonjour,
À ta place, j’essaierais de faire une check-list de ce que je veux installer :
Serveur : web, mail, cloud, etc.
Où : chez moi, VPS, VPN, etc.
Pour faire quoi :

  • le fun : découverte des outils, procédures, techniques
  • utilitaire : je veux bloguer, faire un site, avoir un serveur mail, un nuage, etc.

Après des questions plus techniques :
Apache, Nginx, http, https, mon domaine, Debian, Postfix, Nextcloud, Fail2ban, rspamd, etc.
Et après la sûreté/sécurité : comment déployer tout ça chez moi en gardant la maîtrise de qui, quand, quoi s’y connecte et comment…
Je suis sûr d’avoir oublié des milliers de choses : mais essaie de te faire un cahier des charges simple de tes souhaits et de voir ce qui existe en corrélation.
J’ai déjà mal au crâne :-:tired_face:

1 J'aime

Waouw je vais finir par comprendre que je dois partir pour 10 ans de théorie avant d’espérer faire un truc qui tienne la route :wink: c’est plus complexe que ce que j’imaginais…

Pour définir mes besoins pour le moment, je vais rester modeste.

  • Un serveur WEB Debian + Nginx (pour héberger 3 sites en PHP).
  • Une connexion Internet (HTTP + HTTPS) sans SMTP (sans mails).
  • Une connexion réseau (SSH) entre le serveur et mon ordi (pour passer les lignes de commandes et alimenter déposer des fichiers).
  • PHP-FPM pour la partie PHP.
  • Une box pour la connexion internet qui sert aussi de routeur entre le serveur et l’ordi me servant pour passer les commandes.

Voila rien de trop complexe (enfin j’espère).

L’idée étant maintenant de venir y mettre une 1ère couche de sécurité… avec NFtables

La question est donc pour une configuration basique, qu’elles sont les principes a mettre en place, vu que je n’ai besoin que de HTTP, HTTPS et SSH

A mon niveau tout va se passer uniquement sur ses 3 ports :
HTTP et HTTPS j’utilise les ports normaux
et pour SSH j’ai modifié le port (sans rentrer dans le débat si c’est bien ou pas bien de modifier le port, cela ne sécurise rien, mais cela évite déjà de surcharger les logs inuites).

Donc on bloque tout sauf les 3 ports, ou déjà la je fais fausse route ???
Après viendra la question de savoir ce qu’on doit laisser passer et comment :wink:

Au risque de faire hurler les tenants d’une haute sécurité, personnellement, derrière ma box, j’ouvre les ports et c’est tout.
Nginx avec php, c’est largement documenté…
SSH avec Sftp, ça peut grincer un peu, mais on apprend vite.
Ce qui me paraît plus complexe, c’est le nom de domaine, le ou les certificats SSL et la ou les DNS.
Je ne connais pas ton contexte, reste tout de même très prudent et vigilant…
Bon courage.

Nginx et Php c’est bon
SSH j’ai créé des clé et une passphrase
Les certificats SSL je n’en suis pas la
Les DNS je suis sur cloudflare

Ma question tourne vraiment au tour de NFtables, que je ne connais pas, que je n’ai jamais pratiqué car il me manque les question a me poser…

Pour le moment ma réflexion se limite à j’utilise HTTP donc j’ouvre le 80 dans les deux sens… c’est très limité comme réflexion…

L’idée c’était d’avoir une aide sur la réflexion a mener en abordant certaine notions et conseils…

C’est une aide à la compréhension que j’attende (un échange)

Si j’ai bien compris NFtables une fois installé ne fait rien…

Il faut donc créer des règles que l’on peut enregistrer dans le fichier

/etc/nftables.conf

sous la forme

table inet filter {

    chain input {
        type filter hook input priority 0; policy accept;
        ...
        drop
    }
}

1°) table inet filter -> indique que l’on utilise un FILTRE applicable au IPv4 et IPv6

2°) chain input -> indique que la règle s’applique aux entrées

3°) type filter hook input priority 0; policy accept; -> le filtre entrée sera de priorité maximale (s’appliquera avant d’autre filtre annexe).

4°) … -> on définira les règles qui laisse passer les paquets

5°) drop -> on bloque tout le reste (tout pour le moment)

Voila le début de la réflexion, dans l’attente de vos précisions et rectifications

Bonjour,
Trêve de plaisanterie.

Je pense que pas mal de monde peut être intéressé par des règles nftables simples et commentées - comme tu as commencé à le faire, proposées une à une et éventuellement corrigées après.

L’apprentissage par l’exemple me semble être une méthode valable.

Je suis volontaire pour essayer ce qui sera proposé si je comprends ce que cela fait.

Je crois que après avoir suivi quelques exemples bien expliqués,
je pourrais être à même de créer mes propres règles.

Merci pour ton initiative @scam


Pour les exemples de règles fournis par Debian, voir /usr/share/doc/nftables/examples/

Migrer de iptables à nftables (et davantage)

Et pourquoi pas rester en local ?

Tu veux faire un tuto sur quelque chose que tu ne connais pas?
Tu connais bien les philosophes grecs: “Si tu sais faire fait, si tu ne sais pas enseignes!”.
Je plaisante mais il faut comprendre cette maxime de la manière suivante:

  • Quand on connaît bien un sujet on s’aperçoit qu’en fait, ce que l’on connaît n’est pas grand chose à côté de ce que l’on ne connaît pas.
    On peut le comprendre aussi que le fait d’écrire un tuto t’apprendras beaucoup de choses. La vérité est entre les deux.

Mais installer un serveur web n’est pas trivial et si c’est sur Linux il faut d’abord connaître Linux mieux qu’un simple utilisateur. Je te conseilles de commencer par là.
Regarde quand même sur openclassroom.