• STATISTIQUES
  • Il y a eu un total de 1 membres et 8220 visiteurs sur le site dans les dernières 24h pour un total de 8 221 personnes!


    Membres: 2 609
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] Astalavista
    JavaScript: 1, Exploit: 2, Crypto: 34, CrackIt: 15, Stegano: 8, Programming: 12, Logic: 36, Special: 6, Science: 4, Info...
    Challenges
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
IPTABLES
11-12-2012, 18h03 (Modification du message : 11-12-2012, 18h33 par notfound.)
Message : #1
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
IPTABLES
Bonjour,

Une fois de plus, je m'occupe un peu de cette partie "morte" du forum qu'est la partie GNU/Linux.
Ce matin, j'ai eu en TP un sujet sur les iptables.

Pour situer un peu la choses, voici quelques définitions :
IPTABLES est un logiciel libre de l'espace utilisateur Linux grâce auquel l'administrateur système peut configurer les chaînes et règles dans le pare-feu en espace noyau. De plus, c'est une interface en ligne de commande permettant de configurer Netfilter.

NETFILTERest un module du noyau Linux qui offre la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit ainsi les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau.

Pour réaliser au mieux le TP qui était par étape (comme souvent) j'ai crée un script shell afin de ne pas à avoir à tout retaper à chaque fois.
Le script ne réponds bien sur qu'à ce qui avait été demandé, mais il contient les commandes les plus utilisées et il peut être complété.

Code BASH :

#!/bin/sh
# Script créé dans le but du TP sur les IPTABLES

clear
menu(){
        echo "                          [ MENU ]                        "
        echo "  Nous allons ici choisir les règles à appliquer                "
        echo "                                                          "
        echo "          Voici les choix suivants :                      "
        echo "  1 : Tout accepter                                       "
        echo "  2 : Tout interdire                                      "
        echo "  3 : Autoriser les paquets PROVENANT du localhost        "
        echo "  4 : Autoriser les paquets à DESTINATION de localhost   "
        echo "  5 : Autoriser les paquets PROVENANT d'une @IP particuliere"
        echo "  6 : Autoriser les paquets à DESTINATION d'une @IP particuliere"
        echo "  7 : Autoriser la regle MASQUERADE sur une @reseau "
        echo "  F : Supprimer toutes les regles existantes              "
        echo "  L : Consulter toutes les regles existantes              "
        echo "  Q : Quitter le programme                                "
        echo "  R : Rappel du menu                                      "
        echo ""
       
}
menu
read -p "[?] Choix : " choix
while (true)
do
        case $choix in
         
                1)      echo "[+] ACCEPT INPUT/OUTPUT/FORWARD"
                        iptables -P INPUT ACCEPT
                        iptables -P OUTPUT ACCEPT
                        iptables -P FORWARD ACCEPT
                        ;;

                2)      echo "[+] DROP INPUT/OUTPUT/FORWARD"
                        iptables -P INPUT DROP
                        iptables -P OUTPUT DROP
                        iptables -P FORWARD DROP
                        ;;

                3)      echo "Autorisation des paquets PROVENANT du localhost"
                        iptables -A INPUT -s localhost -j ACCEPT ;;

                4)      echo "Autorisation des paquets a DESTINATION du localhost"
                        iptables -A OUTPUT -s localhost -j ACCEPT ;;

                5)      echo "[?] Saisir l'@IP du réseau"
                        echo "Usage : xx.xx.xx.xx/xx"
                        read IP
                        iptables -A INPUT -s $IP -j ACCEPT ;;

                6)      echo "[?] Saisir l'@IP du réseau"
                        echo "Usage : xx.xx.xx.xx/xx"
                        read IP
                        iptables -A OUTPUT -d $IP -j ACCEPT ;;

                7)      echo "[?] Saisir l'@IP du réseau"
                        echo "Usage : xx.xx.xx.xx/xx"
                        read IP
                        iptables -t nat -A POSTROUTING -s $IP -j MASQUERADE;;

                F|f)    echo "[+] Suppression de toutes les regles existantes"
                        iptables -F ;;

                L|l)    echo "[+] Affichage des regles"
                        iptables -L ;;

                R|r)    clear && menu   ;;
               
                Q|q)    break ;;        #sortir du programme

                *)      echo "[!] Ce choix n'est pas valide" ;;
        esac
        echo ""
        read -p "[?] Choix : " choix
done
 
+1 (2) -1 (0) Répondre
11-12-2012, 18h23 (Modification du message : 11-12-2012, 18h28 par b0fh.)
Message : #2
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: IPTABLES
Pour la clause 5 c'est la chaine INPUT qu'il te faut, pas OUTPUT.

Pour la 6 c'est -d, pas -s.

Pour la 7, l'entrée dans la table nat est inutile s'il n'y a pas d'entrée correspondante dans filter FORWARD.

Excepté pour les machines peu puissantes routant beaucoup de traffic, les premières règles dans les 3 chaines filter devraient être les règles de matching sateful:

-m state --state established,related -j ACCEPT
-m state --state invalid -j DROP

ce qui permet au reste des règles de ne considérer que les nouvelles conversations. Sinon ce n'est pas très utile de bloquer une seule direction.
+1 (0) -1 (0) Répondre
11-12-2012, 18h24
Message : #3
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: IPTABLES
Merci pour le script, ça peut toujours servir Smile
+1 (0) -1 (0) Répondre
11-12-2012, 18h27 (Modification du message : 11-12-2012, 18h33 par notfound.)
Message : #4
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: IPTABLES
@both: En effet, pour la clause 5 et 6 c'est juste le fruit d'un copier coller que je n'ai pas vérifié ...
Pour le reste merci, je ne savais pas Wink
J'ai édité mon post pour rectifier le tir, par contre pour la clause 7) on est obligé de mettre une table ou une chaîne ...
+1 (0) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut