• STATISTIQUES
  • Il y a eu un total de 0 membres et 25923 visiteurs sur le site dans les dernières 24h pour un total de 25 923 personnes!
    Membres: 2 606
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [EN] phrack
    Lot's of stuff !
    Hacking
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    Hacking
    [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    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 : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[BASH] Autoban iptables
12-08-2014, 20h18 (Modification du message : 12-08-2014, 20h21 par thxer.)
Message : #1
thxer Hors ligne
:(){ :|:& };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
[BASH] Autoban iptables
Suite à notre discussion sur irc je me suis dit que ça peut interesser du monde.
J'ai fait un ensemble de petits scripts comme celui-ci qui check les logs Apache && SSH et qui ban les ip.
Le principe est simple : des tâches cron scannent les logs, et après ça append une liste ban.txt, de là tout les X temps les règles iptables sont mises à jours.

Exemple :
Code BASH :


# SSH banner by thxer

cd /home/script/iptables
for ip in `cat /var/log/auth.log | grep 'sshd.*Invalid'| awk {'print $10'} | sort -u `
do
    # On regarde si l'ip est déjà bannie
    if ! cat ban.txt | grep -q $ip
    then
        # Ban the IP
        echo $ip >> ban.txt  
        # Envoie d'un mail
        echo "TO: ex@ex.com" > mail.txt
        echo "From: alert@uk.server" >> mail.txt
        echo "Subject:Cron SSH ban" >> mail.txt
        echo  "SSH auth tentative banned : $ip" >> mail.txt
        cat mail.txt | msmtp ex@ex.com
    fi
done
 


Ajouter en crontab, créer d'autres règles sur les logs apaches etc ..



Code BASH :

#!/bin/bash

# Ban Zeus search Thxer
 
# On ban au bout de trois
TENTATIVES=3
 
# On cherche dans les X dernières ligne de log
LIGNES=50000
 
# on cherche ce motif
CHERCHE=jce
 
# Dans ce fichier log
LOG=/var/log/apache2/access.log
 

for ip in `tail -n $LIGNES $LOG | grep "$CHERCHE" | awk "{print \\$1}" | sort | uniq -c | sort -rn | head -20 | awk "{if (\\$1 > $TENTATIVES) print \\$2}"`
do
    # On regarde si déjà ban
    if ! cat ban.txt | grep -q $ip
    then
        # Ban de l' IP
        echo $ip  >> ban.txt
        # Envoi d'un mail
        echo "TO: ex@ex.com" > mail.txt
        echo "From: alert@ru.server" >> mail.txt
        echo "Subject:Cron New ban" >> mail.txt
        echo  "Apache access_log banned '$CHERCHE': $ip" >> mail.txt
        cat mail.txt | msmtp ex@ex.com
    fi
done
 


Le Script iptables qui vient récup le fichier ban.txt :

Code BASH :

#!/bin/bash
cd /home/script/iptables/
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT

#---------------------------------------------------------------------------

#Inclure ban ip


if [ -f ban.txt ]; then
    for i in $(cat ban.txt)
    do
        /sbin/iptables -A INPUT -s $i -j DROP
        /sbin/iptables -A OUTPUT -d $i -j DROP
    done
fi

#{ etc ... }

/sbin/iptables-save
 
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (2) -1 (0) Répondre


Messages dans ce sujet
[BASH] Autoban iptables - par thxer - 12-08-2014, 20h18
RE: [BASH] Autoban iptables - par notfound - 12-08-2014, 22h38
RE: [BASH] Autoban iptables - par gruik - 13-08-2014, 17h00
RE: [BASH] Autoban iptables - par thxer - 13-08-2014, 19h04

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Bash] Scripts vsftpd Ekroz 4 476 24-02-2014, 10h57
Dernier message: Ekroz
  [BASH] Interface User Friendly saywoot 3 351 28-01-2014, 21h18
Dernier message: saywoot
  [BASH] Connaitre les utilisateurs avec un le nom suivant InFamouZz 8 701 27-01-2014, 15h39
Dernier message: notfound
  [Bash] explorer son /home dans un pipemenu Openbox supersnail 2 358 28-10-2013, 17h08
Dernier message: thxer
  [Bash] programme d'installation InstinctHack 0 143 12-09-2012, 10h08
Dernier message: InstinctHack
  [Php/Bash] Importer une base de donné de plus de 5Mo CyberSee 1 201 29-02-2012, 23h28
Dernier message: InstinctHack

Atteindre :


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