• STATISTIQUES
  • Il y a eu un total de 4 membres et 5374 visiteurs sur le site dans les dernières 24h pour un total de 5 378 personnes!


    2 membres se sont inscrits dans les dernières 24h!


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


  • ANNUAIRE
  • [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [EN] Lost-chall
    Site de challenge présenté sous la forme de différente saison. Pour passer une saison vous devez avoir accumulÃ...
    Challenges
    [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    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: 271
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: 271
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