ZIMBRA - BLOQUEAR USUÁRIO INTERNO SPAM COM BASE NOS LOGS
Olá pessoal,
Agradecemos a sua visita em nosso canal. Vou compartilhar com vocês um script onde eu faço o bloqueio de contas que enviam grandes quantidades de email com base na análise de logs. Informo que a melhor opção seria você tem um antispam para detectar tal anomalia e somando a isso o serviço de PolicyD ativado no zimbra ou como regra de serviço postfix do zimbra consultando em um policyd remoto, segue o script:
#!/bin/bash -x
## tratamento de contas bloqueadas
for g in `egrep -e "from=<" /var/log/maillog | grep '(queue active)' | awk '{print $7}' | grep -v 'from=<>' | cut -d '<' -f2 | sed 's/>,//' | sort | uniq -c | sort -nr | egrep -e "*@*.exemplo.com.br$" | egrep -v "(pattern1 | pattern2)" | awk '{print $2 "," $1}'`;
do
if [ `echo $g | awk -F, '{print $2}'` -gt 350 ]; then
su - zimbra -c "/opt/zimbra/bin/zmprov -l ga `echo $g | awk -F, '{print $1}'` zimbraAccountStatus" | egrep -e "(active|locked)" > /dev/null 2>&1
if [ $? -eq 0 ]; then
#alteracao de senha
temp1=`echo -n "`date -u` - Senha antiga comprometida `echo $g | awk -F, '{print $1}'`: "`
temp2=`su - zimbra -c "/opt/zimbra/bin/zmprov -l ga `echo $g | awk -F, '{print $1}'` userPassword | grep userPassword | cut -d ' ' -f2"`
echo "\"$temp1\",\"$temp2\"" >> /root/scripts/sistema/senhas-comprometidas
su - zimbra -c "/opt/zimbra/bin/zmprov sp `echo $g | awk -F, '{print $1}'` nova-senha" > /dev/null 2>&1
su - zimbra -c "/opt/zimbra/bin/zmprov ma `echo $g | awk -F, '{print $1}'` zimbraAccountStatus closed" > /dev/null 2>&1
fi
fi
done
Comentários
Postar um comentário