Permitir el envío de correo con Sendmail y FreeBSD.

Éste "como" esta basado en el artículo del blog de Chris Buechler, CMB's Tech Blog y un hilo de la lista de mensajes de FreeBSD-Questions.

En ambos ejemplos nos indican cuales archivos ".mc" debemos modificar usando nuestro nombre de dominio, en mi caso fue diferente porque yo use "localhost" para mi configuración.

Si quieres permitir que tu servidor envíe correos notificándote de scripts que tengas en el cron (por dar un ejemplo) pero no quieres que el demonio escuche en el puerto 25 con tu dirección IP pública y que todo mundo se entere, éstos son los pasos a realizar:

En el archivo /etc/rc.conf agregar la siguiente línea:

sendmail_enable="NO"

Por favor, verifica en /etc/defaults/rc.conf el resto de la configuración para sendmail, a mí no me hizo falta con las opciones que ya trae definidas.

Dentro del directorio /etc/mail modificar el archivo "freebsd.submit.mc" ésta es la línea original:

FEATURE(`msp')dnl

Dejarla así:
FEATURE(`msp', `[127.0.0.1]')dnl

NOTA: En las versiones mas recientes de FreeBSD (6.1 y 6.2), esta línea ya viene con la direccion ip de localhost por default, asi que basta con que cheques que está la direccion ip y no modificas nada en ningún otro archivo.

Estando en el directorio /etc/mail, ejecutar:

#make

cp freebsd.mc host.my.domain.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/
/usr/share/sendmail/cf/m4/cf.m4
host.my.domain.mc > host.mydomain.cf

cp freebsd.submit.mc host.my.domain.submit.mc
/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/
/usr/share/sendmail/cf/m4/cf.m4
host.my.domain.submit.mc > host.my.domain.submit.cf


#make install

install -m 444 host.my.domain.cf /etc/mail/sendmail.cf
install -m 444 host.my.domain.submit.cf /etc/mail/submit.cf


#make start

Starting: sendmail-submit sendmail-clientmqueue.

# ps axw | grep sendmail
95472 ?? Ss 0:00.00 sendmail: accepting connections (sendmail)
95475 ?? Is 0:00.01 sendmail: Queue runner@00:30:00 for
/var/spool/clientmqueue (sendmail)

Con esto tendras a sendmail escuchando en el puerto 25 en la dirección
ip del localhost (127.0.0.1), listo para enviar mensajes y rechazando todo lo que le llegue de Internet/LAN.

Si quieres aumentar la seguridad, en el archivo /etc/hosts.allow puedes dejar las siguientes líneas:

sendmail : localhost : allow
sendmail : 127.0.0.1 : allow
sendmail : ALL : deny

Y si además tienes ipfw configurado, agregar estas reglas:

ipfw add XX allow tcp from 127.0.0.1 to 127.0.0.1 25
ipfw add XX deny tcp from me to any 25

Donde XX es el numero de la regla de acuerdo al orden en que las vas aplicando.

Donde "me" hace referencia a la tarjeta/interfaz de red sin importar si hay la(s) direccion(es) IP asignada(s) a la tarjeta/interfaz de red.

Espero que la explicación les sea de provecho.
Previous
Next Post »