Script pour firewall

Salut
Je fais un script pour firewall, mais il bloque, j’aimerais savoir mon erreur, stp, MERCI d’avance pour votre aide.

[b]#!/bin/sh

Purge de tables

iptables -t filter -F

Purge des regles

iptables -t filter -X

Bloque tout ce qui entre ou sort

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

Garde les connexions en cours

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

Loopback

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

ICMP

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

SSH

iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 2222 -j ACCEPT

DNS

iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

NTP

iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

SMTP (uniquement mail sortant pour les alertes)

iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT[/b]

“Il bloque”, c’est-à-dire ?

Remarques sur la forme :

  • Mets le contenu des fichiers texte, les commandes ou leur sortie entre balises de code (avec le bouton “Code” au-dessus de la fenêtre de composition) plutôt qu’en gras. C’est fait pour.
  • Deux des règles ne comportent pas “-t filter”. C’est bien sûr optionnel puisque “filter” est la table par défaut en l’absence de l’option -t. Mais comme toutes les autres règles l’ont, autant être cohérent.

Ben, je ne peux pas installer rien, comme anti-rootkit
apt-get install …
Ca affiche (0% connection with debian…) mais rien avance.
Il ne veut pas.

Voir ma réponse dans l’autre sujet. apt-get utilise le protocole FTP (port TCP 21) ou HTTP (port TCP 80) pour télécharger les paquets depuis les dépôts, selon ce qui est défini dans /etc/apt/sources.list. Il faut donc autoriser le port correspondant pour les connexions sortantes.

Edit : pour FTP, il faut aussi charger le module de suivi de connexion spécial pour le protocole FTP.
A la main (en root) :

Automatiquement au démarrage, ajouter une ligne dans le fichier /etc/modules contenant :

Ton port 80 est fermé, donc impossible de télécharger les paquets que tu veux installer.

Tu t’exprimes mal.

  1. Ce n’est pas en lisant un jeu de règles iptables qu’on peut voir si un port est ouvert ou fermé, c’est avec netstat.
  2. Avoir le port 80 fermé n’empêche pas de télécharger. C’est le port 80 du serveur distant depuis lequel on veut télécharger qui doit être ouvert. Un client HTTP utilise toujours un autre port local que le 80.

Il aurait été plus juste d’écrire “les connexions sortantes vers le port 80 sont bloquées”.

=> non, je n’ai pas été assez précis, c’est pas pareil :018 .