Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 16-07-2017 20:38:40

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Configuration d'iptables sur serveur

Bonjour à tous,

Je mets en place mon pare-feu avec iptables sur une raspberry-pi pour le moment.

J'aimerais fermer les ports sauf celui d'entrée de ssh (22 par défaut que j'ai changé).

Voici ce que j'ai mis en place :

sudo iptables -t filter -A INPUT -p TCP --dport 22 -j ACCEPT &&
sudo iptables -t filter -A OUTPUT -p TCP --sport 22 -j ACCEPT



Je ferme tous les autres ports :

sudo iptables -t filter -A INPUT -j DROP &&
sudo iptables -t filter -A OUTPUT -j DROP &&
sudo iptables -t filter -A FORWARD -j DROP



Voici le résultat :

pi@raspberrypi:/ $ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:22
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
DROP       all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:22
DROP       all  --  anywhere             anywhere




Je teste :

1-le port 22 avec « telnet 192.168.1.61 22 » :

jo@jopcportable:~$ telnet 192.168.1.61 22
Trying 192.168.1.61...
Connected to 192.168.1.61.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u3

Protocol mismatch.
Connection closed by foreign host.



=> Le ping est bon. Enfin je pense car ci-dessous le test sur un autre port n'est pas concluant.

2-le port 40 avec « telnet 192.168.1.61 40 » :

jo@jopcportable:~$ telnet 192.168.1.61 40
Trying 192.168.1.61...
^C



=> Le résultat peut être concluant mais les chaines INPUT, FORWARD et OUTPUT sont en policy ACCEPT et non en DROP.

J'avais tenté ces lignes de cmd mais sans succès :

sudo iptables -D INPUT DROP &&
sudo iptables -D OUTPUT DROP &&
sudo iptables -D FORWARD DROP



Conclusion : j'ai à configurer les ports des serveurs xmpp, sftp et turtl d'un serveur ainsi qu'un VPN sur un VPS

Si vous avez des suggestions concernant mes prochaines misent en place.

Bonne fin de week-end.

Hors ligne

#2 16-07-2017 22:22:01

raleur
Membre
Inscription : 03-10-2014

Re : Configuration d'iptables sur serveur

joffrey575 a écrit :

Je mets en place mon pare-feu avec iptables sur une raspberry-pi pour le moment.


Pour quoi faire ?

Je ne commente pas le reste, c'est tellement mauvais que ça va me mettre de mauvaise humeur.

Hors ligne

#3 20-07-2017 08:58:58

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Configuration d'iptables sur serveur

Oui merci, après quelques essais, je voulais savoir quelle est la règle concernant les dport et les sport.

sport = source port
dport = destination port

sport = INPUT ?
dport = OUTPUT ?

Hors ligne

#4 20-07-2017 09:23:50

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Configuration d'iptables sur serveur

Je répète au cas que tu l'aies manqué. Pour quoi faire ?

Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

En ligne

#5 20-07-2017 09:47:42

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Re : Configuration d'iptables sur serveur

Bonjour,

Pour répondre à tes questions:

- dport = destination port et sport source port. Ces paramètres fonctionnent avec INPUT et OUTPUT. Ils vont tous simplement traiter que sur le(s) port(s) concerné(s). Tu peux accepter en entrée ou en sortie le(s) port(s) venant ou allant de tels adresses.

Pour mettre les politiques en place:

iptables -P INPUT DROP



Après tu pourras ouvrir les ports que tu veux et accépter que les connexions désirées. Un conseil utilise aussi le suivi des connections avec conntrack.

Iptables est un programme relativement complexe pour le néophite et c'est mieux de lire plusieurs tutos pour bien le comprendre et l'appréhender. Voici qqn:
http://olivieraj.free.fr/fr/linux/infor … index.html
https://inetdoc.net/guides/iptables-tutorial/

Bonne lecture et salutation

Hors ligne

#6 20-07-2017 13:57:50

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Configuration d'iptables sur serveur

Okey donc c'est pas si simple, je m'explique.

J'essaie de filtrer les requetes en INPUT concernant les applications suivantes :
-SSH (aussi sftp) : 3337
-XMPP (Prosody) : 4222 et 4259
-Turtl : 111 (API) et 112 (HTTPS)

Sachant que sur wifi-df https://debian-facile.org/doc:reseau:net:prosody,
pour prosody j'ai déjà :

# XMPP Prosody In                                                                             
iptables -t filter -A INPUT -p tcp --dport 5222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 5269 -j ACCEPT

# XMPP Prosody Out                                                                             
iptables -t filter -A OUTPUT -p tcp --dport 5222 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 5269 -j ACCEPT

Ici que du dport en fait !

Merci d'avance.

Hors ligne

#7 20-07-2017 14:21:23

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Re : Configuration d'iptables sur serveur

Oui ici que du --dport car tu aimerais ouvrir une connection sur ce port. Pour -t filter tu en as pas besoin, il travaille implicitement avec la table filter. Et si tu veux juste filtrer l'entrée, tu n'as pas besoin des lignes "XMPP Prosody Out".

Perso, je ne comprends pas trop ce que tu aimerais. Comme je te l'ai dis plus haut, je te conseille vivement de lire les liens que je t'ai mis plus haut car sinon tu ne vas jamais comprendre iptables. Je suis sympa, je t'écris vite fait un bout de script pour configurer iptables, c'est une base tu peux t'en inspirer:

#!/bin/sh

IPT=/sbin/iptables

# Vider les tables
$IPT -F
$IPT -X
$IPT -Z

# Définir une politique qui bloque le trafic entrant
$IPT -P INPUT   DROP
$IPT -P OUTPUT  ACCEPT
$IPT -P FORWARD DROP

# Activer le trafic entrant sur la boucle (obligatoire)
$IPT -A INPUT  -i lo -j ACCEPT

# Autoriser les connexions déjà établies
$IPT -A INPUT   -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Bloquer les paquets invalides
$IPT -A INPUT   -m conntrack --ctstate INVALID -j DROP

# Autorisé le protocol ICMP (ping) depuis le lan
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 -p icmp -j ACCEPT

# SSH
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 \
          -p tcp --dport 3337 -m conntrack --ctstate NEW -j ACCEPT
# Prosody
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 \
          -p tcp --dport 5222 -m conntrack --ctstate NEW -j ACCEPT
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 \
          -p tcp --dport 5269 -m conntrack --ctstate NEW -j ACCEPT

# Turtl
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 \
          -p tcp --dport 111 -m conntrack --ctstate NEW -j ACCEPT
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 \
          -p tcp --dport 112 -m conntrack --ctstate NEW -j ACCEPT



Si tu as plus de questions, détails mieux la composition de ton réseau et les paquets que tu veux passer ou bloquer. Et si tu arrives aussi à copier le contenu de la table filter:

iptables -L



Salutation

Hors ligne

#8 20-07-2017 14:28:00

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Re : Configuration d'iptables sur serveur

Ah oui j'ai autorisé dans le script seulement les connections provenant du lan: Pour autorisé toutes les connections:
-s 0.0.0.0/0

Hors ligne

#9 26-07-2017 13:07:58

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Configuration d'iptables sur serveur

Merci pour vos retours.

J'ai été me documenter aussi sur un tuto.

Bon après-midi.

Hors ligne

Pied de page des forums