RSS

  • YouTube
  • LinkedIn
  • Google

Servidor de Email –; Parte 1 ; Instalaciones necesarias

Tengo mi propio servidor de correo utilizando Postfix, Palomar, MariaDB, SpamAssassin, ClamAV, Amavisd-new, fail2ban, Nginx, postfixadmin y RoundCube bajo CentOS 7.
Aunque tiene varias recetas para cómo configurar este paquete, Me tomó muchas horas para encontrar la manera de mantener el servicio funcionando correctamente, cada ajuste en main.cf y master.cf y lograr reducir la inundación de spam que llega cada minuto.
Y anti-spam es el foco de esta publicación. Han sufrido y siguen sufriendo con los constantes intentos para utilizar mis servicios como un zombi o vertimiento del virus, fraude y todo lo demás que se puede.

He perdido la cuenta de cuantas veces mi servicio DNS detenido por exceso de conexión intenta entupiam la memoria y había forzado el s.. procesos de corte para conservar los recursos y la el nombre fue elegido para ser el eslabón más débil.
Por lo tanto, Este artículo tiene el foco en la configuración adecuada para los servicios de correo privado, unos pocos usuarios y pocos dominios. Sin duda mucho de lo que es en este pequeño manual sirve para servicios de clase mundial, pero creo que para estos casos el uso de herramientas o servicios dedicados y especializados siempre se debe tomar en consideración.

Así que dejemos a un lado la charla para ir directamente a la práctica.

Instalación de paquetes

El primer paso es instalar todos los paquetes que se utilizarán. El roundcube y postfixadmin correr bajo un servidor Web con PHP y cuyas cuentas de correo electrónico se pueden almacenar en un servidor de base de datos. Cómo uso Nginx Webserver y aunque prefiero PostgreSQL utilizará el MariaDB como DBMS debido al hecho de que la mayoría de los usos (por WordPress probablemente).

Por lo tanto, al final del proceso de instalación, Debemos tener instalado algunos nuevos repositorios de paquetes para CentOs, Postfix, Palomar, SpamAssassin, MariaDB, Nginx, PHP, PostfixAdmin, RoundCube e opcionalmente o Amavis e o ; ClamAV.

Activar los repositorios Extra a sus paquetes de la distribución, Si no lo has hecho ya. Para CentOS 6 o 7 el siguiente comando le.

$ sudo yum install epel-release  
$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

Además, instalar el rizo, htop, Llegué, yum-utils, wget, Herramientas de red, NTP y certbot que se necesitan en otra parte del documento.

$ sudo yum install -y curl htop vim yum-utils wget telnet net-tools ntp python2-certbot-nginx

Postfix

Postfix es un MTA (agente de transferencia de correo). Un MTA puentes el boquete entre los ordenadores para el intercambio de mensajes de correo electrónico. Para nuestro caso, es el elemento principal. La versión de Postfix que usaré en este documento es el 3 y para instalar el repositorio de GhettoForge.
Para hacer esto ejecute los siguientes comandos:

# importando a chave
$ sudo rpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7
# instalando o repositorio GhettoForge
$ sudo rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Para asegurarse de que el repositorio de este activo comprobar si el paquete postfix3 disponible

$ sudo yum info postfix3 --enablerepo=gf-plus

Nota: El repositorio de gf-plus es instalado para discapacitados y es mejor mantenerlo así, porque contiene versiones de los paquetes que entran en conflicto con versiones existentes en los repositorios de instalación de CentOS base.

La salida debería ser algo así como:

(..)
Available Packages
Name        : postfix3
Arch        : x86_64
Epoch       : 2
Version     : 3.3.3
Release     : 1.gf.el7
Size        : 3.0 M
Repo        : gf-plus/x86_64
Summary     : Postfix Mail Transport Agent
URL         : http://www.postfix.org
License     : IBM
Description : Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
            : TLS

Con el repositorio configurado y listo para usar, Vamos a quitar el postfix actual (No se instala por defecto en CentOS) la versión más actual.

$ sudo yum remove -y postfix && sudo yum -y install postfix3 postfix3-ldap postfix3-mysql postfix3-pcre --enablerepo=gf-plus

Vamos a dejar el servicio parado por ahora pero ya preparado para abrir junto con el sistema operativo.

$ sudo systemctl enable postfix && sudo systemctl stop postfix

Palomar

Palomar es un servidor de correo Imap y Pop3. Con ella podemos enviar y recibir mensajes a través de Postfix y entre otras cosas, controlar el acceso al servicio a través de autenticación.
Para instalar Dovecot simplemente ejecute el comando:

$ sudo yum install -y dovecot dovecot-mysql

Otra vez, Activemos el servicio pero dejemos que se detenga.

$ sudo systemctl enable dovecot && sudo systemctl stop dovecot

Amavis

Amavis es un filtro de contenido para el correo electrónico. Con él se puede filtrar mensajes dañinos utilizando la configuración de spam, Virus y otros programas maliciosos. En nuestro caso utilizaremos la versión AMAVISD-Nuevo. Debajo de los comandos que lo instalan. Requiere muchas dependencias que se actualizarán y/o instalarán juntas. Una de estas dependencias es la SpamAssassin Eso se establecerá más adelante, Junto con todos los otros paquetes que estamos instalando.

$ sudo yum install -y amavisd-new

Compleming la instalación de elementos de filtro de contenido dañino, También instalaremos el Clamav Que es un antivirus simple y bastante eficiente para los tipos más comunes de amenazas y totalmente gratis.

$ sudo yum install -y clamav

Otra vez, Activaremos los servicios para que siempre se inicien automáticamente, Pero por ahora dejándolos de pie.

$ sudo systemctl enable spamassassin && sudo systemctl stop spamassassin
$ sudo systemctl enable amavisd && sudo systemctl stop amavisd

MariaDB (o MySQL)

Generalmente, Quien utiliza WordPress ya ha instalado y configurado el MariaDB o MySQL. Prefiero especialmente PostgreSQL, Pero como la intención de este documento es permitir que DevOps pueda tener sus propios servicios y no siempre puedo tener varias instancias decidí usar el MariaDB. De esta manera, Si necesitas añadir WordPress más tarde, No es necesario añadir un DBMS adicional o incluso utilizar contenedores para que tenga soporte PostgreSQL.

Como la intención es instalar la versión más reciente utilizaremos el repositorio oficial. Debajo de todos los comandos requeridos.

$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
$ sudo yum install -y MariaDB-server MariaDB-client
$ sudo systemctl enable mariadb && sudo systemctl stop mariadb

Webserver (Nginx y PHP)

Los últimos elementos que se instalarán forman parte del Webserver. Es posible que ya tenga una corriendo como Apache para que este punto se pueda omitir. Si está iniciando un nuevo servidor, Recomiendo seguir los consejos de esta instalación.

Me gusta mucho el Nginx Y voy a utilizar en conjunto con el PHP-Fpm. Una vez más voy a utilizar repositorios que permiten instalar versiones más actuales posibles.

$ sudo rpm --import https://nginx.org/keys/nginx_signing.key
$ sudo yum -y install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
$ sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum-config-manager --enable remi-php73
$ sudo yum install -y nginx php php-fpm php-imap php-gd php-intl php-mcrypt php-mysql php-mysqlnd php-pdo php-xml php-xmlrpc php-tidy php-pecl-zip
$ sudo systemctl enable nginx && sudo systemctl stop nginx
$ sudo systemctl enable php-fpm && sudo systemctl stop php-fpm

Roundcube y Postfixadmin

Los últimos elementos que se instalarán son el Roundcube y el Método Postfixadmin. el Roundcube es un cliente de correo web para ser utilizado con PHP y Postfixadmin es un administrador WEB de cuentas y dominios para Postfix también se utiliza con PHP. ¿Cómo se van a utilizar las aplicaciones PHP dentro del Webserver, Si está utilizando Apache u otro servidor web, Será necesario adaptar cierta información. Aquí usaré directorios por defecto.

$ cd /var/www/html
$ sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.3.9/roundcubemail-1.3.9-complete.tar.gz
$ sudo tar -xzvf roundcubemail-1.3.9-complete.tar.gz
$ sudo wget -O postfixadmin-3.2.gz https://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.2/postfixadmin-3.2.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fpostfixadmin%2Ffiles%2Flatest%2Fdownload 
$ sudo tar -xzvf postfixadmin-3.2.gz

En este punto ya tenemos todos los archivos necesarios para inciso la configuración del servidor de correo.

Soy demasiado perezoso.

No le gusta seguir escribiendo o no están preocupados en los detalles de cada elemento instalado. Tus problemas han terminado.!

Usted puede ejecutar todos los comandos en este documento con las líneas abajo:

$ sudo yum install -y curl htop vim yum-utils wget epel-release
$ curl -sS https://www.marcosregis.com/download/regis-mailserver-centos7-script | sudo bash

ATENCIÓN! Este script es sólo un archivo con las líneas de comando. Eventualmente puede no funcionar correctamente dependiendo de la configuración del sistema.

Con todo instalado podemos iniciar la configuración. Comencemos con el MariaDB.

Comentario (1)

  1. [;] Ya publiqué hace un tiempo un artículo que muestra cómo configuré un servidor y un correo electrónico usando las herramientas más comunes para el entorno OpenSource en Linux. Usé Postfix, Palomar, Método Postfixadmin, Roundcube y Spamassassin. [;]

Contesta

Su dirección de correo electrónico no se publicará. Los campos obligatorios están marcados *

Este sitio utiliza Akismet para reducir el spam. Aprender cómo se procesaron los datos de comentario.