Iptables ssh et ip

Bonjour,

Voici les lignes de mon iptables
iptables -A INPUT -i eth0 -p tcp -s 12.34.56.78 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -P INPUT DROP


tout fonctionne mais tout le monde peut accéder via ssh. Or je voudrais limiter l'accès a certaine adresse mais quand je commente la ligne
iptables -A INPUT -p tcp --dport ssh -j ACCEPT

afin que seule l'adresse ip 12.34.56.78 accède via ssh je n'ai plus accès. Je ne peux même pas rentrer mon mot de passe.

--
"ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
Configuration: kubuntu
Firefox 3.5.4

8 réponses

  1. Modérateur
    Ça ne répond pas exactement à la question, mais tu peux directement agir dans /etc/ssh/sshd_config (sur l'ip et le login). Voir les options AllowHosts et AllowUsers :
    http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Restricting_User_Logins.html

    Bonne chance
    1. Effectivement ça ne résout pas vraiment mon pb, mais merci quand même.
      1. Salut,

        Affiche le résultat de
        sudo iptables-save | sed 's/\b\([0-9]\{1,3\}\.\)\{3\}/x.x.x./'
        1. Voici le résultat :

          # Generated by iptables-save v1.4.4 on Tue Jan 19 20:46:15 2010
          *filter
          :INPUT DROP [0:0]
          :FORWARD ACCEPT [0:0]
          :OUTPUT ACCEPT [1557921:71368935]
          :fail2ban-ssh - [0:0]
          -A INPUT -s x.x.x.0/24 -p tcp -j ACCEPT
          -A INPUT -s x.x.x.201/32 -p tcp -m tcp --dport 22 -j ACCEPT
          -A INPUT -p tcp -m tcp --dport 22 -j DROP
          -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
          -A INPUT -p icmp -j DROP
          COMMIT
          # Completed on Tue Jan 19 20:46:15 2010
          
          1. Salut,

            Essaie ce script, seulement l'adresse x.x.x.x (donc à modifier) aura accès pour ssh
            #!/bin/sh
            # Description: configuration de firewall netfilter/iptables
            #
            # Initialization de la table FILTER
            #
            iptables -F
            iptables -X
            iptables -P INPUT   DROP
            iptables -P OUTPUT  DROP
            iptables -P FORWARD DROP # les 3 cmd = debranchement des cables
            
            # Initialization de la table NAT
            #
            iptables -t nat -F
            iptables -t nat -X
            iptables -t nat -P PREROUTING    ACCEPT
            iptables -t nat -P POSTROUTING   ACCEPT
            iptables -t nat -P OUTPUT        ACCEPT
            #
            # Initialisation de la table MANGLE
            #
            iptables -t mangle -F
            iptables -t mangle -X
            iptables -t mangle -P PREROUTING    ACCEPT
            iptables -t mangle -P INPUT         ACCEPT
            iptables -t mangle -P OUTPUT        ACCEPT
            iptables -t mangle -P FORWARD       ACCEPT
            iptables -t mangle -P POSTROUTING   ACCEPT
            
            # interface lo
            iptables -A INPUT -i lo -j ACCEPT
            iptables -A OUTPUT -o lo -j ACCEPT
            
            #                            table FILTER
            iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
            iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
            
            # connexion ssh
            iptables -A INPUT -s x.x.x.x -p tcp --dport 22 -j ACCEPT
            1. Modérateur
              Au fait juste par curiosité, pourquoi t'embêtes-tu avec des iptables là où la configuration de sshd permet déjà de régler le problème ?
              1. Salut,

                pourquoi t'embêtes-tu avec des iptables là où la configuration de sshd permet déjà de régler le problème ?
                Oui en effet. Mais en ce cas le port 22 doit être ouvert pour tout le monde.
                La protection au niveau serveur c'est un plus.