1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • Instalar Debian COMO Este documento fue escrito con el propósito de facilitar la instalación del sistema operativo Debian GNU/Linux 3.0 por medio de CD en la plataforma i386, es decir, las llamadas PCs........

  • Cómo utilizar los sockets en Linux
    En este artículo explicaré el funcionamiento básico de los sockets en Linux y veremos dos ejemplos prácticos de su uso. No me meteré en temas de eficiencia o temas demasiado técnicos en la explicación del protocolo IP y de TCP ni UDP. El usuario debe tener unos conocimientos básicos en la programación en Linux así como de redes.

    Para poder probar estos ejemplos necesitas un sistema Linux o Unix. Un compilador de C, yo los he probado tanto con cc como con gcc.

  • Cómo montar una red wireless con Linux

    Redes Wireless con Linux

    Las redes Wireless 802.11b, de 11 Mbps están convirtiéndose en una opción muy válida y popular en los últimos meses. Además que los precios han bajado notablemente, dan una enorme comodidad si tenemos varios ordenadores en casa y el soporte que hay en Linux es muy potente y variado.

  • Cómo comprimir archivos en Linux Aquí os dejo unas cuantas instrucciones para comprimir-descomprimir ficheros en Linux, también servirá para Mac OSX.
    Sobre todo muy útil para los "nuevos".

  • Cómo configurar BIND

    BIND es el servidor de nombres de dominio más popular en Internet, que trabaja en todas las plataformas informáticas principales y se caracteriza por su flexibilidad y seguridad. A continuación se puede encontrar tanto la teoría general de los servicios de DNS, como una explicación detallada de los campos y opciones de la configuración de BIND, ejemplos, opciones de seguridad, herramientas de verificación, ligas de información adicional y otras más.

     

  • Cómo configurar un servidor NFS

    Configurar un servidor NFS.

    Introducción.

    NFS, acrónimo de Network File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera transparente, más comúnmente utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de contraseñas como el que tiene SAMBA, solo una lista de control de acceso determinada por direcciones IP o nombres. Es por esto que es importante que el administrador de la red local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si este no es configurado apropiadamente e implementado detrás de un contrafuegos o firewall.

    Personalmente, solo recomiendo utilizar NFS dentro de una red local detrás de un contrafuegos o firewall que permita el accesos solo a las máquinas que integren la red local, nunca para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autenticación por contraseñas, es un servicio susceptible del ataque de algún cracker. SAMBA es un mucho mejor y más seguro protocolo para compartir sistemas de archivos.

    Procedimientos.

    Teniendo en cuenta los aspectos de seguridad mencionados, es importante que siga los procedimientos descritos a continuación al pie de la letra, y que posteriormente se comprometa también consultar a detalle la documentación incluida en el paquete nfs-utils, ya que este le proporcionará información adicional y completa sobre aspectos avanzados de configuración y utilización.

    Configurando el servidor NFS.

    Se requiere tener instalados nfs-utils y portmap. Preguntaremos al sistema si estos están instalados con la siguiente línea de comando:

    rpm -q nfs-utils portmap

    Lo cual debe de regresar algo como lo siguiente:

    nfs-utils-0.3.1-13.7.2.1
    portmap-4.0-38

    En caso de que falte alguno de estos paquetes, inserte el CD de instalación en la unidad correspondiente, abra una terminal o consola y ejecute lo siguiente:

    mount /mnt/cdrom/
    rpm -Uvh /mnt/cdrom/RedHat/RPMS/paquete_faltante

    Cabe mencionar que lo mejor será siempre utilizar la versiones de nfs-utils y portmap más actuales. Salvo por RedHat® Linux 7.1 o LinuxPPP 7.x, el resto de las versiones anteriores de RedHat® y LinuxPPP® incluyen paquetes de nfs-utils y portmap con serios agujeros de seguridad. Visite el servidor ftp de la distribución utilizada y descargue los paquetes actualizados, que seguramente incluirán los parches de seguridad necesarios:

                        

                           

    Configurando la seguridad.

    Lo siguiente será configurar un nivel de seguridad para portmap. Esto se consigue editando los ficheros /etc/hosts.allow y /etc/hosts.deny. Debemos especificar que direcciones IP o rango de direcciones IP pueden acceder a los servicios de portmap y quienes no pueden hacerlo. Podemos entonces determinar en /etc/hosts.allow como rango de direcciones IP permitidas los siguiente:

    portmap:192.168.1.0/255.255.255.0

    Esto corresponde a la dirección IP de la red completa y la máscara de la sub-red. Adicionalmente podemos especificar direcciones IP individuales sin necesidad de establecer una máscara. Esto es de utilidad cuando se desea compartir volúmenes con otras máquinas en otras redes a través de Internet. Ejemplo:

    portmap:192.168.1.0/255.255.255.0
    portmap:192.168.20.25
    portmap:192.168.30.2
    portmap:216.200.152.96
    portmap:148.240.28.171

    Una vez determinado que direcciones IP pueden acceder a portmap, solo resta determinar quienes no pueden hacerlo. Evidentemente nos referimos al resto del mundo, y esto se hace agregando la siguiente línea:

    portmap:ALL

    Es importante destacar que la línea anterior es INDISPENSABLE y NECESARIA si quiere tener un nivel de seguridad decente. De manera predeterminada las versiones más recientes de nfs-utils no permitirán iniciar el servicio si esta línea no se encuentra presente en /etc/hosts.deny.

    Una vez configurado portmap, debe reiniciarse el servicio de portmap:

    /sbin/service portmap restart

    Si tiene un DNS, de de alta las direcciones IP asociadas a un nombre o bien edite /etc/hosts y agregue las direcciones IP asociadas con un nombre. Esto nos servirá como listas de control de accesos. Ejemplo del fichero /etc/hosts:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea

    Compartir un volumen NFS.

    Procederemos a determinar que directorio se va a compartir. Puede crear también uno nuevo:

    mkdir -p /var/nfs/publico

    Una vez hecho esto, necesitaremos establecer que directorios en el sistema serán compartidos con el resto de las máquinas de la red, o bien a que máquinas, de acuerdo al DNS o /etc/hosts se permitirá el accesos. Esto deberemos agregarlos en /etc/exports determinado con que máquinas y en que modo lo haremos. Se puede especificar una dirección IP o bien nombre de alguna máquina, o bien un patrón común con comodín para definir que máquinas pueden acceder. De tal modo podemos utilizar el siguiente ejemplo (la separación de espacios se hace con un tabulador):

    /var/nfs/publico *.mi-red-local.org(ro,sync)

    En el ejemplo anterior se esta definiendo que se compartirá /var/nfs/publico/ a todas las máquinas cuyo nombre, de acuerdo al DNS o /etc/hosts, tiene como patrón común mi-red-local.org, en modo de lectura escritura. Se utilizó un asterisco (*) como comodín, seguido de un punto y el nombre del dominio. Esto permitirá que como_se_llame.mi-red-local.org, como_sea.mi-red-local.org, lo_que_sea.mi-red-local.org, etc., podrán acceder al volumen /var/nfs/publico/ en modo solo lectura. Si queremos que el accesos a este directorio sea en modo de lectura y escritura, cambiamos (ro) por (rw):

    /var/nfs/publico *.mi-red-local.org(rw,sync)

    Ya que se definieron los volúmenes a compartir, solo resta iniciar o reiniciar el servicio nfs. Utilice cualquiera de las dos líneas dependiendo el caso:

    /sbin/service nfs start
    /sbin/service nfs restart

    A fin de asegurarnos de que el servicio de nfs esté habilitado la siguiente vez que se encienda el equipo, debemos ejecutar lo siguiente:

    /sbin/chkconfig --level 345 nfs on

    El comando anterior hace que se habilite nfs en los niveles de corrida 3, 4 y 5.

    Como medida de seguridad adicional, si tiene un contrafuegos o firewall implementado, cierre, para todo aquello que no sea parte de su red local, los puertos tcp y udp 2049, ya que estos son utilizados por NFS para escuchar peticiones.

    Configurando las máquinas clientes.

    Para probar la configuración, es necesario que las máquinas clientes se encuentren definidas en el DNS o en el fichero /etc/hosts del servidor. Si no hay un DNS configurado en la red, deberán definirse los nombres y direcciones IP correspondientes en el fichero /etc/hosts de todas las máquinas que integran la red local.

    Como root, en el equipo cliente, ejecute el siguiente comando para consultar los volúmenes exportados (-e) a través de NFS por un servidor en particular:

    showmount -e 192.168.1.254

    Lo anterior mostrará una lista con los nombres y rutas exactas a utilizar. Ejemplo:

    Export list for 192.168.1.254:
    /var/nfs/publico 192.168.1.0/24

    A continuación creamos, como root, desde cualquier otra máquina de la red local un punto de montaje:

    mkdir /mnt/servidornfs

    Y para proceder a montar el volumen remoto, utilizaremos la siguiente línea de comando :

    mount servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs

    Si por alguna razón en el DNS de la red local, o el fichero /etc/hosts de la máquina cliente, decidió no asociar el nombre de la máquina que fingirá como servidor NFS a su correspondiente dirección IP, puede especificar ésta en lugar del nombre. Ejemplo:

    mount -t nfs 192.168.1.254:/var/nfs/publico /mnt/servidornfs

    Podremos acceder entonces a dicho volumen remoto con solo cambiar al directorio local definido como punto de montaje, del mismo modo que se haría con un disquete o una unidad de CDROM:

    cd /mnt/servidornfs

    Si queremos poder montar este volumen NFS con una simple línea de comando o bien haciendo doble clique en un icono sobre el escritorio, será necesario agregar la correspondiente línea en /etc/fstab. Ejemplo:

    servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs nfs user,exec,dev,nosuid,rw,noauto 0 0

    La línea anterior especifica que el directorio /var/nfs/publico/ de la máquina servidor.mi-red-local.org será montado en en directorio local /mnt/servidor/nfs, permitiéndole a los usuarios el poder montarlo, en modo de lectura y escritura y que este volumen no será montado durante el arranque del sistema. Esto último es de importancia, siendo que si el servidor no está encendido al momento de arrancar la máquina cliente, este se colgará durante algunos minutos.

    Una vez agregada la línea en /etc/fstab de la máquina cliente, si utiliza GNOME Midnight Commander, el administrador de archivos de GNOME-1.1 y 1.2, solo restará iniciar una sesión gráfica, hacer clique derecho sobre el escritorio y seleccionar Actualizar dispositivos o Rescan devices. Esto colocará un icono adicional sobre el escritorio que deberá ser tratado del mismo modo que se haría con un disquete o unidad de CDROM.

    Icono para volumen NFS

    Si utiliza GNOME-1.4 o superior, éste incorpora Nautilus como administrador de archivos, mismo que auto-detecta cualquier cambio en /etc/fstab. Solo debe hacerse clique derecho sobre el escritorio y debe seleccionarse el disco que se desee montar.

    Accesos a discos en Nautilus

    Instalación de GNU/Linux a través de un servidor NFS.

    Este es quizás el uso más común para un volumen NFS. Permite compartir un volumen que contenga una copia del CD de instalación de alguna distribución y realizar inclusive instalaciones simultáneas en varios equipos. Tiene como ventaja el que la instalación puede resultar más rápida que si se hiciese con un CDROM, siendo que la tasa de trasferencia de archivos será determinada por el ancho de banda de la red local, y nos permitirá instalar GNU/Linux en máquinas que no tengas unidad de CDROM.

    Una vez creado y configurado un volumen a compartir copiaremos todo el contenido del CD de instalación en éste:

    cp -r /mnt/cdrom/* /var/nfs/publico/

    En el directorio images del CD encontraremos varias imágenes para crear disquetes de arranque. Utilizaremos bootnet.img para crear el número de disquetes necesarios para cada máquina en la que realizaremos una instalación, y que nos permitirán acceder a la red. Inserte un disquete y ejecute lo siguiente:

    cd /var/nfs/publico/images/
    dd if=bootnet.img of=/dev/fd0 bs=1440k

    Añada en /etc/hosts, o bien de de alta en el DNS, las direcciones IP, que serán utilizadas por las nuevas máquinas, asociadas a un nombre con el dominio que específico como regla de control de acceso en /etc/exports -es decir *.mi-red-local.org-. Para /etc/hosts, puede quedar algo así:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea
    192.168.1.8 nueva_maquina.mi-red-local.org nueva_maquina
    192.168.1.9 otra_nueva_maquina.mi-red-local.org otra_nueva_maquina

    Utilice estos disquetes para arrancar en los equipos, ingrese una dirección IP y demás parámetros para esta máquina y cuando se le pregunte ingrese la dirección IP del servidor NFS y el directorio en éste donde se encuentra la copia del CD de instalación. El resto continuará como cualquier otra instalación.

    Autor: Joel Barrios Dueñas
    Correo electrónico: joelbarrios arroba linuxparatodos punto net
    Sitio de Red: http://www.linuxparatodos.net/

    Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

    (c) 1999-2005 Linux Para Todos. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

    Technorati Tags:
    >>

09
Nov

Antivirus Clamav y Spamassassin integrados en Exim4

Escrito por J. Llorente

PDFImprimir E-mail

Estuve pensando varias semanas cómo integrar un antivirus en mis servidores de correo. Como expliqué anterioremente, uso Exim4 y Spamassassin, así que buscaba la solución que pudiera complementarse. Obviamemte la solución anti-virus desde el primer momento era el Clam AV, pero no tenía nada claro cómo integrarlo con el el Exim y el Spamassassin.
Empecé a buscar la documentación y las opciones posibles. Hay mucha variedad, podéis comprobarlo con Google, pero no encontraba una que me convenza del todo. Finalmente me quedé con integrar el clamav y el spamassassin usando esa especies de "integradores" como son el MailScanner y el Amavis. Antes me aseguré que el clamav y spamassassin funcionase con ambos.

Luego de dar vueltas y leer una y otra vez la documentación (si, soy muy perezoso a la hora de instalar software "de pruebas" sin tener idea ni cómo se instala, hay que hacer demasiadas pruebas y seguir un guión, pero soy muy desordenado), y otra vez, y volver a Google y leerme decenas de mensajes en listas de correos. Al final me decidí por usar el Amavis.

Pero... oh sorpresa! nuevamente. No hay una versión del Amavis, ni dos, hay tres:

  1. Amavis original
  2. Amavisd-ng (next generation)
  3. Amavisd-new

La verdad es que no entiendo todavía si hay diferencia entre la primera y la segunda, en todo caso los competidores finales eran el amavisd-ng y el amavisd-new. Finalmente la decisión fue fácil: me decidí por el amavisd-new.

Instalación y configuración del Clamav

Para los que os preguntéis, sí, el clamav es totalmente libre y mantienen la base de datos actualizada. Por lo que he podido ver hasta ahora, no sólo es fiable sino que muy rápido y eficiente.

apt-get install clamav

Eso es todo lo que tuve que hacer, instala los paquetes adicionales clamav-base clamav-freshclam y libclamav1. También os recomiendo otros descompresores que suelen ser usados en algunos virus y también por el amavis para descomprimirlos. Los que yo he puesto son:

apt-get install unrar arj lha zoo lzop

Si esos paquetes están instalados, serán detectados automáticamente por el clamav y el amavis.

El clamav tiene dos paquetes importantes, el clamav-daemon que incluye lo que el título dice, o sea el demonio ;-), y el freshclam, que es otro demonio que se encarga de mantener la base de datos de "firmas" de virus actualizada. Ambos demonios deben estar siempre en marcha:

ponti:~# ps ax | grep clam

2866 ? S 0:06 /usr/bin/freshclam --daemon --checks 5

--quiet --log /var/log/clamav-freshclam.log

--datadir /var/lib/clamav/

11323 ? S 0:00 /usr/sbin/clamd

De lo anterior ya se ha encargado el proceso de instalación y configuración de Debian. No recuerdo haber hecho nada en especial, salvo dar a todo "OK" y "Yes".

Instalación y configuración del amavisd-new

La instalación es directa, como todo en Debian. Se instalan muchos paquetes de Perl adicionales necesarios (el amavisd-new está programado en Perl, pero es muy eficiente). El amavisd-new ya tiene integrado las funciones de Perl para llamar al spamassassin, por lo que ya no hace falta ejecutar el spamd si es que pasan todos por el amavis (i.e. no se llama al spamassassin desde el Exim).

Para acabar de configurar al amavis sólo hay que hacer dos cosas: editar el fichero de configuración del amavis y luego configurar el exim para que se llame el amavis con los parámetros correctos.

Configurar el amavis

vi /etc/amavis/amavisd.conf

Ahora os mostraré las líneas que he cambiado y para que sirve cada una de ellas.

$mydomain = 'gallimedina.net'; # (no useful default)

Defino el nombre del dominio, no es importante para lo funcional, simplemente que los mensajes y cabeceras de correo adicionales llevarán este nombre. Por ejemplo:
X-Virus-Scanned: by amavisd-new-20030616-p5 (Debian) at gallimedina.net

$forward_method = 'smtp:127.0.0.1:10025'; # where to forward checked mail
$notify_method = $forward_method; # where to submit notifications

Las dos líneas de arriba indican la forma de comunicación que habrá entre el amavis y el exim. En mi caso es a través del loopback de red local en el puerto 10025. Ya veremos luego como se indica eso mismo en la configuración del Exim.

$DO_SYSLOG = 1; # (defaults to false)

Quiero hacer el log a través del syslogd (en mi caso, el defecto, irá a /var/log/syslog).

$log_level = 2;

Puse este nivel para que me salgan las estadísticas de tiempo. Ahora os mostraré una, esos datos son de mi viejo portátil, un Pentium 200, que me hace de servidor hogareño de wireless, cups, DNS, smtp, dhcp, etc.

Feb 6 01:59:12 ponti amavis[11217]: (11217-01) Checking: <gallir@origen> -> <gallir@destino>
Feb 6 01:59:16 ponti amavis[11217]: (11217-01) spam_scan: hits=-4.25 tests=BAYES_00,PLING_PLING
Feb 6 01:59:16 ponti amavis[11217]: (11217-01) FWD via SMTP: [127.0.0.1:10025] <gallir@origen> -> <gallir@destino>
Feb 6 01:59:16 ponti amavis[11217]: (11217-01) Passed, <gallir@origen> -> <gallir@destino>, Message-ID: <200402060019.44177.switch;-)@tiscali.es>, Hits: -4.25
Feb 6 01:59:16 ponti amavis[11217]: (11217-01) TIMING [total 5126 ms] - SMTP EHLO: 30 (1%), SMTP pre-MAIL: 4 (0%), mkdir tempdir: 26 (1%), create email.txt: 6 (0%), SMTP pre-DATA-flush: 40 (1%), SMTP DATA: 30 (1%), body hash: 14 (0%), mkdir parts: 11 (0%), mime_decode: 274 (5%), get-file-type: 203 (4%), decompose_part: 11 (0%), parts: 0 (0%), AV-scan-1: 23 (0%), SA msg read: 25 (0%), SA parse: 49 (1%), SA check: 3705 (72%), fwd-connect: 113 (2%), fwd-mail-from: 7 (0%), fwd-rcpt-to: 304 (6%), write-header: 111 (2%), fwd-data: 6 (0%), fwd-data-end: 71 (1%), fwd-rundown: 12 (0%), unlink-1-files: 45 (1%), rundown: 4 (0%)

$final_spam_destiny = D_PASS; # (defaults to D_REJECT)

Dejo pasar los spams, ya que tengo definidas reglas en mi .procmailrc. Alerta, si vuestros correos pasan antes por otro MX "cercano" o local (por ejemplo lo bajáis con el fetchmail) no hagáis un REJECT, que estaréis tirando piedras a vuestro propio tejado. Dejadlo pasad y luego lo descaráis.

#$virus_admin = "gallir\@$mydomain";

La línea está comentada, porque no quiero que avise a ningún "administrador" que se ha detectado un virus.

#$virus_quarantine_to = 'virus-quarantine';

También está comentada, no quiero dejar los mensajes con virus en cuarentena (sino los deja en /var/lib/amavis/virusmails).

#$spam_quarantine_to = 'spam-quarantine';

Idem a la anterior.

$sa_tag_level_deflt = 4.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 5.0; # add 'spam detected' headers at that level

El amavis usa funciones internas para el spamassassin. Si lo habilitáis, como en mi caso, tenéis que especificar esos dos parámetros indicados (no usa el local.conf el SA). La primera indica el puntaje mínimo que debe tener un mensaje para incluir las cabeceras de "tests" del spamassasin en el mensaje. La segunda es el puntaje mínimo para que sea considerado un spam (por defecto es 6.3).

#$sa_spam_subject_tag = '***SPAM*** ';

La línea de arriba está comentada porque no quiero que agregue esas palabras el subject, uso directamente las cabeceras para filtarlas.

Ya está

Ahora lo podéis para y volver a arrancar y deberéis[*] ver líneas como las siguientes:

[*] La versión actual en Debian tiene un bug, ya lo reporté, en el restart que hace que falle. Haced primero un stop y luego el start.

amavis[11210]: starting.

amavisd-new at ponti amavisd-new-20030616-p5, Unicode aware

amavis[11210]: Perl version 5.008003

amavis[11210]: Module Amavis::Conf 1.15

amavis[11210]: Module Archive::Tar 1.03

amavis[11210]: Module Archive::Zip 1.05

amavis[11210]: Module Compress::Zlib 1.16

amavis[11210]: Module Convert::TNEF 0.17

amavis[11210]: Module Convert::UUlib 1.0

amavis[11210]: Module MIME::Entity 5.404

amavis[11210]: Module MIME::Parser 5.406

amavis[11210]: Module MIME::Tools 5.411

amavis[11210]: Module Mail::Header 1.59

amavis[11210]: Module Mail::Internet 1.59

amavis[11210]: Module Mail::SpamAssassin 2.63

amavis[11210]: Module Net::Cmd 2.24

amavis[11210]: Module Net::SMTP 2.26

amavis[11210]: Module Net::Server 0.85

amavis[11210]: Module Time::HiRes 1.52

amavis[11210]: Module Unix::Syslog 0.100

amavis[11210]: Found myself: /usr/sbin/amavisd-new -c /etc/amavis/amavisd.conf

amavis[11210]: Lookup::SQL code NOT loaded

amavis[11210]: Lookup::LDAP code NOT loaded

amavis[11210]: AMCL-in protocol code NOT loaded

amavis[11210]: SMTP-in protocol code loaded

amavis[11210]: ANTI-VIRUS code loaded

amavis[11210]: ANTI-SPAM code loaded

amavis[11211]: Net::Server: Process Backgrounded

amavis[11211]: Net::Server: 2004/02/06-01:39:23 Amavis

(type Net::Server::PreForkSimple) starting! pid(11211)

amavis[11211]: Net::Server: Binding to TCP port 10024 on host 127.0.0.1

amavis[11211]: Net::Server: Setting gid to "107 107"

amavis[11211]: Net::Server: Setting uid to "104"

amavis[11211]: Net::Server: Couldn't POSIX::setuid to "104" []

amavis[11211]: Found $file at /usr/bin/file

amavis[11211]: No $arc, not using it

amavis[11211]: Found $gzip at /bin/gzip

amavis[11211]: Found $bzip2 at /usr/bin/bzip2

amavis[11211]: Found $lzop at /bin/lzop

amavis[11211]: Found $lha at /usr/bin/lha

amavis[11211]: Found $unarj at /usr/bin/arj

amavis[11211]: Found $uncompress at /bin/uncompress

amavis[11211]: No $unfreeze, not using it

amavis[11211]: Found $unrar at /usr/bin/unrar

amavis[11211]: Found $zoo at /usr/bin/zoo

amavis[11211]: Found $cpio at /bin/cpio

amavis[11211]: Using internal av scanner code for (primary) Clam Antivirus-clamd

amavis[11211]: Found secondary av scanner Clam Antivirus - clamscan at /usr/bin/

clamscan

amavis[11211]: SpamControl: initializing Mail::SpamAssassin

Si lo anterios os sale correctamente, ya podemos pasar a lo siguiente, configurar el Exim

Configurar el Exim

Los ficheros de configuración para el exim son similares al explicado para el Spamassassin. Sólo que en vez de llamar al spamassassin, llamaremos al amavis que ya debería estar bien configurado. Las pistas para la configuración las obtuve, como no, de /usr/share/doc/amavisd-new/README.exim_v4.

ALERTA: Recordad de quitar esos ficheros de configuración si llamáis al spamassassin desde el amavis. No es cuestión de estar haciendo dos veces el mismo trabajo [ineficiente].

Tampoco hace falta el exim4 "heavy", con el "light" es suficiente. Si os funcionaba el spamassassin "corporativo", seguro que funcionará éste.

Los pasos que haremos serán, casi similares al del spamassassin:

  1. Agregar la interfaz con el puerto 10025,
  2. agregar un "router" y
  3. agregar un transport.

Agregar el puerto 10025

En Debian es fácil, hay que agregar o modificar la variable dc_local_interfaces en /etc/exim4/update-exim4.conf.conf

dc_local_interfaces='0.0.0.0.25 : 127.0.0.1.10025'

En caso que tu distro no sea Debian, en el fichero de configuración debes agregar la siguiente línea:

local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025

Agregar el router

# Fichero /etc/exim4/conf.d/router/199_amavis

amavis:

driver = manualroute

# No ejecutar si se recibe desde el 10025/tcp

# o ya está analizado

condition = "${if or {{eq {$interface_port}{10025}} \

{eq {$received_protocol}{spam-scanned}} \

{eq {$sender_address}{}} \

}{0}{1}}"

# Sólo escanea los entrantes para el local

# y para los MX que se hace de relay

# Si no haceis relay, podéis quitar +relay_to_domains

domains = +local_domains : +relay_to_domains

transport = amavis

route_list = "* localhost byname"

self = send

# Fin /etc/exim4/conf.d/router/199_amavis

Si tu distro no es Debian, puedes copiar y pegar las líneas anterires en el fichero de configuración del Exim4 justo después de la línea "begin routers". El orden es importante.

Agregar el transport

# Fichero /etc/exim4/conf.d/transport/199_amavis

amavis:

driver = smtp

port = 10024

allow_localhost

# Fin /etc/exim4/conf.d/transport/199_amavis

Si tu distro no es Debian, puedes copiar y pegar las líneas anterires en el fichero de configuración del Exim4 después de la línea "begin transports". El orden no es importante.

Re-arrancar el exim

En Debian hay que ejecutar antes el comando update-exim4.conf para que genere el fichero definitivo (/var/lib/exim4/config.autogenerated) y ya podéis arrancarlo. Por supuesto tenéis que verificar que se arranque y luego enviaros un mensaje. Tenéis que ver en los logs las estadísticas tal como mostré antes y también la línea
X-Virus-Scanned: by amavisd-new-20030616-p5 (Debian) at gallimedina.net
en la cabecera del mensaje.

Nota final: los ficheros de base de datos Bayesianos del SA y otros ficheros adicionales se crean en el $HOME del usuario amavis (que lo crea el instalador en Debian). En otras distros, mirad en el $HOME del usuario del daemons del amavis.

Nada, ya está, son como las tres y media de la madrugada. A pesar que lo sabía casi de memoria me llevó dos horas y media escribir el artículo... y quién sabe los errores tipográficos horribles que tendrá, aunque he tenido mucho cuidado con los "tecnicos", de hecho hice la instalación completa un par de veces para verificar. De todas formas ya me enviaréis los parches seguramente :-).

Por Ricardo Galli Granada
gallir (http://mnm.uib.es/gallir/)

Technorati Tags:
>>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Últimos contenidos

Facebook conecta

Total visitas

3741326
38.107.179.233
UNITED STATES
US

Quien está en linea

Tenemos 61 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios