• Publicidad

Prevenir el envío de correo sin autenticación

¿Eres administrador de sistemas? Este foro es para todos aquellos temas relacionados con el uso de Perl para administración de sistemas.

Prevenir el envío de correo sin autenticación

Notapor lr_emilio » 2014-10-31 03:52 @203

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.
lr_emilio
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2013-08-01 11:57 @539

Publicidad

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

Notapor explorer » 2014-10-31 06:20 @305

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

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

Notapor lr_emilio » 2014-10-31 06:30 @312

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.
lr_emilio
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2013-08-01 11:57 @539

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

Notapor explorer » 2014-10-31 06:59 @333

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

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

Notapor lr_emilio » 2014-10-31 07:06 @337

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.
lr_emilio
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2013-08-01 11:57 @539

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

Notapor explorer » 2014-10-31 08:26 @393

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Administración

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados