Mostrando entradas con la etiqueta postfix. Mostrar todas las entradas
Mostrando entradas con la etiqueta postfix. Mostrar todas las entradas

viernes, 11 de mayo de 2012

Progreso de Amaterasu

Como les comentaba en uno de mis anteriores post, dado que la comunidad GNUPanel se está volviendo muy inactiva, me decidí a crear mi propio panel de control apegado a mis necesidades particulares y las de mis clientes. Este post es precisamente para contarles mis avances construyendo Amaterasu.

De momento, está en una versión muy temprana, aún no tiene un instalador propiamente dicho, pero ya he configurado con éxito el correo usando las siguientes aplicaciones:

  • dovecot
  • postfix
  • clamav
  • spamassassin
  • saslauthd
  • PostgreSQL
También he puesto a funcionar el servicio de DNS utilizando para ello PowerDNS.

En la parte del servidor web, estoy pensando en utilizar nginx ya que, el servidor que uso en DWD no es demasiado potente y he escuchado muy buenas cosas sobre dicho servidor web. Espero para desplegar proyectos en Django hacer uso de Gunicorn también y poder crear configuraciones para cada uno de los sitios ya sea en PHP o Django.

Me gustaría saber sus opiniones al respecto y si les interesa colaborar, no duden en hacer un fork de la rama en github.

viernes, 12 de marzo de 2010

Tutorial: Como instalar un completo servidor de correo con Ubuntu Intrepid Ibex Parte VII

Hola a todos,

En esta entrada concluiremos nuestro tutorial de instalación de un servidor de correo en ubuntu, cabe destacar, que dicho manual, con algunas pequeñas variantes ha sido empleado desde ubuntu intrepid hasta karmic koala con excelentes resultados.

En mi entrada anterior, deje fuera una parte de la configuración final de spamassassin y es lo que veremos a continuación.

Configurar Postfix para que emplee Spamassassin

Necesitamos configurar postfix para que los correos sean pasados por nuestro recien instalado filtro antispam. Para ello, configuraremos el archivos master.cf


sudo nano  /etc/postfix/master.cf

Añadiremos lo siguiente en la línea smtp para que quede de la siguiente forma  (el parametro -o va en la siguiente linea):


smtp    inet    n    -    -    -    -    smtpd
-o content_filter=spamassassin:dummy


Y al final del fichero añadiremos las siguientes lineas:

spamassassin unix - n n - - pipe user=spamd
argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} -- ${recipient}


Finalmente reiniciaremos postfix:

sudo /etc/init.d/postfix restart

Por último, tendremos que enseñar a la base de datos lo que es SPAM (correo basuda) o JAM (correo bueno). Los expertos dicen que lo optimo es entrenar la base de datos con 1000 correos JAM y 700 de SPAM. Es importante que el correo no haya sido previamente tratado por ningún sistema antispam o antivirus.

Una buena idea es que creemos en nuestro servidor un buzón llamado basura@dominio.com y registrar esa cuenta en todas las páginas de publicidad que nos sea posible; eso si, comentaremos en master.cf las lineas de spamassassin para que el correo no sea analizado. Una vez conseguido el número de correos que querramos, cargaremos la base de datos y descomentaremos las líneas para que todo funcione bien.

Cómo decimos a spamassassin qué es SPAM y qué es JAM

Lo hacemos de la siguiente forma:

  • Para correo malo
sudo sa-learn --spam -C /etc/mail/spamassassin --showdots /ruta/carpeta/con_spam

  • Para correo bueno
sudo sa-learn --ham -C /etc/mail/spamassassin --showdots --no-rebuild /ruta/correo/bueno.

Seguidamente, cuando hayamos metido correo bueno, necesitamos restaurar los tokens.

sa-learn -C /etc/mail/spamassassin --showdots --rebuild

Instalando y configurando el antivirus ClamAv

Lo primero que haremos será instalar ClamAv con el siguiente comando:

sudo apt-get install clamav clamsmtp clamav-freshclam

Una vez instalado procederemos a configurarlo haciendo una copia del archivo /etc/clamsmtp.conf y crearemos uno nuevo:

sudo mv /etc/clamsmtp.conf /etc/clamsmtp.conf

sudo nano /etc/clamsmtp.conf

Debemos de dejar el archivo de la siguiente forma:

# Direccion para enviar los correos escaneados:
OutAddress: 10026
# Puerto en el que escucha
Listen: 127.0.0.1:10025
# Lugar donde escucha el clamd
ClamAddress: /var/run/clamav/clamd.ctl
# Añadir esta cabecera a los correos escaneados
Header: X-AV-Checked: ClamAV using ClamSMTP
# Localización del pid
PidFile: /var/run/clamsmtp/clamsmtpd.pid
# Numero máximo de conexiones simultaneas a escanear. Por defecto no se pone nada
#MaxConnections: 64
# Lugar donde dejar los ficheros temporales
TempDirectory: /var/spool/clamsmtp
# El usuario con el que lanzarlo
User: clamsmtp
# Acción a realizar en caso de detectar virus.
VirusAction: /usr/local/bin/virusalert.sh


Seguidamente, tendremos que crear el archivo virusalert.sh, que será quien definira que haremos en caso de encontrar un virus en el correo.

sudo nano  /usr/local/bin/virusalert.sh

No olvide luego de terminar darle permisos de ejecución. El contenido del archivo será el siguiente:

#!/bin/sh
FROM='Sistema antivirus '
TO=$RECIPIENTS
MAILER='/usr/sbin/sendmail -it'
SUBJECT=`/bin/echo "El correo contiene un virus" | /usr/bin/nkf -jMB`
$MAILER <
From: $FROM
To: $TO
Subject: =?ISO-2022-JP?B?$SUBJECT?=
Se ha detectado codigo malicioso en el adjunto que contenía el correo. Pongase
en
contacto con el administrador de su sistema, si está seguro/a de que no es un
virus, pida
a la persona que le envía el fichero que por favor lo ponga en un fichero
comprimido
protegido por una contraseña. Disculpe las molestias.
[Virus]
$VIRUS
[De]
$SENDER
[Para]
$RECIPIENTS
EOM
exit 0


La última parte de la configuración sera decirle a postfix que procese los correos a través de ClamAv. Para ello, editaremos el fichero master.cf

sudo nano /etc/postfix/master.cf

Y añadiremos las siguientes líneas al final del fichero:

## FILTRO ANTIVIRUS
## Filtro antivirus usado por content filter
scan      unix -     -    n    -     16      smtp
    -o smtp_send_xforward_command=yes
    -o smtp_enforce_tls=no
# Para inyectar el correo a postfix una vez analizado
127.0.0.1:10026 inet n -      n     -      16    smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
#    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks_style=host
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8


Seguidamente, necesitamos editar el fichero main.cf

sudo nano /etc/postfix/main.cf

En el que tendremos que añadir las siguientes líneas al final del fichero:

## ANTIVIRUS
content_filter = scan:[127.0.0.1]:10025


Finalmente reiniciamos los servicios para que se inicien con la nueva configuración.

sudo /etc/init.d/clamsmtp restart
sudo /etc/init.d/postfix restart

Llegado a este punto, ya tenemos instalado nuestro servidor. En una próxima entrada, publicaré mis ficheros de configuración de postfix y dovecot para que ustedes puedan compararlo con los suyos.

martes, 3 de febrero de 2009

Tutorial: Como instalar un completo servidor de correo con Ubuntu Intrepid Ibex Parte I

Hola a todos,

Tal como les comentaba el día ayer, hoy comienzo con el tutorial de instalación de un completo servidor de correo con ubuntu intrepid ibex.

Bueno... en todo caso, comencemos:

Lo primero que haremos sera instalar ubuntu intrepid en su version server. Solamente instalamos el sistema base, todo lo demas lo instalaremos a mano para estar 100% seguros de todo lo que tenemos instalado y la red debidamente configurada.

Una vez hemos instalado el sistema operativo que estara en nuestro servidor, procemos a la instalación de nuestro servidor DNS, en Ubuntu es tan facil como ejecutar el siguiente comando:

sudo apt-get install bind9

Una vez hemos instalado nuestro servidor DNS, vamos al archivo de configuracion y creamos la zona para nuestro dominio, en nuestro caso, por estar usando bind, ejecutamos el siguiente comando:

sudo nano /etc/bind/named.conf

y luego configuramos nuestra zona de la siguiente forma:

zone "midominio.com" {
type master;
file "/var/cache/bind/midominio.com.db";
};

Y luego nos vamos al archivo que contiene nuestros respectivos registros para la nueva zone recien creada:

sudo nano /var/cache/bind/midominio.com.db

$TTL 86400
@ IN SOA ns0.midominio.com. root.midominio.com. (
; dmn [midominio.com] timestamp BEGIN.
200807193 ; Serial 19/07/08 #3
;dmn [midominio.com] timestamp END.
28800 ; Refresh 8h
7200 ; Retry
604800 ; Expire 7d
86400 ) ; Minimun: Id
;En el SOA no hace falta el TTL porque lo coge del $TTL
;
IN NS ns0.midominio.com.
IN MX 10 mail.midominio.com.
; Nos podemos ahorrar el midominio.com porque al no poner el punto final se añade el origen
midominio.com. IN A 201.x.x.x
ns0 IN A 201.x.x.x
mail IN A 201.x.x.x
www CNAME midominio.com. ;para que acepte www.midominio.com
ftp CNAME midominio.com.

Una vez hemos definido el archivo anterior, presionamos ctrl + o para guardar y ctrl + x para salir. Luego procedemos a reiniciar nuestro servidor demonio de DNS con el siguiente comando:

sudo service bind9 restart

Si todo ha ido bien tendremos ahora nuestro servidor DNS resolviendo correctamente nuestro dominio, para comprobarlo podemos hacerlo mediante el comando dig o verificar que no aparezcan errores en los logs del sistema.

La comprobacion con el comando dig se hace de la siguiente forma:

dig @201.x.x.x midominio.com ANY

Este comando debe de devolvernos todos los registros como los definimos en el archivo /var/cache/bind/midominio.com.db.

Hasta este punto ya tenemos configurado correctamente nuestro servidor DNS, caba aclarar que la ip 201.x.x.x se debe de sustituir por sus respectiva IP publica. En la próxima parte de este tutorial continuaremos con la instalacion de postfix, mysql, etc.

Como es la primera vez que escribo un tutorial, acepto sugerencias, criticas, reclamos, etc, siempre que sean constructivas.

Saludos

jueves, 17 de mayo de 2007

Instalar Servidor de Correo en Ubuntu Feisty Fawn Server

Por estos días he estado muy ocupado instalando un servidor de correo para la empresa donde trabajo, la cuestión es que ellos tenían los servidores con suse 9.0 y 10.1 antes de que yo comenzara a trabajar ahí, pero la verdad es que soy un amante de debian y las distribuciones basadas en él y cabe destacar que ubuntu es una de las distribuciones que se han robado mi corazón, ya que en el escritorio es súmamente fácil de manejar para cualquier recién llegado a linux, por tanto decidí migrar los servidores a esta excelente distribución.

La instalación la he llevado a cabo utilizando los siguientes programas:
  • Dovecot
  • Postfix
  • MySQL
  • PostfixAdmin
Es de comentar que el funcionamiento ha sido más que aceptable hasta el momento y pues sólo he tenido un problema de relay_access_denied cuando intento enviar correo desde un cliente externo al servidor, pero de momento estoy investigando la solución, si a alguno de ustedes les interesa esta configuración que permite facilmente multidominios, pues sólo pongan en los comentarios y les publico un howto.

No puedo terminar esta entrada sin antes agradecer a mi amigo rolandxy que me ha ayudado mucho en todas las dudas que me han surgido en el camido, gracias amigo, por todo lo que me enseñas.