Sintomas
Ataques web de todos os tipos impactando e causando danos à infraestrutura da empresa
Diagnóstico
Detecções através de IDS e indisponibilidade de IPS ou NGF para mitigar o ataque. Dispondo somente de ferramenta limitada de FW.
Solução
Shell Script para bloquear países que constantemente atacam sua infraestrutura e não precisam de liberação para acesso à internet daqueles países. (normalmente China, Turquia, etc..)
Shell Script
#!/bin/bash
# Autor: Diego Brum
# 01/03/2019
##############
rm geoip2-ipv4_csv.*
wget https://pkgstore.datahub.io/core/geoip2-ipv4/geoip2-ipv4_csv/data/5ecd20f7df0f626a2270b71d4c725630/geoip2-ipv4_csv.csv
##############
PAIS_BLOCK_VAR="/root/PAIS-BLOCK-VAR.var"
TODOS_PAISES="/root/geoip2-ipv4_csv.csv"
echo
echo
echo "digite o nome do país:"
read pais
busca=$(cat "$TODOS_PAISES" |grep -i -w "\<$pais\>")
if [ ! -z "$busca" -a "$busca" != " " ]; then
echo -e "Deseja \e[91mBloquear \e[39mou \e[94mLiberar \e[39m$pais ? (l/b)"
read resp
if [ "$resp" == "b" ]; then
cat "$TODOS_PAISES" |grep -i -w "\<$pais\>" |awk -F',' '{print $1}' > "$PAIS_BLOCK_VAR"
for i in $(cat "$PAIS_BLOCK_VAR"); do
ipset -A blacklist-net $i
echo -e "$pais - $i -\e[91mBLOQUEADO"
done
elif [ "$resp" == "l" ]; then
cat "$TODOS_PAISES" |grep -i -w "\<$pais\>" |awk -F',' '{print $1}' > "$PAIS_BLOCK_VAR"
for i in $(cat "$PAIS_BLOCK_VAR"); do
ipset del blacklist-net $i
echo -e "$pais - $i -\e[92mLIBERADO"
done
else
exit 0
fi
else
echo "País não encontrado"
fi
echo -e "\e[39m "
exit 0