Ouvrir des ports internet avec iptables [résolu]

Bonjour à tous,

je souhaite utiliser iptables pour configurer mes ports ouverts, mais il faut bien dire que je me perds un peu…

Alors je voudrais tout simplement tout fermer sauf le htport pour pour http et https.

Donc j’execute:

# Par defaut tout est ferme
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# La machine locale est sure
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# connexions Firewall-Internet (www)
iptables -A OUTPUT -p tcp --dport 80  -o eth1 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -o eth1 -j ACCEPT
iptables -A INPUT  -p tcp --sport 80  -i eth1 -j ACCEPT
iptables -A INPUT  -p tcp --sport 443 -i eth1 -j ACCEPT

mais là je ne peux plus surfer sur mon navigateur préféré… iceweasel qui est tout bloqué…

Pour ma connexion internet j’ai une tele2box…

Il y a un petit truc ou alors c’est beaucoup plus compliqué que ça?

Merci d’avance d’éclairer ma lanterne.

:smt006

Vincent

Tt est expliqué sur la section “trucs et astuces” ds le fil sur Iptables. Fais une recherche.

Bonsoir,

regarde ce lien:
http://doc.ubuntu-fr.org/iptables

il devrait déjà t’aider

ps:

[quote=“Gwadaboug”]Bonsoir,

regarde ce lien:
http://doc.ubuntu-fr.org/iptables

il devrait déjà t’aider

ps:

rhâ !
alors ça sert à quoi que ricardo s’enquiquine à faire un tuto bien léché hein !

[quote=“antalgeek”][quote=“Gwadaboug”]Bonsoir,

regarde ce lien:
http://doc.ubuntu-fr.org/iptables

il devrait déjà t’aider

ps:

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

rhâ !
alors ça sert à quoi que ricardo s’enquiquine à faire un tuto bien léché hein ![/quote] :smt006

[quote=“un_singe_en_hiver”]Alors je voudrais tout simplement tout fermer sauf le htport pour pour http et https.
[snip règles]
mais là je ne peux plus surfer sur mon navigateur préféré… iceweasel qui est tout bloqué…
Il y a un petit truc ou alors c’est beaucoup plus compliqué que ça?[/quote]
C’est plus compliqué. Tes règles sont à la fois pas assez et trop permissives.
Pas assez, parce qu’à moins que tu ne visites que des sites par adresses IP, tu as besoin de résolution DNS. Trop, parce que les règles avec --sport autorisent tout paquet reçu pourvu qu’il ait comme port source 80 ou 443, alor que ce que tu veux c’est n’autoriser que les paquets qui sont des réponses aux paquets émis.

Le strict minimum pour ce que tu veux faire :

# Par defaut tout est ferme
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# La machine locale est sure
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# paquets des connexions existantes autorisees
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# requetes DNS sortantes en UDP et TCP
iptables -A OUTPUT -p udp --dport 53 -o eth1 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -o eth1 -j ACCEPT

# connexions HTTP et HTTPS sortantes
iptables -A OUTPUT -p tcp --dport 80 -o eth1 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -o eth1 -j ACCEPT

MDRRRR

:blush: Désolé Ricardo…

Sauf à dire une bétise, je crois que les règles ici ne permettront pas de surfer car les nouvelles connexions (NEW) ne seront pas permises…

Remplacer

# paquets des connexions existantes autorisees iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

par

# paquets des connexions existantes autorisees iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

lau@x2 : Trop permissif. L’OP ne veut autoriser que HTTP et HTTPS (et j’ajoute DNS).

[quote=“lau@x2”]Sauf à dire une bétise, je crois que les règles ici ne permettront pas de surfer car les nouvelles connexions (NEW) ne seront pas permises…

Remplacer

# paquets des connexions existantes autorisees iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

par

# paquets des connexions existantes autorisees iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT [/quote]

Bonsoir à tous et merci pour toutes vos réponses.

Je crois que je suis parti dans une drôle de galère.

Oui parce que j’ai essayé de faire ce que vous m’avez dit.
Cependant en essayant de lancer des lignes du type:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables me retourne:

iptables: No chain/target/match by that name

j’ai donc farfouillé dans la rubrique trucs et astuce et j’ai trouvé qu’il fallait que j’installe une extension de netfilter.

Donc je veux utiliser module-assistant.
Mais quand je fais une prépration avec:

m-a prepare

la commande me retourne:

E: Impossible de trouver le paquet linux-headers-2.6.27.2.081019

En fait mon noyau a un nom bizarre parce que j’ai compilé les sources avec une ligne du type:

make-kpkg --rootcmd fakeroot --initrd --append-to-version=.`date +%y%m%d` --revision=2.6.27.2 kernel-image

Du coup apt ne me trouve pas les headers…

Comment faire pour que apt trouve les headers chez moi: j’ai les sources du noyau dans le répertoire:

/root/informatique/noyau_linux/linux-2.6.27.2

Gloups, il y a quelqu’un qui a suivi??? :mrgreen:

Merci d’avance pour votre aide,

Vincent

[quote=“Gwadaboug”]MDRRRR

:blush: Désolé Ricardo…[/quote] No problem !

Vincent, faut-il comprendre que tu fais tourner un noyau compilé maison et non un noyau Debian, et que tu n’as pas activé le suivi de connexion lors de sa configuration ? Pour vérifier :

Le suivi de connexion de netfilter n’est pas une extension, il fait partie de sources du noyau standard mais il faut l’activer lors de la configuration. Il n’y a rien à installer. Pourquoi veux-tu utiliser module-assistant ?
Si j’ai tout bien compris, il faut juste que tu recompiles le noyau après avoir activé les options qui vont bien, notamment suivi de connexion IPv4 et la correspondance ‘state’, c’est-à-dire que /root/informatique/noyau_linux/linux-2.6.27.2/.config doit contenir notamment

CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NF_CONNTRACK_IPV4=m

Bonjour Pascal,

effectivement j’ai compilé moi-même un noyau.

j’ai donc fait comme tu as dit: j’ai recompilé mon noyau
avec dans le .config:

CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NF_CONNTRACK_IPV4=m

j’ai rajouté aussi:

CONFIG_NETFILTER_XTABLES=y 

parce que je compile comme il est dit sur la page:
pyfourmond.free.fr/Compilation-N … sion_linux

au final je réalise les operations suivantes:

cd linux-2.6.27.2
#on copie le precedent fichier de config
cp /boot/config-2.6.27.2.081019 .config 
#lancement de menuconfig pour modification du .config
make menuconfig
#edition manuelle du fichier de configuration
gedit .config &
#CONFIG_NETFILTER_XTABLES=y 
#CONFIG_NETFILTER_XT_MATCH_STATE=m
#CONFIG_NF_CONNTRACK_IPV4=m

#compilation
make-kpkg --initrd --append-to-version=.`date +%y%m%d` --revision=2.6.27.2 kernel-image
#nettoyage
make-kpkg clean

#installation du noyau
cd ..
dpkg -i linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

mais ça plante lors du dpkg -i.
J’ai comme erreur:

dpkg : erreur de traitement de linux-image-2.6.27.2.081219_2.6.27.2_i386.deb (--install) :
 tentative de remplacement de « /lib/firmware/ttusb-budget/dspbootcode.bin », qui appartient aussi au paquet linux-image-2.6.27.2.081019
dpkg-deb: sous-processus paste tué par le signal (Relais brisé (pipe))
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

Quelqu’un peut-il me dire ce qu’il faut faire… gloups,

Merci, :smt006

Vincent

Bonjour Pascal,

effectivement j’ai compilé moi-même un noyau.

j’ai donc fait comme tu as dit: j’ai recompilé mon noyau
avec dans le .config:

CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NF_CONNTRACK_IPV4=m

j’ai rajouté aussi:

CONFIG_NETFILTER_XTABLES=y 

parce que je compile comme il est dit sur la page:
pyfourmond.free.fr/Compilation-N … sion_linux

au final je réalise les operations suivantes:

cd linux-2.6.27.2
#on copie le precedent fichier de config
cp /boot/config-2.6.27.2.081019 .config 
#lancement de menuconfig pour modification du .config
make menuconfig
#edition manuelle du fichier de configuration
gedit .config &
#CONFIG_NETFILTER_XTABLES=y 
#CONFIG_NETFILTER_XT_MATCH_STATE=m
#CONFIG_NF_CONNTRACK_IPV4=m

#compilation
make-kpkg --initrd --append-to-version=.`date +%y%m%d` --revision=2.6.27.2 kernel-image
#nettoyage
make-kpkg clean

#installation du noyau
cd ..
dpkg -i linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

mais ça plante lors du dpkg -i.
J’ai comme erreur:

dpkg : erreur de traitement de linux-image-2.6.27.2.081219_2.6.27.2_i386.deb (--install) :
 tentative de remplacement de « /lib/firmware/ttusb-budget/dspbootcode.bin », qui appartient aussi au paquet linux-image-2.6.27.2.081019
dpkg-deb: sous-processus paste tué par le signal (Relais brisé (pipe))
Des erreurs ont été rencontrées pendant l'exécution :
 linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

Quelqu’un peut-il me dire ce qu’il faut faire… gloups,

Merci, :smt006

Vincent[/quote]

Bon ben j’ai fait le bourin: j’ai lancé un:

 dpkg --force-overwrite -i linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

Et la j’ai plein de warning mais ça passe.

Il y a plus qu’a esperer que j’ai pas tout péter… héhé :mrgreen:

Vincent

Bonjour Pascal,…
Bon ben j’ai fait le bourin: j’ai lancé un:

 dpkg --force-overwrite -i linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

Et la j’ai plein de warning mais ça passe.

Il y a plus qu’a esperer que j’ai pas tout péter… héhé :mrgreen:

Vincent[/quote][/quote]

Pétard je suis super déçu:
le nouveau noyau marche bien… mais quand je ré-essaye une commande:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

j’ai encore le message d’erreur:

iptables: No chain/target/match by that name

bouhouhou :cry: help…

Vincent

Bonjour Pascal,…
Bon ben j’ai fait le bourin: j’ai lancé un:

 dpkg --force-overwrite -i linux-image-2.6.27.2.081219_2.6.27.2_i386.deb

Et la j’ai plein de warning mais ça passe.

Il y a plus qu’a esperer que j’ai pas tout péter… héhé :mrgreen:

Vincent[/quote][/quote]

Pétard je suis super déçu:
le nouveau noyau marche bien… mais quand je ré-essaye une commande:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

j’ai encore le message d’erreur:

iptables: No chain/target/match by that name

bouhouhou :cry: help…

Vincent[/quote]

Pascal, tu n’aurais pas oublié un:
CONFIG_NF_CONNTRACK=m

??

je reessaye de compiler avec ca…

Vincent

Tu n’as quand même pas directement modifié .config avec un éditeur de texte ? Je ne suis pas persuadé que ça respecte les dépendances entre options. Il vaut mieux faire les modifications avec “make menuconfig”.

L’erreur de dpkg vient de ce que ta version de make-kpkg (celle d’etch ?) ne gère pas les correctement les firmwares extérieurs au noyau. Le problème est décrit dans le bug #492516 <http://bugs.debian.org/492516>, et corrigé dans la version actuelle de lenny. Si tu as etch, tu peux essayer de modifier le fichier /usr/share/kernel-package/ruleset/targets/image.mk avec le patch proposé :

diff -Nru kernel-package-11.001/kernel/ruleset/targets/image.mk kernel-package-11.001/kernel/ruleset/targets/image.mk
--- kernel-package-11.001/kernel/ruleset/targets/image.mk	2008-01-14 15:40:43.000000000 -0800
+++ kernel-package-11.001/kernel/ruleset/targets/image.mk	2008-09-25 15:16:39.000000000 -0700
@@ -110,6 +110,7 @@
 	mv System.map System.precious
       endif
 	$(MAKE) $(EXTRAV_ARG) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH)           \
+                INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware/$(version)  \
                 $(CROSS_ARG) ARCH=$(KERNEL_ARCH) modules_install
       ifneq ($(strip $(KERNEL_CROSS)),)
 	mv System.precious System.map

Procédure :

  • Copier le patch ci-dessus dans un fichier, en préservant les tabulations et espaces.
    EDIT : Et pour cela il ne faut pas le copier à partir de cette page web, car la mise en page transforme les tabulations en espaces, mais cliquer sur le bouton “Citer” et faire la copie dans le champ de saisie, ou le copier dans la page du bug de Debian.
  • Tester l’application du patch :
cd /usr/share/kernel-package
patch -p2 --dry-run < /chemin/vers/le/patch

Si pas d’erreur, réexecuter la seconde commande sans --dry-run.
En fait le patch insère juste la ligne marquée par un + à l’endroit indiqué du fichier, tu pourrais insérer cette ligne à la main (sans copier le +).

Les firmwares extérieurs de chaque version de noyau créée par make-kpkg seront désormais installés dans /lib/firmware/ au lieu de /lib/firmware, ce qui évitera les conflits entre versions.

PS : évite de citer trop de texte des messages précédents sans réel besoin, ça alourdit inutilement le fil.

[quote=“PascalHambourg”]Tu n’as quand même pas directement modifié .config avec un éditeur de texte ? Je ne suis pas persuadé que ça respecte les dépendances entre options. Il vaut mieux faire les modifications avec “make menuconfig”.

PS : évite de citer trop de texte des messages précédents sans réel besoin, ça alourdit inutilement le fil.[/quote]

héhé sisi j’ai fait le petit cochon…
du coup j’ai fais un “make menuconfig” et je relance une compilation…

OK je fais un peu plus light pour les citations.

Merci pour le coup de main, :smt006

Vincent

Youpie tout marche: j’ai compilé avec les bonnes options et maintenant je peux faire des iptables -m state.

J’ai aussi installé le patch.

Reste à tester les ouvertures de ports…

[quote=“un_singe_en_hiver”]Youpie tout marche: j’ai compilé avec les bonnes options et maintenant je peux faire des iptables -m state.

J’ai aussi installé le patch.

Reste à tester les ouvertures de ports…[/quote]

Ca y est l’ouverture/fermeture des ports marchent nickel.

That’s all folks…