Script em python para avisos de ataques de SPAMMER

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Script em python para avisos de ataques de SPAMMER

Messias Manoel da Silva Junior

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 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@.]//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 = '[hidden email]'
   mdbrasil_user = '[hidden email]'
   mdbrasil_pwd = 'SenhadoEmail'
## ABRE CONEXAO PARA SMTP
   smtpserver = smtplib.SMTP("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'
   mdbrasil_msg['To'] = 'detectspam@
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.", "p
lain", "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"

_______________________________________________
Postfix-br mailing list
[hidden email]
http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br
Reply | Threaded
Open this post in threaded view
|

Re: Script em python para avisos de ataques de SPAMMER

Walber Santos
Muito bom Messias.

Att


Walber Santos da Silva
Cel 19 98822-3269
ID 130-123-839



Em 27 de outubro de 2015 08:46, Messias Manoel da Silva Junior <[hidden email]> escreveu:

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 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@.]//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 = '[hidden email]'
   mdbrasil_user = '[hidden email]'
   mdbrasil_pwd = 'SenhadoEmail'
## ABRE CONEXAO PARA SMTP
   smtpserver = smtplib.SMTP("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'
   mdbrasil_msg['To'] = 'detectspam@
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.", "p
lain", "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"

_______________________________________________
Postfix-br mailing list
[hidden email]
http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br



_______________________________________________
Postfix-br mailing list
[hidden email]
http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br