[HOWTO] Debian y Netfilter ?

Hello,

Je suis nouveau sur ce forum, j’espere avoir posté ma question au bon endroit.

Je souhaite installer une Debian optimisée avec un Netfilter de type IPTABLES et quelques outils complementaires comme “Sentry” (je sais plus le nom exacte) qui permet au firewall de reagir en auto face a un scan de ports, par une serie de regles a appliquer, ou encore un bon systeme de logs simple a analiser.

Je precise tout de suite que malgré plusieurs tentatives d’utilisation de distrib Linux, je suis total debutant… Je vous demande si possible d’agrementer vos explications d’exemples, merci d avance.

Je precise aussi que je travaille uniquement en mode console, pas d’interface graphique :wink:

Apres avoir un peu etudié la question il me semble que les etapes sont les suivantes :

  • instalation Debian
  • installation APT-GET et mise a jour
  • creation d’un source.list a l aide de netselect-apt
  • Mise a jour de la distrib par un apt-get -u dist-upgrade
  • Optimisation de la Debian en vue de son role de Firewall
  • Instalation et mise a jour de IPTABLES
  • Ecriture du fichier IPTABLES

Apres j avoue que je ne sais pas…

1ere question : j ai deja une install de Debian, je voudrais repartir sur une install propre car j ai installé des paquets un peu a torts eta a travers au fil de mes recherches sur le net. Suis-je obligé de repartir du Mini ISO que j´ai puis telechargement FTP ou il y a une commande qui permet de revenir en arriere ?

Pour la suite j’espere que je pourrais suivre pas a pas vos indications… par exemple en ce qui concernen les paquets obligatoires et les optimisations necessaires (securisation du noyaux etc …).

Merci de vos reponses

Soit tu sais ce dont tu n’as pas besoin sur ton système et tu les supprimes, soit tu réinstalles un système minimum. Je ne vois pas quoi te dire d’autre.

Merci de ta reponse,

En fait je ne sais pas vraiment ce dont j ai besoin , je compte sur vous pour me le dire :slightly_smiling:

Je vais donc repartir du CD Mini-ISO pour refaire une install minmum. Je posterai ici les paquets que j ai avec l install minmum.

Sinon sur les etapes que j ai evoqué ? Je suis sur le bon chemin ?

[quote=“Soyouz”]
Sinon sur les etapes que j ai evoqué ? Je suis sur le bon chemin ?[/quote]

Tu mets ton système à jour, tu désactives tous les services dont tu n’as pas besoin si jamais il y en a, tu ajoutes ton firewall. Ensuite tu installes ce que tu veux pour gérer ton firewall et tes logs.

Je ne vois pas trop ce que tu entends par Debian optimisée avec un netfilter ? Netfilter a mis en place uns structure de 5 hooks au niveau du noyau permettant de récupérer les paquets, les mettre en attente, les filtrer, les détruire. Iptables c’est une application qui permet d’ajouter des règles pour modifier/vérifier ces paquets au travers de différentes règles qui agissent au niveau de ces hooks.

[quote=“thialme”]
Tu mets ton système à jour, tu désactives tous les services dont tu n’as pas besoin si jamais il y en a, tu ajoutes ton firewall. Ensuite tu installes ce que tu veux pour gérer ton firewall et tes logs.[/quote]

Pour les services dont je n 'ai pas besoin je vais avoir besoin d aide… C’est justement une des questions a laquelle je ne trouve pas de reponse clair.

Selon ce que j 'ai lu ici : iptables-1.2.8

Il apparait que : Pour utiliser un pare-feu, ainsi que l’installation d’iptables, vous aurez besoin de configurer les options adéquates dans votre noyau.

Oui ça je crois avoir compris, il s’agit des tables INPUT, OUTPUT, FORWARD et MANGLE (me manque 1 hook non ?)

Bon je vais deja finir l’install de base et viendrais poster ici pour la suite.

Merci de vos reponses

[quote=“Soyouz”][quote=“thialme”]

Selon ce que j 'ai lu ici : iptables-1.2.8
[/quote]
[/quote]

On en est loin de celui-là. La version courante est la 1.3.8 sur Sid. Commence déja par écrire les règles dont tu as besoin avant d’aller regarder du coté du patch-o-matic.

A voir ce qui est déjà activé pour ton noyau quand tu auras fait l’installation.

Non c’est pas trop ça.
http://www.plouf.fr.eu.org/bazar/netfilter/schema_netfilter.txt

Tout a fait :slightly_smiling:

[quote=“thialme”]
Non c’est pas trop ça.
http://www.plouf.fr.eu.org/bazar/netfilter/schema_netfilter.txt[/quote]

Ok :s

Trop d infos tue l info sur le net… c est pour ça que j ai fini par creer un post ici … Merci des precisions

ça date un peu, mais c’est bien expliqué:
http://christian.caleca.free.fr

Hello,

Merci pour le link en effet j’avais deja consulté ces pages :slightly_smiling:

Hello,

De retour apres avoir installé correctement (j espere) ma Debian avec ces 2 cartes reseaux configurée ETH0 et ETH1

Je commence a etudier NetFilter et Iptable, et je me pose la question des tests.

La machine Debian qui va etre configurée avec NetFilter est sur le reseau local en DHCP sur ETH0 et ETH1 (comme n’importe laquelle des machines du reseau).

Je pense faire des tests a partir de mon poste de travail en lançant des requetes sur la Debian, qui au fur et a mesure devra reagir selon les regles appliquées au sein de IPTABLE. En théorie cela devrait fonctionner non ?

Mon premier test serait d’ecrire une regle de filtrage en utilisant la table FILTER avec les chaines INPUT et OUTPUT.

Quel type d’application locale tres simple et tres leger je pourrais installer pour mener a bien ces tests ? L’idée c’est simplement de pouvoir tester le filtrage local des paquets donc je cherche un truc vraiment des plus simples a installer (pas envie de passer 2 jours a configurer un Samba par exemple).

Merci de vos reponses

Je n’ai pas bien compris ta config.
Ta machine à ses 2 cartes sur le même réseau ?

Pour faire des tests installe un serveur http et mysql sur ta debian. Pas compliqué à configurer.

[quote=“piratebab”]Je n’ai pas bien compris ta config.
Ta machine à ses 2 cartes sur le même réseau ?[/quote]

C’est ça … les 2 en IP dynamique … Mon autre poste celui sur lequel je bosse, est egalement sur le mm reseau en IP dynamique. L’odée c est de rlancer des requetes depuis mon PC sur la Debian.

Y a vraiment rien de plus simple … mm pas un petit soft qui renvoie n importe quelle donnée, un truc a tracer quoi … ?

Meme si je trouve comment logguer le filtrage des paquets qui entrent et qui sortent, me faut bien un process local pour traiter ma requete et renvoyer une reponse non ?

J essaye d aller pas a pas … mais j avoue que c’est un peu le brouillard …

Si tu veux pouvoir échanger des trames TCP ou UDP, c’est une config simple!
Il te faut quelques applis qui écoutent sur des ports pour pouvoir faire des tests.
Installe ssh si tu veux.
Sinon tu as nmap qui permet de sonder les ports ouverts (et bien d’autres choses).
EtherApe ou wireshark permettent aussi de voir ce qui se passe.

[quote=“piratebab”]Si tu veux pouvoir échanger des trames TCP ou UDP, c’est une config simple!
Il te faut quelques applis qui écoutent sur des ports pour pouvoir faire des tests.
Installe ssh si tu veux.
Sinon tu as nmap qui permet de sonder les ports ouverts (et bien d’autres choses).
EtherApe ou wireshark permettent aussi de voir ce qui se passe.[/quote]

Ok je vais installer SSH, ça me parait le plus simple et ça sera utile pour ma config finale, de plus ça evite de “polluer” ma config toute propre avec des softs qui au final me seront pas utiles (comme le serveur web).

Merci je fais ça :slightly_smiling:

Hello á tous,

Je continue d’avancer lentement mais surement dans la configuration de mon routeur.

Je suis pas a pas le tres bon site : http://christian.caleca.free.fr/netfilter/

La question du jour est :

[code]echo 1 > /proc/sys/net/ipv4/ip_forward

Ceci pour être certain que votre noyau autorise le routage. Vous n’en avez pas besoin, si votre machine est configurée par défaut pour assurer le routage. [/code]

Je ne comprend pas cette commande … echo est censé afficher qquechose a lecran mais apres l execution de la commande j aiu un retour au prompt … sans message particulier …

Qques explications seraient les bienvenues svp :slightly_smiling:

Comment savoir si mon noyau est configuré correctement pour le routage ?

Merci

La sortie de la commande echo 1 est redirigé vers le fichier. Donc on charge 1 dans ce fichier en l’écrasant. Si tu avais eu >>, cela aurait ajouté 1 à la fin du fichier.

Tu as aussi une autre méthode pour affecter ces variables :

Et du coup tu peux regarder les modifications engendrées avec :

Je ne sais pas trop ce qu’ils entendent par “configuré pour le routage” :p!

Merci pour ta reponse mais je ne comprend pas a quoi cela sert :blush:

A autoriser les paquets de ton réseau privé à transiter vers le net et inversement. Les paquets passent dans la châine FORWARD de iptables.

ok, cette commande

Sert donc a configurer le noyau afin qu’il joue le role de routeur et que donc IPTABLES puisse traiter les paquets via les ses tables et ses chaines.

en faisant un

j’affiche donc toute une serie de variables,

certaines sont notés “error” est-ce normal ?

error: "Success" reading key "dev.parport.parport0.autoprobe3"
error: "Success" reading key "dev.parport.parport0.autoprobe2"
error: "Success" reading key "dev.parport.parport0.autoprobe1"
error: "Success" reading key "dev.parport.parport0.autoprobe0"
error: "Success" reading key "dev.parport.parport0.autoprobe"

D’autre part, comment comprendre les données de ce fichier ?

net.ipv4.conf.eth0.forwarding =1
net.ipv4.conf.eth0.forwarding =1

ça ok ça veut dire que le noyau autorise le forwarding sur les 2 interfaces ?

mais les autres lignes sont plutot “obscures”

net.ipv4.conf.eth0.mc_forwarding =1
net.ipv4.conf.eth0.mc_forwarding =1
..

Y’a une aide dispo quelquepart ?

Merci pour vos reponses