IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Iptables : impossible de me connecter a mon server


Sujet :

Sécurité

  1. #1
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Iptables : impossible de me connecter a mon server
    Bonjour,

    J'ai fait une grosse erreur en apprenant à configurer mon firewall sous Linux. (je débute )
    j'ai suivit un tutos et lancé le script suivant sur mon serveur.
    Désormais, je ne peut plus du tout me connecter a mon server en ssh, et je ne peux plus réinitialiser mes iptables...

    L'erreur :

    mon script commence comme cela :
    # block every output and input connections
    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP
    iptables -t filter -P OUTPUT DROP

    Puis apres avoir lancé la commande :
    iptables -F
    j'ai réinitialisé toutes les regles a l'exception de la police par defaut, apparemment !! Conclusion, je me suis bloqué et je ne peux plus me connecter à mon server, en ssh! J'ai vraiment bloqué tout les accès! Je ne peux plus rien faire...

    Mes questions sont les suivantes :
    1/ Comment me connecter à mon serveur désormais ?
    2/ Comment réinitialiser les iptables si je ne peux pas utiliser iptables -F?
    3/ Est ce que les DROP sont indispensables ou puis-je les omettre ?

    Il semblerai qu'on peut remplacer la "default policy statements with explicit DROP-rules at the end of each chain", mais je ne comprend pas ce que cela veut dire, ou du moins comment faire...

    Merci beaucoup de m'aider


    Le code complet de mon script :

    #!/bin/sh

    # empty the previous iptables
    iptables -t filter -F

    # empty the personnal rules
    iptables -t filter -X

    # block every output and input connections
    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP
    iptables -t filter -P OUTPUT DROP
    # Do not break the established connections
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    # Allow loopback
    iptables -t filter -A INPUT -i lo -j ACCEPT
    iptables -t filter -A OUTPUT -o lo -j ACCEPT

    # ICMP (Ping)
    iptables -t filter -A INPUT -p icmp -j ACCEPT
    iptables -t filter -A OUTPUT -p icmp -j ACCEPT
    # SSH In
    iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

    # SSH Out
    iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT

    # DNS In/Out
    iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
    iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

    # NTP Out
    iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
    FOR THE WEB SERVER :
    # HTTP + HTTPS Out
    iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

    # HTTP + HTTPS In
    iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par ludoOo71 Voir le message
    Bonjour,

    J'ai fait une grosse erreur en apprenant à configurer mon firewall sous Linux. (je débute )
    j'ai suivit un tutos et lancé le script suivant sur mon serveur.
    Désormais, je ne peut plus du tout me connecter a mon server en ssh, et je ne peux plus réinitialiser mes iptables...

    L'erreur :

    mon script commence comme cela :
    # block every output and input connections
    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP
    iptables -t filter -P OUTPUT DROP

    Puis apres avoir lancé la commande :
    iptables -F
    j'ai réinitialisé toutes les regles a l'exception de la police par defaut, apparemment !! Conclusion, je me suis bloqué et je ne peux plus me connecter à mon server, en ssh! J'ai vraiment bloqué tout les accès! Je ne peux plus rien faire...

    Mes questions sont les suivantes :
    1/ Comment me connecter à mon serveur désormais ?
    2/ Comment réinitialiser les iptables si je ne peux pas utiliser iptables -F?
    3/ Est ce que les DROP sont indispensables ou puis-je les omettre ?

    Il semblerai qu'on peut remplacer la "default policy statements with explicit DROP-rules at the end of each chain", mais je ne comprend pas ce que cela veut dire, ou du moins comment faire...

    Merci beaucoup de m'aider


    Le code complet de mon script :

    #!/bin/sh

    # empty the previous iptables
    iptables -t filter -F

    # empty the personnal rules
    iptables -t filter -X

    # block every output and input connections
    iptables -t filter -P INPUT DROP
    iptables -t filter -P FORWARD DROP
    iptables -t filter -P OUTPUT DROP
    # Do not break the established connections
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    # Allow loopback
    iptables -t filter -A INPUT -i lo -j ACCEPT
    iptables -t filter -A OUTPUT -o lo -j ACCEPT

    # ICMP (Ping)
    iptables -t filter -A INPUT -p icmp -j ACCEPT
    iptables -t filter -A OUTPUT -p icmp -j ACCEPT
    # SSH In
    iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

    # SSH Out
    iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT

    # DNS In/Out
    iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
    iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

    # NTP Out
    iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
    FOR THE WEB SERVER :
    # HTTP + HTTPS Out
    iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
    iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

    # HTTP + HTTPS In
    iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
    iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
    Quand tu fait iptables --list , qu'est ce que tu as comme réponse ?

  3. #3
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Je ne peux pas faire de "iptables -L" ou autre commande puisque actuellement je ne peux pas acceder a mon server en SSH comme je faisait avant. Je suis completement bloqué

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 123
    Points : 117
    Points
    117
    Par défaut
    Vu que tu as utilisé des DROP DROP DROP.... tu ne pourras plus te connecter à ton serveur à distance (impossible ).
    Il te faudra autoriser les connexions SSH vers ton serveur et cela manuellement sur le poste physique (C'est la seule méthode).

    Dis nous ce que tu souhaites faire exactement avec ton Firewall pour répondre à ta deuxième question (la nécessite des DROP ??), tu peux t'en passer dans certains cas.

  5. #5
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Le but de ces DROP était de bloquer toute les connexion entrantes et sortantes pour ensuite n'autoriser que certaines connexions (comme indiqué en commentaire dans mon code).

    Apparement je doit ecrire :
    "iptables -A FORWARD -j DROP" au lieu de "iptables -P FORWARD DROP" mais je ne comprend pas bien la différence ... .

  6. #6
    Membre régulier
    Avatar de debianhunter
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 63
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    2/ Pour eviter le probleme rencontrer, on peut definir les policy de toutes les chaines a ACCEPT avant de reinitaliser les tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    iptables -t filter -P INPUT ACCEPT
    iptables -t filter -P OUTPUT ACCEPT
    iptables -t filter -P FORWARD ACCEPT
    iptables -t filter -F
    3/ Netfilter est sequentiel: il lit les regles pour une chaine les unes apres les autres. Si aucune regle ne "matche", on applique la policy par defaut. Vu que ton objectif est de fermer tous les ports, puis d'en autoriser certains (ce qui est une bonne pratique), il vaut mieux definir une policy DROP pour toutes les chaines plutot que de faire un append (iptable -A) en toute fin ; ca evite bien des erreurs domageables.

  7. #7
    Futur Membre du Club
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Ok, merci pour la réponse.
    Mais je ne suis pas sûre de bien comprendre la différence entre :

    iptables -P INPUT DROP ACCEPT au début du script
    ET
    iptables -A INPUT -j DROP à la fin du script

    D'ailleurs en quoi le mot ACCEPT a la fin de la ligne change quelque chose ? Décidement, la config réseaux c'est pas mon truc

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/08/2017, 15h51
  2. Impossible de me connecter a mon server Oracle
    Par vince1303 dans le forum Oracle
    Réponses: 9
    Dernier message: 31/03/2009, 15h48
  3. Réponses: 4
    Dernier message: 14/03/2009, 18h15
  4. Réponses: 2
    Dernier message: 05/09/2007, 01h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo