¿Cómo resolverías... "How would you solve...?"

Tenemos el siguiente esquema:

El Pc0 está conectado a la red 192.168.1.0/24 con ip 192.168.1.10 y gw 192.168.1.254, que le permite salir a internet.
Al mismo tiempo tenemos otro router (R2) conectado al switch, en otro rango de red: 172.16.0.0/16, al cual no podemos llegar ya que no está en nuestro rango.
¿Cómo podíamos conectarnos a la LAN 172.16.0.0/16 si el Pc0 solo dispone de una NIC y no queremos perder la conexión con la red?
nota: no podemos cambiar nada de la infraestructura del esquema (cables, nuevos dispositivos...)


Pc0 is conected to 192.168.1.0/24 with ip address 192.168.1.10 and gw 192.168.1.254, alowing to connect with inet.
At the same time, we have an other router (R2) connected to switch, in a different range: 172.16.0.0/16, which we can't get connection with (different networks).
How do we connect to LAN 172.16.0.0/16 if the Pc0 just has a NIC and we can´t lose our inet connection?
note: we can't change anything of the schema (wires, new devices..)


Solucion: Unicamente tenemos que añadir una segunda ip a nuestra NIC, dentro de la red 172.16.0.0/16. Es muy importante tener en cuenta que un host puede pertenecer a tantas redes como queramos, siempre y cuando esté configurado dentro de ellas. El gateway solo nos sirve para indicar (por ejemplo en este esquema) la salida a internet.
Siempre debemos tener claro que un switch funciona en capa 2 y que puede existir comunicación entre dispositivos sin necesidad de salir por ninguna puerta de enlace.

Servidor Plesk con CentOS 5.6, SpamAssassin, Qmail-scanner y Clamav

La siguiente guía tiene el propósito de explicar paso por paso la instalación de un servidor Plesk bajo CentOS 5.6 configurando spamassassin, qmail-scanner y clamav como principales herramientas para tener un servidor http/mail seguro y funcionando 100%.
Se asume que el lector tiene unos conocimientos básicos sobre linux y se siente cómodo con la CLI.

Lo primero de todo es descargarnos la distro desde centos.org y grabarla en un cd o en mi caso en un usb como explico aquí: http://www.aprendiendounpoquitomas.com/2011/07/installing-centos-6-from-usb.html

Arrancamos e instalamos CentOS 5.6 sin entorno gráfico y con los menos paquetes posibles para evitar incompatibilidades. Una vez terminado este proceso, pasamos a arrancar nuestro nuevo sistema y conectarlo a la red.

Lo primero de todo es comprobar que no tenemos ninguno de estos paquetes instalados; Si los tenemos pasamos a eliminarlos con:
# yum remove http*
# yum remove php*
# yum remove cyrus*
# yum remove mysql*

Una vez eliminados, paso a actualizar el SO con:
# yum update
Queda de más decir que debe estar instalado gcc, make y otros imprescindibles como nano o vim...

- Instalación de PLESK 9.5.4

Ahora es momento de descargarnos el paquete plesk desde su webpage, en mi caso la versión de 64bits. Antes de poderlo descargar os teneis que registrar.
# mkdir /root/plesk
# cd plesk
# wget download1.parallels.com/Plesk/PPP9/CentOS5/parallels_installer_v3.6.0_build100407.15_os_CentOS_5_x86_64

Una vez descargado, le damos permisos de ejecución y lo instalamos:
# chmod +x paralles_installer_v3.6.0........
# ./parallels_installer_v3.6.0.......

En este paquete vienen incluidas distintas versiones, en mi caso instalaremos la versión 9.5.4 (opción 9) y elegiremos las opciones siguientes:

Como podeis ver en la imagen, he instalado:
- Plesk Migration Manager
- Php 5.3
- Qmail
- Additional Languages Pack (Español)
- Plesk Webmails support (Horde o Atmail)
- Additional Mail Services (No instaleis ni el spamassassin ni el antivirus, ya que lo haremos más adelante)

Podeis instalar todo lo que os interese, pero tened en cuenta que el acceso a esas aplicaciones será limitado por la licencia.

Continuar con la instalación y verificar que no os ha dado ningún error grave.
Una vez terminado, el acceso prederminado al CPANEL es:
https://ip_servidor:8443
user: admin
pass: setup

- Instalación de Qmail-Scanner, ClamAV y SpamAssassin

Antes de nada, es necesario añadir el repositorio atomic:
# wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

Procedemos a instalar los paquetes necesarios:
# yum install qmail-scanner clamd qgreylist spamassassin dcc pyzor razor-agents

Iniciamos los servicios:
# /etc/init.d/spamassassin restart
# chkconfig spamassassin on
# /etc/init.d/clamd start
# chkconfig clamd on

Creamos el fichero log, necesario para las actualizaciones de clamav y hacemos propietario a qscand, usuario/grupo predefinido de qmail-scanner:
# touch /var/log/clamav/freshclam.log
# chown qscand:qscand /var/log/clamav/freshclam.log

Añadimos a crontab la actualización de clamav para que siempre contemos con las últimas firmas de virus:
# crontab -e
30 0 * * * /usr/bin/freshclam –quiet -l /var/log/clamav/freshclam.log
La linea anterior actualizará el antivirus todos los días a las 0:30 am.
Seguimos con la instalación, ahora reconfigurando qmail-scanner:
# qmail-scanner-reconfigure

Podemos ver y editar la configuración en /etc/qmail-scanner.ini. Es importante no olvidarse de reconfigurar qmail-scanner cada vez que editemos su configuración.

Podemos probar si ha ido bien la instalación de clamav, actualizando su base de datos de virus:
# freshclam -v

Si os da algún problema, verificar que en el archivo /etc/freshclam.conf el propietario de la db es qscand:
# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
# Default: clamav (may depend on installation options)
DatabaseOwner qscand

En mi caso, me gusta tener todos los logs en /var/log así no tengo que gastar tiempo en buscar donde tiene el log la aplicación x, podemos crear links simbólicos a los log de qmail y qmail-scanner con:
# ln -s /usr/local/psa/var/log/maillog /var/log/qmail
# ln -s /var/spool/qscan/qmail-queue.log /var/log/qmail-scanner

Bien, ya está todo instalado y funcionando, ahora voy a explicar brevemente que archivos de configuración son necesarios conocer para poder configurar estas herramientas:
Encontrareis más info en las webs de los diferentes proyectos
- Qmail-Scanner
/etc/qmail-scanner.ini -> Es el archivo de configuración principal. En él entre otras opciones puedes decirle qué puntuación utilizar a parte del required_score de spamassassin para que ponga en quarentena o elimine los correos marcados como spam.

/var/qmail/bin/qmail-scanner-queue.pl -V
Puedes ver que configuración se está usando, tambien editarla pero parcialmente. En mi caso, la salida de ese comando es la siguiente:
qmail-scanner-queue.pl
Version: 2.08st (20100626)
Perl: Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Settings per domain: enabled
Scanners installed: clamdscan_scanner, spamassassin, perlscan_scanner,
Scanners default: clamdscan_scanner, spamassassin, perlscan_scanner,
Scanner versioning: clamdscan: 0.97.3/13875. spamassassin: 3.2.5. perlscan: 2.08st.
Spamassassin settings:
Mode: fast_spamassassin
sa_timeout = 120 / sa_fault_tolerant = 1 / sa_maxsize = 256000
sa_subject_site = '****SPAM****'
sa_delta_site = 1
sa_quarantine_site = 2
sa_delete_site = 6.2 / sa_reject_site = 0
Operating System: Linux, 2.6.32-4-pve
Hardware: x86_64
http://qmail-scanner.sourceforge.net/

- Spamassassin
/etc/mail/spamassassin/local.cf-->configuración general del spamassassin. En él se define la puntuación requerida para que un email sea marcado como spam, por defecto 5. En este caso qmail-scanner es el encargado de reescribir el asunto del email, por lo tanto se obviará la linea correspondiente.
Una vez terminemos de editar el archivo de configuración, debemos ejecutar:
# spamassassin --lint
para comprobar que no hay ningún error
http://spamassassin.apache.org/

- Clamav
/etc/clamd.conf
/etc/freshclam.conf
Estos dos archivos son los correspondientes a la configuración del antivirus. En ellos podeis configurar desde el path a los log, hasta notificaciones via mail.
http://www.clamav.net/


Hasta aquí llega la explicación, espero que os sirva todo lo posible ya que no hay mucha información y menos en español.
Podeis opinar y escribir vuestras dudas comentando más abajo :)
Proximamente postearé el mismo tuto en inglés

Un buen artículo sobre la lucha contra el spam en plesk y qmail.

Muy bien explicado.
Os linkeo a la fuente:
http://blogofsysadmins.com/como-luchar-contra-el-spam-en-plesk-con-qmail

Problema iniciando httpd VirtualHost

Me encontraba haciendo una migración de unas webs de un servidor a otro, cuando después de sincronizar /var/www/vhosts/dominio/* con rsync me encuentro que el servicio httpd está parado.
Cuando ejecuto: /etc/init.d/httpd start:

Iniciando httpd: [Mon Sep 26 19:40:43 2011] [warn] VirtualHost mi_oldserverip:80 overlaps with VirtualHost mi_oldserverip:80, the first has precedence, perhaps you need a NameVirtualHost directive [FAIL]


Investigando me di cuenta que al sincronizar las webs desde el otro sevidor el archivo:
/var/www/vhosts/dominio/conf/httpd.include
la linea "VirtualHost xx.xx.xx.xx:80" apuntaba al otro servidor.

Cambiando esa ip, solventamos el problema.

nota:Este archivo es creado automáticamente por plesk cuando se crea un nuevo dominio.

Añadir cuentas de correo desde un archivo. SCRIPTING

Con este script podemos crear tantas cuentas de correo como lineas haya en nuestro archivo.
Es un método fácil cuando tenemos que crear un número considerable de usuarios, o mismamente crear las X cuentas pertenecientes a un dominio migrado o a muchos, como veremos a continuación:

Tenemos un archivo datos.txt con el siguiente contendido:

postmaster aprendiendounpoquitomas.com password_postmaster
jesus aprendiendounpoquitomas.com password_jesus
eusebio aprendiendounpoquitomas.com password_eusebio
admin aprendiendounpoquitomas.com password_admin
mantenimiento aprendiendounpoquitomas.com password_mantenimiento
info otro_dominio password_info
empleado1 otro_dominio password_info
empleado2 otro_dominio password_info
....

Como podeis ver, sigue la estructura USUARIO DOMINIO PASS.

Con el siguiente script, podemos automatizar todo el proceso:
script_crear.sh

#!/bin/bash

NEW_ACCOUNTS="/documents/datos.txt"


cat ${NEW_ACCOUNTS} | \
while read USER DOMAIN PASSWD
do
/usr/local/psa/bin/mail --create ${USER}@${DOMAIN} -passwd ${PASSWD} -cp-access true -mailbox true
done


Espero que esto os ayude a automatizar el proceso y os ahorre tiempo.

Comentar con cualquier duda/problema

Un saludo

How to create a mail account using CLI with plesk

We sometimes need to know some commands to reduce our time managing a mail server.
Here, I'm going to type some commands to give you several tricks to work with.
For example, when you have to add a lot of information into your plesk mail server, like mail accounts, you can use a bash script to create a mail account for each name written into a file.

First: we need to connect via ssh

ssh root@mymailserverip

After that, we have to execute:

/usr/local/psa/bin/mail --create test@domain.com -passwd mypass -cp-access true -mailbox true -mbox_quota 10M -antivirus inout

Command above use several options:
-- create = create a mail account named test@domain.com
- passwd = set password as "mypass"
- cp-access = allow accessing to plesk GUI
- mailbox = create a mailbox
- mbox_quota = set the size of the mailbox
- antivirus = enable in out screening mails


In a few days I will add a script file

Updated: link_script

More information