CONFIGURAR QPOPPER EN DEBIAN
Qpopper es un excelente servidor de correo pop3 de Eudora cuyo sitio es:
http://www.eudora.com/products/unsupported/qpopper/index.html muy sencillo y poderoso y existen paquetes para debian en los mirrors.
Basta con instalar el paquete qpopper para comenzar a utilizar el servicio. Pero hay que tener en cuenta un par de factores para que funcione bien y en forma segura.
# apt-cache search qpopper
qpopper - Enhanced Post Office Protocol server (POP3)
qpopper-drac - Qpopper with DRAC Support
vemos los paquetes necesarios.
Luego, apt-get install.. y listo; qpopper se ejecuta como un servicio inetd, o sea que se agrega (durante la instalación) una línea en nuestro /etc/inetd.conf como las siguiente:
#:MAIL: Mail, news and uucp services.
pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.qpopper -f /etc/qpopper.conf
Si utilizamos el servicio portmap (y sería razonable hacerlo) debemos configurar debidamente los archivos de configuración
/etc/hosts.deny y /etc/hosts.allow
En mi esquema de seguridad, utilizo cláusulas lo más restrictivas posibles, por eso mi hosts.deny es asi:
ALL: ALL
De esta manera ningún servicio de los que controla inetd es aceptado, excepto los establecidos en /etc/hosts.allow. Para que sea aceptado un pedido al servicio qpopper debe existir la siguiente línea en ese archivo:
in.qpopper : 192.168.95.0/24 :spawn (echo "c(%c) d(%d)" >> /tmp/tcpw.log)
en cuyo caso sólo se aceptarán pedidos que provengan desde mi red privada, y rechazo lo que venga desde cualquier otra dirección.
El otro punto fundamental para asegurar nuestro servicio qpopper es aplicar las reglas correctas en el lugar apropiado de nuestro archivo de configuración de firewall, en este caso iptables. Abajo detallo las líneas necesarias para permitir paquetes al puerto 110 de pop3, con política DROP por default a todos los paquetes.
# Permitimos paquetes contra el puerto 110 para correo pop3 --------------------
iptables -A INPUT -i $LAN_LOCAL -p tcp --sport 1024:65535 --dport 110 -j ACCEPT
iptables -A OUTPUT -o $LAN_LOCAL -p tcp --sport 110 --dport 1024:65535 -j ACCEPT
Lo que hemos hecho fue aceptar pedidos a través de nuestra tarjeta de red local de paquetes entrantes desde en un rango de puertos no privilegiados, de protocolo tcp contra nuestro puerto 110, y dejar salir por la misma interfaz y el mismo protocolo paquetes originados en
nuestro puerto 110 contra los no privilegiados de la otra máquina.
Bien, esto está probado y funcionando en mi Debian Sarge perfectamente, cualquier consulta a sus órdenes.
Lte. Daniel Minacori
www.berkanet.com.ar
daniel@berkanet.com.ar