Forum Linux.débutant Configuration d'iptables sur serveur

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
16
juil.
2017

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.

  • # Bonjour

    Posté par  . Évalué à 3.

    => 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

    Pour mettre la politique à DROP c’est l’option -P

    Ça t’évite d’avoir à mettre la règle pour fermer tous les autres ports.

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

    Il faut certainement que tu autorises certains trucs, comme le DNS, un peu d’ICMP… les connexions qui sont liées à des connexions autorisées (état RELATED)…

    Tu as peut-être déjà lu : https://doc.ubuntu-fr.org/iptables

    xmpp, sftp et turtl d'un serveur ainsi qu'un VPN sur un VPS

    Le mieux est de lire la documentation de chacun de ces projets pour connaître les ports à ouvrir, et pourquoi… parfois certains sont obligatoires et d’autres optionnels, pour le P2P notamment.

    Perso j’ai arrêté d’écrire directement mes règles iptables directement, j’utilise shorewall qui simplifie bien la vie.

  • # lire le mode d'emploi iptables peut aider

    Posté par  . Évalué à 2.

    -A pour ajouter une regle
    -D pour l'enlever

    donc ton -D INPUT DROP ne fait que demander la suppression du

    DROP all — anywhere anywhere

    il est possible de changer le fonctionnement de la regle qui par defaut est à accept,
    mais il faut alors te souvenir souvenir qu'il faudra tout ouvrir

    parfois on prefere quand meme faire ce que tu fais deja
    ouvrir pour 22
    ouvrir pour XMPP
    ouvrir pour ce que tu veux
    fermer pour le reste

    • [^] # Re: lire le mode d'emploi iptables peut aider

      Posté par  . Évalué à 1.

      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 ?

      • [^] # Re: lire le mode d'emploi iptables peut aider

        Posté par  . Évalué à 2.

        en reseau il y a
        * l'adresse IP pour definir la machine source et machine destination
        * le port Source/destination qui sont le port demandeur et le port serveur

        ex : un service web va par defaut ecouter sur le port 80
        ton firewall qui se trouve AVANT le serveur web, recevra donc une demande d'une IP cliente + port aleatoire vers une IP destination + port 80

        ta regle de firewall sera donc :
        - IP source : any
        - Port Source : any
        - IP destination : ton serveur web
        - Port Destination : 80

        donc rien à voir avec le INPUT et OUTPUT qui ne vont/sortent que de la machine ou tourne le firewall

        et comme pour comprendre les chaines, un dessin vaut mieux qu'un long discours
        chemin des paquets

  • # suivi de connexions

    Posté par  (site web personnel) . Évalué à 2.

    #!/bin/bash
    iptables -A OUTPUT -o lo -j ACCEPT
    iptables -A INPUT  -i lo -j ACCEPT
    iptables -A OUTPUT -o wifi -p icmp -j ACCEPT
    iptables -A INPUT  -i wifi -p icmp -j ACCEPT
    
    iptables -A INPUT -p tcp --dport 22 -m state --state new,established -j ACCEPT
    
    iptables -A OUTPUT -o wifi -m state --state new,established -j ACCEPT
    iptables -A INPUT  -i wifi -m state --state established,related -j ACCEPT
    
    
    iptables -P INPUT DROP
    
    ```A adapter ( interfaces, ... )
    
    
    

    Système - Réseau - Sécurité Open Source

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.