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

Interesante

  • Cómo configurar SENDMAIL SENDMAIL

    Sendmail, servidor SMTP muy extendido, con muchos años de andadura (y muchos bugs) Todos los ficheros de configuracion de sendmail se encuentran en el directorio
    /etc o /etc/mail, o en ambos dos.
    El fichero principal es sendmail.cf. Es probablemente el fichero de configuracion mas complejo y dificil
    de manejar de unix.
  • Antivirus Clamav y Spamassassin integrados en Exim4

    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.

  • 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 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:
    >>

  • Antivirus y AntiSpam con Postfix

    Bueno, realmente no solo con postfix si no apoyándonos en una gran herramienta, amavisd-new. Inspirado (y basado) en el artículo de Ricardo Galli en BULMA sobre montar Exim4 con antivirus (clamav) y spamassassin integrado. Me dispuse a investigar cómo sería el tema en postfix y aunque al principio dio un poco de guerra, ahí va la solución:

    Se supone que tenemos instalados los paquetes postfix, postfix-tls, amavisd-new, spamassassin y los paquetes de clamav (clamav-daemon clamav libclamav1 y clamav-freshclam). Lo bueno de amavisd-new es que tiene interfaces a clamav y a spamassassin, con lo que 'mataremos dos pájaros de un tiro' es decir, haremos los dos filtrados en un solo paso. Configurar amavisd-new es muy sencillo, editamos /etc/amavis/amavisd.conf y como opciones tenemos que remarcar las siguientes:

11
Sep

Cómo configurar SENDMAIL

Escrito por J. Llorente

PDFImprimir E-mail
SENDMAIL

Sendmail, servidor SMTP muy extendido, con muchos años de andadura (y muchos bugs) Todos los ficheros de configuracion de sendmail se encuentran en el directorio
/etc o /etc/mail, o en ambos dos.
El fichero principal es sendmail.cf. Es probablemente el fichero de configuracion mas complejo y dificil
de manejar de unix.
Por fortuna se han ido incorporando una serie de ficheros aparte con los que se configura lo mas importante del servidor de correo, sin necesidad de tocar el sendmail.cf .

Esos ficheros son:


local-host-names: donde se indica a que dominios pertenece el servidor de correo

access: donde se dice que ips y que dominios tienen permiso para utilizar el servidor de correo.
mailertable: donde se pueden aplicar enrutamientos para dominios.
sendmail.mc: fichero de macros donde se pueden configurar distintas opciones de sendmail,
como el smtp autentificado.

Con el sendmail.cf se puede crear un sistema de reglas para manipular los correos, pero la sintaxis es francamente ofuscada. Si alguien tiene tiempo libre e interes, que mire el libro de Orielly, el del murcielago.

* Como montar un servidor de correo?

Vale, imaginemos que tenemos un linux con el sendmail instalado, en concreto el paquete
de sendmail y el sendmail-cf (para verificar se puede hacer: rpm -qa | grep sendmail).
Imaginemos que tenemos una maquina linux conectada a internet con una ip publica o un
servidor conectado a un router que redirige el puerto 25 al servidor.
Tenemos el dominio chingalampernas.com y queremos tener que el servidor envie/reciba
correos en plan " Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla " o " Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla ".
Que pasos hay que seguir???

1. Primero, hay que decirle al sendmail a que dominio sirve. Para eso editamos el
fichero /etc/mail/local-host-names y añadimos "chingalampernas.com"

2.- Segundo: hay que habilitar el acceso a alguna red para que sea capaz de enviar correo
a traves de nuestro servidor. Por defecto sendmail solo dejara eviar correos desde
si mismo, para evitar el SPAM. Si queremos usar el servidor de correo para poder mandar,
debemos especificar la ip desde la que accederemos, generalmente la red local en la que
se encuentra el servidor o una lista de ips de confianza. Para eso editamos el
fichero /etc/mail/access y ponemos:
192.168.10 RELAY
213.198.23.24 RELAY

Si no hacemos esto, cuando intentemos enviar correo el servidor nos contestara
con el mitico "relaying denied" (transmision denegada).

Atencion, hay que distinguir entre enviar y recibir: el servidor de correo es un
intercambiador de correo, un MTA (Mail Transfer Agent). Como un buzon universal debe
poder recibir correo de cualquier sitio. Pero hay que controlar que el envio no se pueda
hacer desde cualquier lado, para que nadie utilice nuestro servidor para hacer SPAM o
envios masivos. Por otro lado, si no queremos que se reciba correos de determinado sitio
se puede filtrar a traves de la IP de origen.

3. Tercero: hay que asegurarse de que sendmail escucha en el puerto 25 y que no
tiene al puerto asociado a localhost. Para verificarlo hacemos netstat -ln y veremos
los puertos en escucha que hay en el sistema. Si sale algo como:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Entonces es correcto.
Si estuviera escuchando en localhost:
tcp 0 127.0.0.1:25 0.0.0.0:* LISTEN

El puerto 25 solo sera accesible desde el propio servidor y estara cerrado al resto del mundo.
Como cambiar esto? Seguramente hay que tocar el fichero /etc/mail/sendmail.mc
y comentar una directiva en la que se menciona 127.0.0.1.
Para comentar la directiva ponemos delante "dnl"

El fichero sendmail.mc es un fichero de macros, una vez modificado debemos ejecutar
un comando que se especifica al principio del propio fichero, normalmente:
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

Tambien al modificar los otros ficheros que se encuentran en /etc/mail hay que moverse ahi
y ejecutar "make".


Cada vez que se metan cambios en estos ficheros, hay que aplicar make o m4 y ademas reiniciar el sendmail.

4. Vale! ya tenemos un servidor de correo a traves del cual podemos mandar correo. Pero cuando alguien
en otra parte del mundo escriba a " Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla " llegara el correo a nuestro servidor?? NO!!
Es necesario que el dominio este registrado (obviamente) y que su registro MX (Mail Exchanger o Intercambiador de correo)
apunte a la IP publica de nuestro servidor o a la IP del router que este delante del servidor.
Asi desde cualquier parte del mundo se sabra llegar a nuestro servidor de correo.


Depurando...

* Como puedo comprobar que el servidor de correo esta funcionando?

Lo primero, ver que el proceso sendmail esta en marcha con un ps -axf | grep sendmail o
 ps -fea | grep sendmail
Otra comprobacion mas seria mirar si el puerto 25 esta abierto con: netstat -ln | grep 25
Otra comprobacion mas seria mirar si el fichero /var/run/sendmail.pid existe,
Otra comprobacion mas rapida y eficaz es:
telnet localhost 25
o desde el exterior
telnet servidor.decorreo.chingalampernas.com 25
y comprobar la respuesta, que sera algo asi como:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 servidor.decorreo.chingalampernas.com ESMTP Sendmail 8.12.8/8.12.8; Fri, 4 Apr 2003 16:30:12 +0200

Podemos escribir QUIT para salir.

* Como puedo ver la actividad del servidor de correo?

Por favor, una vez mas, hay que ir a los logs, los logs nos hablan abiertamente de lo que pasa
en nuestro sistema. Podemos ejecutar:
tail -f /var/log/maillog
veremos cada evento relacionado con el correo, cada email recibido, enviado,cada consulta al buzon a traves
de pop3 o imap.
Dependiendo del sistema, quiza los logs esten en otra parte. /var/log/syslog o /var/log/messages
En los logs veremos la actividad y tambien los errores de determinados buzones.

Es más: si el sendmail no se inicia, hay que mirar en los logs para ver lo que pasa, y tendremos
la respuesta fijo. Se mira en /var/log/maillog o /var/log/messages.

* Como activo el SMTP autentificado? en redhat esta chupado, y está explicado en foros. Simplemente hay que descomentar tres lineas en sendmail.mc referidas a "AUTH". Para verificar que tenemos SMTP autentificado hacemos telnet al puerto 25 del servidor, y escribimos:

EHLO midominio

Y si obtenemos algo como:

250- correu.isp.com Hello 64.45.isp.com [234.45.64.45], pleased to meet you
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250-AUTH LOGIN PLAIN
250 HELP


Fuente:

Pello Xabier Altadill Izura - www.pello.info


Technorati Tags:
>>

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Facebook conecta

Total visitas

3185412
38.107.191.98
UNITED STATES
US

Quien está en linea

Tenemos 71 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios

Vitales Servidor