netfilter

Dans cette partie nous nous trouvons sur le serveur présent dans l’interface DMZ et nous voulons export les règles MISP et les intégrer dans le firewall iptables

Script

Pour cela, nous avons créé un script : misp_export.sh

Le script commence par le téléchargement des règles au format netfilter puis ensuite par leur ajout si ces dernières ne sont pas déjà existantes.

ip_misp=192.168.2.3
token_misp=UmziuDKvNs5Bvm5OzR4jxwdfueKWgInV0Pb50q2T

# Téléchargement des règles snort au format netfilter
curl \
         -d '{"returnFormat":"netfilter","tag":"APT41"}' \
          -H "Authorization: $token_misp" \
           -H "Accept: application/json" \
            -H "Content-type: application/json" \
             -X POST https://$ip_misp/attributes/restSearch -k > tmp.txt

# Lecture ligne par ligne des règles
while read -r row; do
# Vérification de si la règle existe déjà
/sbin/iptables -C ${row:12}
if [ $? -eq 1 ]
then
# Ajout de la règle si elle n'existe pas
/sbin/$row
fi
done < tmp.txt

rm tmp.txt

Création d’une tache cron

Afin que le script soit lancé régulièrement nous allons mettre en place une tache cron, pour cela, il faut être root et faire les commandes suivantes :

touch /etc/cron.d/MISP_export
echo "*/* * 1 * * root bash /home/server/Documents/Scripts/misp_export.sh" > /etc/cron.d/MISP_export

Dans notre cas nous avons une tache cron qui s’exécute toutes les minutes afin de vérifier que cela fonctionne, dans le but d’être ensuite passé à tous les jours :

DM5

Vérification

Nous pouvons par la suite voir que nos règles ont bien été ajoutées :

root@INFRA01:/home/server# /sbin/iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
...

DROP       all  --  141.98.168.70        anywhere
DROP       all  --  141.98.168.70        anywhere
DROP       all  --  srv-web.ffconsulting.com  anywhere
DROP       all  --  46.101.90.205        anywhere
DROP       all  --  57.ip-142-44-247.net  anywhere
DROP       all  --  104.131.123.136      anywhere
DROP       all  --  178.128.83.165       anywhere
DROP       all  --  ns328855.ip-37-187-115.eu  anywhere
DROP       all  --  5.182.210.132        anywhere
DROP       all  --  121.199.35.69        anywhere
DROP       all  --  earthquake.kenic.nl  anywhere
DROP       all  --  balancer01.midiamail.com.br  anywhere
DROP       all  --  172-251-79-154.r.airtelkenya.com  anywhere
DROP       all  --  ik1-318-19421.vs.sakura.ne.jp  anywhere
DROP       all  --  1.234.21.73          anywhere
DROP       all  --  178.128.23.9         anywhere
DROP       all  --  vps-6002776.tracebr.com.br  anywhere
DROP       all  --  li1190-89.members.linode.com  anywhere
DROP       all  --  178.128.197.110      anywhere
DROP       all  --  186.225.119.170      anywhere
DROP       all  --  C8ECDA3E.static.tesa.net.br  anywhere
DROP       all  --  cpe-24-162-214-166.elp.res.rr.com  anywhere
DROP       all  --  148.ip-37-59-103.eu  anywhere
DROP       all  --  107.170.64.97        anywhere
DROP       all  --  li512-172.members.linode.com  anywhere
DROP       all  --  gfgapp.in            anywhere
DROP       all  --  104.248.178.90       anywhere
DROP       all  --  static-bafo-181-129-167-82.une.net.co  anywhere

...