[Postfix-br] Script em python para avisos de ataques de SPAMMER
Messias Manoel da Silva Junior
juniormj1 em gmail.com
Terça Outubro 27 08:46:55 BRST 2015
Pessoal, venho compartilhar com vocês um script que venho utilizando para
detecção e avisos de ataques de SPAM
em meu servidor de email.
*#!/usr/bin/dev python '''
**********************************************************************************
NOME: morretes.py DATA 11 de Junho de 2015 DESCRICAO Script para
monitorar a fila de emails contra possiveis SPAM. REQUISITOS Endereco
de email valida, que sera utilizada para envios dos emails. OBSERVACAO
Detectando alguma conta de email maior que 200 emails presos na queue o
sistema enviara um email para o suporte[ at ]mdbrasil.com.br
<http://mdbrasil.com.br> com o endereco de email e a quantidade de emails
na queue dessa mesma conta detectada. AUTOR Messias Manoel da Silva
Junior
***********************************************************************************
''' ### BIBLIOTECAS import smtplib import os from email.mime.multipart
import MIMEMultipart from email.mime.text import MIMEText **###*
* CRIA UM ARQUIVO E PEGA A CONTA COM MAIOR DISPARO DE EMAIL os.system(
"/usr/sbin/postqueue -p | awk '/^[0-9,A-F]/ {print $7}' | sort | uniq -c |
sort -n | grep -v MAILER | tail -1 > /tmp/detectSPAM" ) os.system( "sed
's/[^0-9]//g' /tmp/detectSPAM > /tmp/qnt" ) os.system( "sed
's/[^a-zA-Z em .]//g' /tmp/detectSPAM > /tmp/user" )*
*### ABRE O ARQUIVO PARA LEITURA #emailCliente =
open('/tmp/detectSPAM').read() qnt = open('/tmp/qnt').read() user =
open('/tmp/user').read() #qnt = open('/tmp/detectSPAM').read().split('
')[3] #user = open('/tmp/detectSPAM').read().split(' ')[4] ### CONVERTE qnt
DE STRING PARA INTEGER print qnt qntd = int(qnt) ### SE O NUMERO DE ENVIO
FOR MAIOR QUE 300 E DIFERENTE DE MAILER-DAEMON ENVIE UM EMAIL if(qntd > 200
): mdbrasil_to = 'detectspam em dominio.com.br <detectspam em dominio.com.br>'
mdbrasil_user = 'alerta em dominio.com.br <alerta em dominio.com.br>'
mdbrasil_pwd = 'SenhadoEmail' ## ABRE CONEXAO PARA SMTP smtpserver =
smtplib.SMTP("smtp.dominio.com.br <http://smtp.dominio.com.br>",587)
smtpserver.ehlo() smtpserver.starttls() smtpserver.ehlo ## FAZ
AUTENTICACAO DO USER smtpserver.login(mdbrasil_user, mdbrasil_pwd)
mdbrasil_msg = MIMEMultipart("alternative") mdbrasil_msg["Subject"] =
"Possivel Ataque de SPAM" mdbrasil_msg['From'] = 'alerta@**dominio.com.br
<http://dominio.com.br>*
*' mdbrasil_msg['To'] = 'detectspam@**dominio.com.br
<http://dominio.com.br>*
*' mdbrasil_msg.attach( MIMEText("Foi detectado um ataque de SPAM no
Servidor Email vindo do: \n email: " + user + " com: " + qnt + " emails na
fila. Providenciar o Bloqueio do mesmo.", "plain", "utf-8" ) )
mdbrasil_msg = mdbrasil_msg.as_string().encode('ascii')
smtpserver.sendmail(mdbrasil_user, mdbrasil_to, mdbrasil_msg)
smtpserver.close()*
Coloco ele no Crontab
*/30 * * * * /usr/bin/python /root/detectSpam.py > /dev/null 2>&1
Espero que aproveitem, caso façam alguma alteração que façam o mesmo de
compartilharem com todos aqui na lista...
__________________________
Messias Manoel da Silva Junior
Bebedouro-SP
Analista de Suporte
MD Brasil T.I e Telecom
Linux User: #491808
Linux LPIC1 - Linux Pronfessional Institute Certification
Novell DCTE - Data Center Technical Specialist
Novell CLA - Novell Certified Linux Administrator
--------------------------------------------------
.~. .''`.
/ v \ Use GNU/Linux! : :` :
/( )\ `. `'`
^^-^^ `-
"Para as lagartixas só posso dizer, treine muito e vire um calango, e
continue admirando os crocodilos"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.softwarelivre.org/pipermail/postfix-br/attachments/20151027/910803a3/attachment.html>
More information about the Postfix-br
mailing list