Página 1 de 1

Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 03:52 @203
por lr_emilio
Buenos días,

Poseo un VPS propio con Cpanel (whm).

En el servidor tengo web de clientes que utilizan diferentes formas de enviar emails.
- Web en Perl usando sendmail sin autentificar.
- Web en PHP usando mail() sin autentificar.
- Web en PHP que utilizan la librería phpmailer con o sin autentificar.

Lo que quiero configurar es que ningún script pueda enviar correo si no es autenticado.

He estado investigando y no consigo solucionar este problema.

He hecho algunos cambios en el panel, como por ejemplo que el usuario nobody no pueda enviar correo, deshabilitar la función mail(), etc., pero a través de Perl puedo seguir enviando y a través de phpmailer puedo enviar siempre esté o no autenticado.

A ver si alguien me puede aclarar algo al respecto.

Muchas gracias de antemano.

Re: Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 06:20 @305
por explorer
Por defecto, muchos servidores de correo permiten el envío de correo por parte de usuarios que están registrados en el sistema, y además que el correo se genere en el propio sistema (es lógico: si un correo sale del propio sistema, se supone que es porque un usuario o un proceso registrado lo han generado, y por lo tanto no necesitan autenticación).

Ese comportamiento se puede cambiar, en el archivo de configuración del sendmail... aunque es poco lioso.

Edito: Quizás sea tan sencillo como editar el archivo de configuración .mc y comprobar esta línea:

DAEMON_OPTIONS(`Port=587, Name=MSA, M=E')dnl

La clave es agregar la bandera 'a' a la opción 'M'. Esa bandera indica que todas las conexiones deben ser autenticadas, vengan de donde vengan. Ejemplo.

Más información.

Re: Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 06:30 @312
por lr_emilio
Gracias por la respuesta, explorer.

¿Cuál es el archivo de configuración .mc?

Edito: Estoy mirando y no encuentro por ningún sitio el archivo sendmail.mc

Un saludo.

Re: Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 06:59 @333
por explorer
En tiempos (hace muchos años que ya no uso sendmail), la configuración del sendmail.cf se hacía muy complicada, así que lo que traían los sistemas era un archivo sendmail.mc, que estaba en formato m4 (un lenguaje de macros. Entonces, solo tenías que modificar ese archivo de configuración, hacer un make (había un Makefile en el mismo directorio), y eso ya generaba el archivo .cf para el sendmail.

Intenta localizarle con el comando locate. Si no está en tu sistema, o tienes otro tipo de herramienta de configuración de sendmail -por ejemplo, algo gráfico o panel de control-, o tendrás que entrar a saco en el archivo sendmail.cf.

Re: Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 07:06 @337
por lr_emilio
Gracias de nuevo.

He estado revisando que todo correo, tanto de scripts de sendmail, mail(), phpmailer, como de outlook, etc., pasa por exim.

La cuestión creo que sería modificando la configuración de exim para que sólo permitiera usuarios autentificados.

Este sería el camino, ¿no crees?

Un saludo.

Re: Prevenir el envío de correo sin autenticación

NotaPublicado: 2014-10-31 08:26 @393
por explorer
Mira a ver si hay alguna línea así:

accept hosts = :

Eso lo que hace es aceptar todos los correos que vienen de una conexión local SMTP.