Re: iptables et port ssh

Top Page

Reply to this message
Author: Olivier Allard-Jacquin
Date:  
To: guilde
Subject: Re: iptables et port ssh
    Bonjour,

Gedeon Legaut a écrit :
> bonjour,
> j'ai rencontré le pb suivant:
> un ordinateur fixe a deux cartes réseaux sous ubuntu: je me connecte par
> ssh depuis cet ordi sur mon portable, mais l'inverse ne marche pas parce
> que le port ssh (22) n'est pas ouvert !
> pourtant, j'ai bien mis une ligne du type
>     iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> avez-vous une idée ? je ne comprends pas pourquoi, si le port 22 du fixe
> est fermé, je peux me connecté en ssh sur mon portable.


    Tu confonds 2 choses :
- le fait de créer un "trou" dans ton firewall, afin de laisser les
connexions entrantes y arriver. C'est ce que tu fais avec la règle
iptables ci-dessus.


- le fait d'avoir un demon, "sshd" dans ton cas (voir "xinetd"), qui
écoute derrière ce port. C'est du moins ce que je comprend avec ta
phrase "mais l'inverse ne marche pas parce que le port ssh (22) n'est
pas ouvert !"

    Que donne la commande suivante, tapé en temps que root :


[root@phoenix ~]# netstat -taupn | grep ":22"
tcp  0 0 x.x.x.x:22  0.0.0.0:*   LISTEN      7251/xinetd


    Chez moi, c'est le démon "xinetd" qui écoute sur le port 22. Et
lorsqu'une connexion ssh arrive sur mon port 22, celui-ci lance "ssh".


Regarde chez toi si tu as un fichier /etc/xinetd.d/sshd-xined (ou
quelque chose d'équivalent). Il faut que la ligne "disable = no" y soit.
si c'est à "yes", remplace-la à "no", et relance xinetd
("/etc/init.d/xinetd restart"). La commande "netstat" doit alors te
donner un résultat similaire au mien.

    Pour plus d'infos sur Xinetd, regarde sur :


http://olivieraj.free.fr/fr/linux/information/firewall/fw-02-05.php#II-5-5

> le script iptables.sh utilisé est ci-dessous. je l'utilise chez moi et
> il marche !
> un grand merci
> Gédéon Légaut
>
> script iptables.sh
> ==================================================================
> # remise a zero des regles de filtrage
> iptables -F
> iptables -X
> iptables -t nat -F
> iptables -t nat -X
> iptables -P INPUT DROP
> iptables -P FORWARD ACCEPT
> iptables -P OUTPUT ACCEPT
>
> # DEBUT FIREWALL
>
> # connexions deja etablies acceptees
> iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
>
> # serveur ssh
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>
> # serveur DNS joignables de l'exterieur
> iptables -A INPUT -p tcp --dport 53 -j ACCEPT
> iptables -A INPUT -p udp --dport 53 -j ACCEPT


    Tu as ton propre serveur de DNS sur ta machine ? Et tu laisses les
Internautes y accéder ?


> # flux VideoLAN
> iptables -A INPUT -p udp --dport 1234 -j ACCEPT
>
> # ping
> iptables -A INPUT -p icmp -j ACCEPT
>
> # pas de filtrage pour l'interface "loopback"
> iptables -A INPUT -i lo -j ACCEPT
>
> # la chaine par defaut devient "REJECT"
> iptables -A INPUT -j REJECT


    Personnellement, je préfère le "DROP" plutôt que le "REJECT".


> # FIN FIREWALL
>
> # serveur nat
> iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


    Bon WE,


                        Olivier


-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!