Mini_Project_proteger_un_serveur

Mini Project:proteger un serveur

Objectif:

L’objectif de ce mini projet est de fournir un outil capable de protéger un serveur contre les attaques abusives sur Internet, par bloquer automatiquement les adresses IP malveillantes.

Ressources:

AbuseIPDB est un projet dédié à la lutte contre la propagation des pirates, des spammeurs et des activités abusives sur Internet. Il s’agit d’un service en ligne qui fournit une liste des adresses IP ayant été marquées comme abusives via un API.

Travail à réaliser:

Ce projet consiste à réaliser un script shell qui:
➔ Fait l’extraction des adresses IP à partir des fichiers log (Apache, Nginx, SSH, etc).
➔ Compare cette liste d’adresses IP avec la liste noire des adresses associées à des activités malveillantes en ligne fournies par l’API de AbuseIPDB.
➔ Ajoute des règles de blocage au pare-feu (IPTables).
➔ Envoie d’un rapport quotidien à l’administrateur réseau (par mail).

Script:

#!/bin/bash

#partie1: extration des adresse ip 

cat projet.log | cut -f1 -d' ' > file.txt
key="d94e1d7b0f5e566f047fc3ccb9bba6d99a449f252027c676a01c557797ae33292376ab97edd7b699";

# partie2: la Verification des adresses ip 
input="file.txt"
while IFS= read -r line 
do 
echo "";
curl -G https://api.abuseipdb.com/api/v2/check \--data-urlencode "ipAddress=$line" \-d maxAgeInDays=90 \-d verbose \-H "Key: $key" \-H "Accept: application/json"
done <"$input"

# partie3: Bloquage des adresses ip 
while 
IFS= read -r line 
do 
 echo "";
     sudo iptables -A INPUT -s $line  -j DROP;
     echo "adresse bloquer"
done < "$input"