[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