Paramétrage firewall RPI 2 [Résolu]

Bonjour,
Je souhaite m’installer un serveur web à domicile, pour le challenge et avoir mon propre site web. Je voudrais installer un firewall sur ma PI sous Raspbian stretch Lite

J’ai récupéré des infos à droite à gauche, j’ai même étudié un sujet ouvert ici, mais il ne correspond pas à mon problème.

Mon script dans le fichier /etc/init.d/firewall

touch /home/pi/test1

# Réinitialisation des règles existantes :
iptables -t filter -F
iptables -t filter -X

# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

#---

# Garde les ports déjà ouverts actifs
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Loopback, autorise le localhost
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT


# Autoriser le PING
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT


# Ouverture du port SSH sur le port 1122
iptables -t filter -A INPUT -p ssh --dport 1122 -j ACCEPT
iptables -t filter -A OUTPUT -p ssh --dport 1122 -j ACCEPT

touch /home/pi/test2

Pour le moment, je n’ai mis que ça, les deux fichiers test1 et test2 sont bien créés quand j’exécute le script pour le tester, mais ça me bloque tout. Je n’ai plus accès à ma PI, je dois la redémarrer en débranchant.

Je compte ouvrir les autres ports nécessaires plus tard, quand mon firewall de base fonctionnera.

Quelqu’un aurait-il une solution ?

Bonjour,

C’est plutôt une bonne nouvelle, si rien ne passe, c’est que le firewall fait son job. Il ne reste plus qu’a filter les flux autorisés ! :smile:

Pour continuer les recherches
Il faut être connecté au pi avant de lancer la commande.
Il est préférable d’avoir un script d’arrêt du firewall pour l’arrêter en cas de problème, que l’on peut lancer si on est connecté en local.
D’après ce que je vois seul le ping et le ssh sur le port 1122 sont ouverts.
Est-ce que le ping à partir d’une machine sur le réseau local fonctionne avant et après le démarrage du script ?
Sur quel port est configuré le serveur ssh (est-ce bien 1122) ?

A+

Salut Jelopo,

Je suis connecté en SSH à ma PI, j’utilise Raspbian lite et la PI est connectée directement sur la box, pas de clavier, pas d’écran.
Pour me connecter depuis mon poste Linux, je tape la commande

ssh -p 1122 pi@192.168.0.XX

Ensuite, j’active le firewall sur la PI, et là, tout bloque, je ne peux plus exécuter de commande depuis mon terminal connecté à la PI et je ne peux plus me connecter avec SSH en utilisant le port 1122 paramétré.

Le ping répond bien lui, avant et après exécution du script. Je viens de le tester.
Pour le moment, je n’ai pas ouvert d’autres ports n’en ayant pas l’utilité. Je n’ai besoin que du SSH pour paramétrer le PI. Et je suis en train de tester comment faire fonctionner. Pas de paramétrer le firewall définitif.

Là, je vais rebooter physiquement la PI, car je n’ai plus aucun accès dessus.

Bonjour,

Je viens de relire ton fichier de conf, j’ai trouvé le problème remplacer « -p ssh » par « -p tcp ».

# Ouverture du port SSH sur le port 1122
iptables -t filter -A INPUT -p tcp --dport 1122 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 1122 -j ACCEPT

En plus je conseille d’ajouter ces règles au tout début du fichier

# Vider les tables actuelles
iptables -t filter -F
# Vider les règles personnelles
iptables -t filter -X

A+

Lcureuil se cache le visage honteux…

Ok, bien fait pour moi… Mais comme toujours, on voit le code qu’on pense avoir écrit, pas celui qu’on a écrit…
Faut vraiment que je retrouve mes réflexes d’informaticien. Mais c’est pas facile après 16 ans d’arrêt.

Merci pour ton aide et ta patience Jelopo.

1 « J'aime »

Bonjour,
j’avouerai que j’ai copié une vielle conf de firewall que j’avais sauvegardée, et que je l’ai mis en comparaison avec l’outil « meld » avant de trouver l’anomalie !
Comme quoi ça ne sautait pas tant que ça aux yeux.

N.B. : J’ai mis un :heartbeat: pour cette belle vérité

A+