Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Peleando con postfix

luchonidas's Diary
Por luchonidas
departamento esos-pequeños-detalles-que-no-vienen-en-la-documentación , Sección Diarios
Puesto a las Wed Apr 21st, 2004 at 11:53:28 AM CET
Tras casi dos semanas de pelearme con Postfix y con Cyrus-sasl, he logrado lo que me parecía imposible, echar a andar el postfix con autentificación... todavía no me lo creo; y como hay una serie de detalles que no encontré en la documentación, ni en mi búsqueda por internet, aquí los escribo, para que queden para la posteridad.

Nota: no pretendo acaparar la página de los diarios, pero la historia que tenía me salió demasiado larga y preferí dividirla en dos (como la 2ª y 3ª parte de Regreso al futuro).

 


Tengo el plan de migrar el servidor de correo de la empresa de Sendmail a postfix, más que nada porque la versión de RedHat que utilizamos no tiene más actualizaciones por parte de la empresa (ya conoceis la historia de RedHat), y porque he comprobado que me es más fácil compilar el postfix que el sendmail (hasta el día que me ponga en serio a eso, entonces será pan comido ;) ).

Como he dicho más arriba, los servidores tienen instalado RedHat, por lo que la mayor parte de la documentación que he encontrado en internet no me sirve, más que nada porque toman como base debian y lo resuelven todo a base de apt-get, además que el RedHat 7.3 no trae por defecto la versión 2 de la librería cyrus-sasl, y el postfix que trae no tiene soporte para autentificación (y el sendmail tampoco); así que he debido hacerlo todo como en los viejos tiempos... descargando ficheros tarball y compilando.

Compilando Cyrus-sasl

Primero se descarga las librerías sasl -cyrus-sasl en este caso, no se si habrá otro desarrollo de las librerías- de la página web correspondiente, se compilan con las opciones que queramos, y se instalan:

tar xvfz cyrus-sasl-2.1.18.tar.gz
cd cyrus-sasl-2.1.18
./configure --prefix=/usr/local/sasl2 --disable-anon --enable-static=yes --enable-shared=yes --enable-login --enable-cram --with-pureconv --with-purify --with-saslauthd --enable-digest --with-pam --enable-java --enable-gssapi --with-pwcheck --enable-otp --enable-srp
make
su
make install

Para simplificar el acceso a la librería creo enlaces simbólicos en /usr/local/el-directorio-que-toque, añado /usr/local/lib en ld.so.conf y ejecuto ldconfig.

Seguramente habrá opciones de más y cosas que echareis en falta, pero por el momento es suficiente para mí.

Compilando Postfix

Tras eso descargamos y compilamos postfix, siguiendo los pasos del SASL_README que viene con postfix para tener soporte para la autentificación de los usuarios.

tar xvfz postfix-2.0.19.tar.gz
cd postfix-2.0.19
make tidy
make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/sasl2/include/sasl" AUXLIBS="-L/usr/local/sasl2/lib -lsasl2"
make
su
make install

Instalo en /usr/local/postfix, para más adelante pasar a un entorno chroot, aunque de momento se intenta que funcione así nomás. Creo un enlace a /usr/local/postfix/etc/postfix en /etc, y otro a /usr/local/postfix/var/spool/postfix en /var/spool. Se crea el usuario postfix y el grupo postdrop, también se hacen enlaces simbólicos a los ejecutables en algún directorio que esté en $PATH (casi todos los pasos hasta aquí están explicados en el fichero INSTALL que viene con postfix) y se hacen las oportunas modificaciones en main.cf, añadiendo y/o modificando:

mydomain = midominio.es
myorigin = $myhostname
mydestination = midominio.es, otrodiminio.com
mynetworks = 192.168.1.0/24, 127.0.0.0/8
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = untercerdominio.com
alias_maps = hash:/etc/aliases
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
broken_sasl_auth_clients = yes

Creamos el fichero smtpd.conf en /usr/local/lib/sasl2, con el contenido
pwcheck_method: saslauthd

Lanzamos el demonio saslauthd con saslauthd -a shadow (de momento me interesa que coja las contraseñas del fichero de contraseñas del sistema, no quiero hacer cambios drásticos del sistema, aparte que hay contraseñas que no se sabe cuales son), y se lanza el postfix con postfix -start. Seguramente fallará a la primera, y a la segunda, y a la tercera. Estos fallos se arreglan dándole los permisos adecuados a los directorios indicados y poniendo el usuario y grupo correcto. Una vez arreglado todo lanzamos el servidor de correo y hacemos las pruebas... aquí comienzan los fallos.

Si enviamos desde cualquier sitio hacia el servidor... no hay problemas, el postfix se comporta muy bien, si intento enviar desde el servidor o cualquier red que esté en $mynetworks, el servidor no pone ningún problema en hacer relay, pero desde fuera de las redes permitidas no se puede hacer relay... ¿y donde está el problema? os preguntareis, que no deja hacerlo aunque nos autentifiquemos, cosa que hemos habilitado en smtpd_recipient_restrictions. Miramos los logs y nos encontramos con lo siguiente:

Apr 19 14:16:24 prueba postfix/smtpd[22002]: fatal: no SASL authentication mechanisms
Apr 19 14:16:25 prueba postfix/master[21991]: warning: process /usr/libexec/postfix/smtpd pid 22002 exit status 1
Apr 19 14:16:25 prueba postfix/master[21991]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

Vaya, conque no está autentificando, pruebo a meter el fichero smtpd.conf en todos los sitios que aparecen por internet (en el directorio de configuración del postfix, en un directorio llamado sasl2 dentro del de postfix, en el /usr/local/sasl2/lib y /usr/local/sasl2/lib/sasl2). Después de unas cuantas pruebas y unas cuantas recompilaciones más, variando todos lo imaginable, me pongo a buscar por internet un poco más y me encuentro con uno (lástima, no guardé el enlace) que había hecho un enlace símbolico de la librería sasl2 a /usr/lib; hago el enlace, lanzo el demonio saslauthd y el postfix, y et voila, la autentificación funciona, bueno, casi, funciona Mozilla, Kmail, Outlook Express y 2000 y Opera; The Bat! se niega a funcionar... Vuelvo a mirar en los logs y me encuentro con lo siguiente:

Apr 20 13:30:30 prueba postfix/smtpd[27882]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Apr 20 13:30:30 prueba postfix/smtpd[27882]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Apr 20 13:30:30 prueba postfix/smtpd[27882]: warning: SASL authentication failure: no secret in database
Apr 20 13:30:30 prueba postfix/smtpd[27882]: warning: unknown[192.168.0.43]: SASL CRAM-MD5 authentication failed


Bueno, no se puede abrir el fichero, creo /etc/sasldb2, le añado el usuario, le doy los permisos 644, que sino no lo lee, y de paso me entero que el método CRAM-MD5 funciona con un secreto compartido (vamos, que en los dos extremos se sabe la contraseña) y que The Bat! solo usa CRAM-MD5. Pruebo de nuevo y ... ahora si que funciona...

Dejamos aquí esta historia, ya que el invento todavía está en pruebas, todavía no le he metido el antivirus (ver encuesta adjunta), ni el control antispam. En una próxima historia continuaré.
< El futuro del sistema gráfico (6 comments) | Richard Stallman en Bilbao (0 comments) >
Enlaces Relacionados
· Postfix
· Cyrus-sasl
· Sendmail
· More on luchonidas's Diary
· Also by luchonidas

Encuesta
¿Qué antivirus usar?
· Rav antivirus (muy bueno pero ya no lo venden y con límite de dominios, antispam incorporado, ya no lo venden adquirido por MS) 0%
· amavis + mcaffe 14%
· amavis + panda (tenemos licencia) 0%
· amavis + avp 14%
· Alguno otro (indicar cual) 14%
· ¿Hoy no sale la rubia? 57%

Votos: 7
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Peleando con postfix | 6 comentarios (6 temáticos, editoriales, 0 ocultos)
amavis+f-prot (none / 0) (#1)
por juanma a las Wed Apr 21st, 2004 at 01:15:44 PM CET
(Información Usuario)

Va de lujo, es lo que tengo implementado en tres servidores. Es relativamente rápido y me caza todos o casi todos los virus (después de dos crisis serias de virus que salían hasta en la televisión)
Con panda tuve problemas serios y no me gustó nada (pedía mucha máquina y tardaba en la entrega entre otras cosas)
Hay otro libre pero desecha los mensajes de la Seguridad Social.



amavis + fprot (none / 0) (#2)
por luchonidas (luchonidas [arroba] yahoo com) a las Wed Apr 21st, 2004 at 04:49:13 PM CET
(Información Usuario) http://potaje.bitacoras.com/

Esa es una de las ideas que he tenido. Hasta ahora usaba la versión de evaluación del RAV (integración directa con el MTA), pero desde que MS "compro" el equipo de desarrollo estoy pensando seriamente en cambiarlo, aunque de momento le sigan dando soporte a la parte de linux. Lo mejor es que trae un sistema antispam incorporado, y por lo que he llegado a ver es bastante bueno; clasifica la mayor parte del spam que llega.

Lo del panda ya lo había oído, que chupa demasiados recursos, lo único que tiene a su favor es que ya tenemos licencia, aunque para Windows. El de mcaffe ya lo usamos para dos clientes, y la verdad es que va bastante bien (aunque a veces cueste conectar al servidor donde tienen las actualizaciones). Probaré con el f-prot y veré como está el tema de las licencias.

Lo único malo es que la máquina donde finalmente va a ir todo el conjunto ya está un poco cargada (servidor web, correo, bases de datos para la web, dns, antivirus). Tendré que separar cosas en otras máquinas, pero eso representa toquetear varias webs. Menos mal que aunque viejecilla tiene bastante aguante la máquina (un Netfinity 5500, Pentium III 500 dual, con 256 Mb de ram), y creo que se le podría dar un poco más de caña.

Gracias por el consejo

-----
Jeje, vamos a probar eso de las bitácoras: http://potaje.bitacoras.com/
[ Padre ]


Mi experiencia en un servidor pequeño (none / 0) (#5)
por juanma a las Thu Apr 22nd, 2004 at 09:42:25 AM CET
(Información Usuario)

Te vuelvo a comentar. El servidor en el que he puesto el f-prot era un PIII a 533 MHz y servía de todo. El cacharro parecía el servidor de prácticas de un linuxero.
Nunca se me había quejado aunque solo servía correo a unas cuarenta personas, en cambio hacía también de proxi-cache a cuarenta puestos, también (un poco) de samba. Ahora lo he renovado.
¿cuántos correos/día? unos cincuenta.
Ese servidor era el que aparece en diariolinux.com en "Conectividad a un colegio"
¿licencias de f-prot? pues para uso personal es gratuito, o sea, que lo puedes evaluar antes de decidirte.

[ Padre ]


 
Amavis+Clamav (none / 0) (#3)
por musg0 a las Wed Apr 21st, 2004 at 04:54:33 PM CET
(Información Usuario) http://helvete.escomposlinux.org

En vez de f-prot tengo montado Clamav y en una semana llevo 12000 virus estrellándose contra el antivirus.

También puse Spamassasin para marcar los spams, pero me dejó el servidor, un P4/2.40Ghz/1Gb, hecho puré y como no tenía tiempo para mirarlo lo tuve que quitar.

Igual era porque no tenía el demonio spamd y tenía que arrancar el interprete de perl cada dos por tres pero la bajada de rendimiento fue brutal al poner spamassassin.

También puse mailgraph para las gráficas y que yo recuerde no tuve que configurar grandes cosas. Todo fue bastante sencillo excepto la conexión de postfix 2.0 con amavis, que es un poco puñetera con las colas y precolas de limpieza y dominios virtuales.

[ Padre ]


Amavis + Clamav + Spamassassin (none / 0) (#4)
por RinzeWind (chema AT sl-form DOT com) a las Wed Apr 21st, 2004 at 06:22:26 PM CET
(Información Usuario) http://chema.sl-form.com

Yo puse esa combinación de ahí arriba con Postfix en un Pentium II 233 MHz con 256 MB de RAM y va cosa fina. Eso sí, está en un departamento de la universidad que no creo que reciba más de 500 mensajes de correo al día. Tampoco tiene mucha carga que digamos (aunque también le puse un Apache y un ProFTPd, que el anterior becario lo tenía todo en Hasefroch y yo estoy migrando poquito a poco sin que se note. Así duermo más tranquilo).

--
Las Penas del Agente Smith
[ Padre ]


 
Usar spamassasion sin spamd (none / 0) (#6)
por iarenaza a las Fri Apr 23rd, 2004 at 09:10:47 AM CET
(Información Usuario) http://www.escomposlinux.org/

Si tienes algo de correo (y supongo que sera asi, por lo que parece sugerir tu mensaje), la diferencia de rendimiento sin usar spamd es brutal. Si ademas limitas el numero de demonios spamd que lanzas, para no lanzar interpretes de perl a diestro y siniestro (especialmente por el consumo de memoria, mucho menos por CPU, ya que hace fork() de los que ya estan en marcha) la maquina lo nota.

Un PII-300 con 384 MB de RAM es capaz de mover 40.000 mensajes/semana sin que la carga del sistema suba de 1.5 (ademas tiene el antivirus panda, y algunos servicios mas por ahi).

Saludos. Iñaki.

[ Padre ]


 
Peleando con postfix | 6 comentarios (6 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda