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

Interesante

  • Instalacion de Ubuntu

    El presente documento tiene la misión de indicar los pasos a seguir para la instalación de la distribución Ubuntu (versión 5.04 "Hoary Hedgehog") en un portátil Toshiba Satellite A40-201.

    La instalación no resultó sencilla y, tras cerca de 10 intentos y una noche sin dormir, logré encontrar la combinación adecuada....... 
  • Cómo instalar NIS + NFS

    Procedimientos

    En el Servidor para poner NIS

    1. domainname nombre-de-dominio
    2. cd /var/yp
    3. mkdir nombre-de-dominio
    4. service portmap restart
    5. service ypserv restart
    6. service ypbind restart
    7. make
    8. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                                                                                             
      • ypserv
      • ypbind
      • portmap
                        
                                
                      

    En el cliente para escuchar NIS

    1. En gnome seleccionar Aplicaciones -> System settings -> Authentication
    2. Marcar la casilla "Enable NIS Support"
    3. Seleccionar "Configure NIS..."
    4. En NIS Domanin escribir el nombre del dominio NIS creado
    5. En NIS Servidor ponr la ip del Servidor NIS
    6. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                           
      1. ypbind
      2. portmap                                                  


    Ahora la parte NFS del Servidor

    1. como root cd /home
    2. mkdir nfs (aqui van a quedar todos los homes de los usuarios creados)
    3. cd /etc
    4. vi exports
    5. Agregar la siguiente linea

      /home/nfs rango.de.ips.de.red(rw,sync,no_root_squash)
      En mi caso particular la linea se ve asi:
      /home/nfs/ 192.168.1.*(rw,sync,no_root_squash)
    6. Reiniciar el demonio nfs con service nfs restart
    7. Los servicios que deben inicarse en el arranque para NFS son                                                                                      
      • netfs
      • nfs
      • nfslock
      • portmap

                         

                             

    Ahora la parte NFS en el cliente

    1. como root cd /etc
    2. vi fstab
    3. agregar la siguiente linea
      192.168.1.1:/home/nfs   /home/nfs    nfs   defaults    0 0
    4. mount -a
    5. Los servicios que deben inicarse en el arranque para NFS son                                                                                                          
      • netfs
      • nfs
      • nfslock
      • portmap

                                            

                          

    Agregando usuarios en el Servidor NIS

    La parte importante de agregar los usuarios en el NIS Servidor, es que, su directorio home no debe de quedar dentro de /home, sino dentro de /home/nfs/usuario.

    Con la utileria "Users & Groups", al agregar al usuario ejemplo, le decimos que su direcotorio personal quede dentro de /home/nfs/ejemplo.

    En el Servidor, es importante loggearse como el usuario recien creado, para que despues sea disponible en cualquier equipo de la red.

    Despues de loggearse y salir de la session como el usuario recien creado, el siguiente paso es (como root)

    1. cd /var/yp
    2. make
    3. service portmap restart
    4. service ypserv restart
    5. service ypbind restart
    6. Ir a la maquina cliente y loggearse como el usuario recien creado en el NIS Servidor. Todo debe de funcionar.


    Fuente:

    Kwame
    daniel arroba informatux.net
    http://www.informatux.net/
    Original: LinuxParaTodos

    Copyright.

    © 2003 Kwame. Se permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta junto con el documento y la distribución y modificación se hagan de de acuerdo con los términos de la Licencia Pública General GNU publicada por la Free Software Fundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. 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:
    >>

  • Manual de IPTABLES
    En este manual se muestran las habituales arquitecturas de redes con firewall y la forma de montar iptables para cada caso, con distintas opciones para cada ejemplo.

    1.2 Revision: añadidos los mismos casos pero con DROP por defecto.

    Por: Pello Xabier Altadill Izura

  • MSN Messenger en Linux
    La mensajería instantánea es una mezcla de correo electrónico y chat, por un lado nos permite enviar mensajes a amigos (conocidos como contactos) que estén en ese momento conectados a Internet y, ya en las últimas versiones de las distintas aplicaciones de mensajería, disponen de "salas" de chat en donde te encuentras con gente desconocida.
    La mensajería instantánea nace en Israel gracias a la idea de un padre y su hijo que crean el primer programa llamado ICQ en el año 1996. Más tarde, en el año 1998, America Online compra Mirabili (empresa propietaria de ICQ). Según AOL, ICQ tenía 20 millones de usuarios activos en el año 2000 pero esta cifra ha ido decreciendo constantemente debido a la aparición de nuevos programas de mensajería.

  • Cómo crear una VPN en Linux con vpnd En este artículo vamos a explicar brevemente como crear una VPN (Red Privada Virtual) usando GNU/Linux y vpnd. Hemos creado este mini-howto porque para comunicar los nodos wireless, si estos no se ven directamente, es necesario crear túneles cifrados, a través de Internet ......
  • 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.

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

3737891
38.107.179.231
UNITED STATES
US

Quien está en linea

Tenemos 49 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios