• Aviso Legal
  • About

Bienvenidos al Blog de David Rodriguez

Tag Archives: Spam

Como salir de spam de gmail

diciembre 17, 2013 1:04 pm / 1 Comment / David Rodriguez

En caso que hayas tenido un ataque de spam desde tu servidor y gmail lo detecte, te mete en su lista negra. Tu servidor de correo, te mandará un email con la respuesta de Gmail diciendo que te han bloqueado

I’m afraid I wasn’t able to deliver your message to the following addresses.
This is a permanent error; I’ve given up. Sorry it didn’t work out.

:
173.194.66.27 failed after I sent the message.
Remote host said: 550-5.7.1 [xx.xxx.xxx.xxx 7] Our system has detected that this message is
550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to Gmail,
550-5.7.1 this message has been blocked. Please visit
550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for
550 5.7.1 more information. wx3si9816082wjb.102 – gsmtp

Una vez limpio el servidor de spam, sería sencillo mandar una propuesta a Gmail para que te eliminara de su lista negra, pero esta acción no es posible. Simplemente queda esperar a que gmail compruebe que no se están haciendo envios desde ese servidor. ¿y cuanto tarda Gmail en hacer esto?

Pues en nuestro caso, entre 1 y 2 meses. Es un tiempo bastante elevado para confirmar que ya no se están haciendo ataques de SPAM desde una misma IP .. pero ya sabes que Google es Google.

Posted in: servidores, SPAM / Tagged: gmail, google, spam, web spam

Como descubrir un ataque de SPAM en un servidor Linux

noviembre 11, 2013 6:43 pm / 1 Comment / David Rodriguez

Si notas que tu correo se recibe lentamente, que pasa tiempo desde que envias un email, hasta que lo recibes puede que tengas la cola de correo colapsada por un ataque de SPAM.

Lo más importante en estos casos, es comprobar que efectivamente tienes un ataque de SPAM. Para ello comprueba la cola de correo de su servidor. Si utilizar Qmail, un programa muy comodo para conocer esto es el programa qmHandle. Ya comenté en otro post, como descargarlo y los parametros a utilizar http://blogdavidrodriguez.piensaennaranja.com/2013/07/23/borrar-algunos-correos-de-la-cola-de-qmail/

Nos situamos en el directorio donde hemos descomprimirdo qmHandle, y lo ejecutamos:

> ./qmHandle -s

Nos da una respuesta parecida a esta:

Total messages: 1500

Messages with local recipients: 0

Messages with remote recipients: 1500

Messages with bounces: 0

Messages in preprocess: 0

Podemos ver que tenemos 1500 mensajes en cola. Con el siguiente comando, podemos ver las cabeceras de los correos que están en la cola de correo de Qmail.

>./qmHandle -l

801681 (16, 16/801681)

Return-path: anonymous@host.dominio.com

From: PagSeguro <pagseguro@pagseguro.com.br>

To: carlosaaa2@infonet.com.br

Subject: Atualiza?ao automatica do Sistema de Seguran?a Pagseguro.

Date: 11 Nov 2013 17:29:02 +0100

Size: 886 bytes

……

Efectivamente, estamos viendo que se están enviando correos de SPAM desde nuestro servidor. Ahora lo más importante es borrar esos correos de la cola de correo, y encontrar el agujero por el que han entrado.

Para borrar los correos de la cola de correo, seguimos utilizando el programa qmHandle con una parte del asunto,

>./qmHandle -SPagseguro

Le estamos diciendo que borre todos los mensajes de la cola de correo que tienen en el asunto PagSeguro

Una vez hemos borrado la cola de correos, nos que da la tareas más ardua y penosa. Encontrar por donde han metido el codigo malicioso y tapar el agujero. Mi consejo, es que si en ese servidor tienes algún CMS tipo WordPress, Magento, Joomla, etc .. empieces por esos dominios actualizando los CMS a la ultima versión.

Hay que analizar los correos que se envian, con cualquier correo que se devuelva porque el correo no existe lo podemos analizar las cabeceras. Lo abrimos en cualquier cliente de correo y le damos a «ver código fuente».

Return-Path: <anonymous@host.activoclick.com>
Received: (qmail 15479 invoked by uid 502); 11 Nov 2013 17:31:04 +0100
Date: 11 Nov 2013 17:31:04 +0100
Message-ID: <20131111163104.15469.qmail@host.dominio.com>
To: carlosdmcj@icqmail.com
Subject: Atualizaçao automatica do Sistema de Segurança Pagseguro.
X-PHP-Originating-Script: 10012:FaillureCorp.Org_BB_Empresa.php
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: PagSeguro <pagseguro@pagseguro.com.br>

Analizando las cabeceras, podemos saber, por ejemplo, el uid que ha enviado el mail.
> grep 502 /etc/passwd

psaftp:x:501:502:anonftp psa user:/:/sbin/nologin
apache:x:502:503:Apache server:/:/sbin/nologin

En ese caso, podemos ver que ha sido el usuario apache el que ha lanzado el email … pero podríamos saber desde qeu dominio o servicio se podría haber mandado.

Analizando más a fondo las cabeceras, podemos ver el fichero que ha lanzado ese email

X-PHP-Originating-Script: 10012:FaillureCorp.Org_BB_Empresa.php
Vemos que ha sido lanzado por un fichero php, aunque tambien puede que haya sido algún cgi, perl, python, etc.
Ahora buscamos ese archivo en nuestro servidor
> find / -iname *Org_BB_Empresa.php
y tenemos que encontrar la ubicación de ese fichero.
Borrarlo y ya tendremos el fichero eliminado. Para que no vuelvan a crearlo, lo más normal es que hayan encontrado alguna contraseña FTP del dominio donde estaba alojado ese fichero.
Muy importante cambiar todas las contraseñas de ese dominio, y por supuesto, la de root del servidor.
Habremos solucionado el problema de SPAM. Siempre es recomendable actualizar todos los servicios que se estén utilizando en el servidor, para evitar agujeros de seguridad.

 

 

Posted in: Seguridad, servidores, SPAM / Tagged: apache, linux, spam

Borrar algunos correos de la cola de qmail

julio 23, 2013 8:52 am / 1 Comment / David Rodriguez

Para los MTAs con Qmail instalado, a veces necesitamos poder borrar toda la cola de correo, bien por un ataque de SPAM, o bien porque se está colapsando.

Para ello, lo mejor es utilizar este script qmHandle, para facilitarnos la tarea.

Una vez que lo tenemos descomprimido, ya podemos utilizarlo y hay varios comandos que nos ayudan a realizar las tareas más comunes:

-a : trata de enviar los mensajes en cola (debe estar corriendo el qmail)
-l : lista de los mensajes en cola
-L : lista los mensajes de la cola local
-R : lista los mensajes de la cola remota
-s : muestra estadisticas de la cola de correo
-mN : muestra las cabeceras del mensaje N
-dN : borra un unico mensaje de la cola
-fsender : borra los mensajes enviados desde una usuario (debe estar parado el servicio de qmail)
-f’re’ : borra los mensajes enviados desde varios usuarios, utilizando expresiones regulares
-Stext : borra todos los mensajes que tiene text en el asunto
-h’re’ : borra todos los mensajes con las cabeceras que contiene re como expresion regular
-b’re’ : borra todos los mensajes con el cuerpo que contiene re como expresion regular
-D : borra todos los mensajes de la cola de correo

ejemplos:

– Borrar todos los mensajes de la cola de correo de qmail

qmHandle -D

– Listado de los mensajes de la cola de correo

qmHandle -l

-Listado del número de mensajes de la cola de correo de qmail

qmHandle -s

– Borrado de todos los mensajes de la cola de correo enviados desde el mail  usuario@usuario.com

qmHandle -fusuario@usuario.com


Posted in: Internet, Seguridad, servidores, SPAM / Tagged: MTA, qmail, spam, web spam

Gestionar la cola de correo de Postfix

octubre 9, 2012 9:59 am / Leave a Comment / David Rodriguez

Si teneis el servidor de correo Postfix instalado en vuestro servidor Linux, puede que estos comandos para gestionar la cola de correo de Postfix te sean muy utiles:

  • Ver los mensajes de la cola de correo Postfix
    > mailq   aunque tambien vale > postqueue -p
  • Eliminar todos los mensajes de la cola de correo Postfix
    > postsuper -d ALL
  • Eliminar un mensaje de la cola de correo Postfix
    >postsuper -d numero
Posted in: servidores / Tagged: linux, postfix, spam

Buscar una palabra dentro de un fichero en linux

diciembre 10, 2010 6:11 pm / Leave a Comment / David Rodriguez

Para buscar una palabra dentro de un fichero, en una maquina linux, lo podemos hacer facilmente de la siguiente forma.

Nos posicionamos en el directorio a buscar.

> cd /directorio_a_buscar

y busco la palabra

find . -exec grep -l palabra_a_buscar {} \;

Nos podemos ahorrar mucho tiempo para encontrar intrusiones en algún fichero en linux.

Posted in: Internet, Programacion, Seguridad, servidores / Tagged: Internet, linux, Programacion, spam

Comprobar email correcto desde consola de linux

noviembre 25, 2010 8:57 am / 1 Comment / David Rodriguez

Vamos a enviar un email, directamente desde una consola de linux.

Conectar por ssh al puerto 25:

> ssh www.activolution.com 25

«Saludar al servidor» jejeje

> HELO www.activolution.com

Indicar quien va a mandar el email

> MAIL FROM: <info@activolution.com>

Indicar a quien lo vas a mandar terminando con . <INTRO>.<INTRO>

> RCPT TO: <spam@topformacion.com>

Incluir el texto del mensaje

> DATA

Esto es el texto del mensaje de prueba

.

.

> QUIT

Posted in: Internet, Seguridad, servidores / Tagged: Internet, linux, Programacion, spam, web spam

Los robots de formularios están de vacaciones de semana santa

abril 7, 2009 11:10 am / Leave a Comment / David Rodriguez

Es algo muy raro que está pasando .. pero en estos días de principio de semana santa, hemos tenido muchos menos ataques de formularios por robots y web spam.

Debe de ser que los spammers tambien se van de vacaciones jejeje aunque en el resto del mundo no son vacaciones, sobre todo en los paises del este, que es donde provienen la mayoria de los ataques hacia nuestras webs.

Veremos que ocurre cuando acabe semana santa .. si vuelven los ataques .. o decididamente han dejado de atacarnos viendo que no conseguian resultados.

Posted in: Internet, Seguridad / Tagged: robots, Seguridad, spam, web spam

Spam desde un servidor con dm.cgi

junio 17, 2008 12:22 pm / 5 Comments / David Rodriguez

Se acaba de caer nuestro servidor, y no sabiamos porque se producia esto. Hemos estado mirando lo logs del sistema y los procesos que estaban corriendo, y nos hemos encontrado unos procesos que estaban comiendose toda la memoria. Este proceso era dm.cgi

Hemos visto que habian subido un cgi a nuestro servidor para realizar spam desde nuestro server.

Para solucionarlo:

1.- Borrar del directorio cgi-bin del dominio atacado todos los ficheros .
drwxrwxrwx 2 xxx psacln 1024 Jun 17 12:00 log
-rw-r–r– 1 xxx psacln 1456 Jun 17 12:00 config.txt
-rwxr-xr-x 1 xxx psacln 74405 Jun 17 12:00 dm.cgi
-rw-r–r– 1 xxx psacln 172 Jun 17 12:00 fff.html
-rw-r–r– 1 xxx psacln 568 Jun 17 12:00 from.txt
-rw-r–r– 1 xxx psacln 8 Jun 17 12:00 letter.txt
-rw-r–r– 1 xxx psacln 0 Jun 17 12:00 macros1.txt
-rw-r–r– 1 xxx psacln 570 Jun 17 12:00 replyto.txt
-rw-r–r– 1 xxx psacln 17 Jun 17 12:00 subject.txt
-rw-r–r– 1 xxx psacln 2450181 Jun 17 12:08 mailbase.txt
drwxrwxrwx 2 xxx psacln 1024 Jun 17 12:45 sys
2.- Suprimir la ejecución de cgi en ese dominio (Nosotros lo hemos desactivado a traves del panel de control de Plesk)

3.- Cambiar y fortalecer las contraseñas del usuario de ftp del dominio atacado.

Posted in: Internet, Seguridad / Tagged: dm.cgi, spam

Proteger formularios contra robots y web spam

mayo 20, 2008 9:31 am / 11 Comments / David Rodriguez

Todo el que tenga formularios en internet, más tarde o más temprano, tendrá robots que le envian información para intentar introducir en su base de datos urls, etc.

Un sistema bastante común es el de Captcha, que es la tipica imagen distorsionada, el cual no me gusta como usuario, ya que es obligar al usuario a utilizar un campo más de un formulario, lo que puede hacer perder un posible usuario (a mi me pasa 😉 ). Ademas, los programas OCR reconocedores de imagenes, hacen que las imagenes sean tan distorsionadas que son incluso complicado para un humano reconocerlas. Como veis, no es un campo que me guste, con lo cual, quien quiera proteger sus formularios de esta forma, pues tiene multiples módulos para generar estas imagenes, yo prefiero otras formas.

A continuación, paso a detallar posibles metodos anti-robot los cuales he utilizado para proteger los formularios. Cuanto más pongas, mas dificil tendrá el robot introducir su porquería. Algún ejemplo estará realizado en php, aunque la idea se puede exportar a todos los lenguajes. Para entendernos mejor, llamaremos Pagina1 a la pagina del formulario y Pagina2 a la pagina donde se realiza la operacion de negocio de ese formulario(envio correo, guardar en base de datos, etc).

1.- Realizar comprobaciones de los datos en el lado del cliente y en el lado de servidor.

Obviamente, solemos realizar las comprobaciones Javascript en el lado del cliente para que el «usuario normal» no introduzca datos erroneos en la Pagina1. Los robots se saltan esta limitación, asi que debemos comprobar en el servidor, que todos los datos tienen el formato correcto, en la Pagina2.

Por ejemplo, si pedimos el telefono o código postal, pues en el lado del servidor debemos comprobar que nos llega un dato numérico , o la misma comprobación que hagamos en javascript.

2.- Controlar la sesión del usuario.

Controlar mediante sesiones, que el usuario que entra en la Pagina2 viene exclusivamente de la Pagina1. Es decir, tenemos una variable que guardamos en la sesion del usuario, por ejemplo, con valor 1, y cuando leamos esa variable en Pagina2, pues si tiene ese valor es que viene de Pagina1, y modificamos su valor para que tenga que volver a pasar por el formulario. De esta forma, tambien limitamos que el usuario pueda dar 100 veces a refrescar la página, y nos introduzca sus datos 100 veces.

3.- Introducir un campo oculto en el formulario con la una clave dinámica y encriptada.

Podremos poner en el formulario, un campo «hidden» cuyo valor sea una clave encriptada que nosotros sabemos. Si esta clave es dinámica, pues mucho mejor.

Por ejemplo,

<input type=»hidden» name=»clave» value=»<?=md5(‘CLAVEqueQueremos’.$datodinamico.$numeroaleatorio)?>»

Es decir, en este ejemplo, nos generamos una clave con los siguientes campos:

– CLAVEqueQueremos: Una cadena de texto que nosotros definimos y que solo nosotros conocemos.

– $datodinamico: algun dato que identifique al formulario y que sea dinamico, si por ejemplo estamos haciendo una compra de un producto, pues el productoId sería la opción

– $numeroaleatorio: Número aleatorio que generamos en cada petición y que podemos pasarselo a la Pagina2 en otro campo hidden o guardarlo en una tabla o fichero temporal para consultarlo desde Pagina2.

Una vez hecho esto, se encripta para que el resultado visible en el navegador sea una cadena de texto extraña. Aquí he puesto como ejemplo el metodo de encriptación md5, pero se puede utilizar cualquier método de encriptación.

En Pagina2, volvemos a generar esta clave, la encriptamos, y comprobamos que es lo mismo que nos viene de Pagina1 del campo «clave».

4.- Introducir un campo oculto por css con nombre email

Introducir un campo cuyo nombre contenga la palabra «email», y ocultarlo con estilos(style=»display:none»). En el value del campo, introducimos un valor que no sea un email, ya que está comprobado que los robots rellenan con un email aleatorio todos los campos que encuentran con ese nombre. De esta forma, en Pagina2, podemos comprobar que ese campo que nos llega no tenga formato de email.

Ejemplo:

En Pagina1:

<input type=»text» name=»emaildementira» value=»A» style=»display:none»>

En Pagina2:

Comprobamos que en el campo «emaildementira» no nos llega una @.

Con todo esto, lo que haremos será entorpecer un poco más los robots de envio de porqueria con formularios. Esto evoluciona cada día, con lo cual, no es una panacea, pero por lo menos se lo ponemos más dificil a los spam-robots. Por lo menos que el programador que lo ejecuta … que se lo curre un poco más.

Si teneis algún otro método que no conozca .. aquí estamos para conocerlo.

Si alguno tiene muchos problemas de realizar estos pasos, que me mande un email que se lo explico con más detalle.

Espero que os sirva.

Posted in: Internet, Programacion, Seguridad / Tagged: form, formularios, robots, spam, spam attack, web spam, webspam

Categorias

  • Base de datos
  • Empresas
  • Internet
  • Mac
  • marketing
  • Otros
  • Prensa
  • Programacion
  • Redes Sociales
  • Retos deportivos
  • Seguridad
  • SEO
  • servidores
  • SPAM
  • Uncategorized
© Copyright 2022 - Blog de David Rodriguez