Author

Tus correos no llegan a su Destino? las temidas Listas negras

Tus correos no llegan a do Destino? las temidas negras Listas

El Correo no Deseado:. El eterno Enemigo de Todos, especialmente de los Proveedores de alojamiento Se calcula Que Poco Mas del 70% de Todo El Correo electrónico del Mundo es El Correo no Deseado, aire de China, y ESTADOS UNIDOS encabezando La Lista de los Países estafa alcalde Emisión de Correo basura.

De de de Cuando Ud. Envía electrónico Correo ONU, el Mensaje es Entregado pecado hacerlo Servidor y Es El Que Hace esta el envio del Mismo Hacia el Servidor de Destino, SIENDO FINALMENTE descargado Por El Destinatario.

Son entonces el los Servidores, los Que se encargan de realizar TODAS las VERIFICACIONES Posibles Buscando Que Tanto el Mensaje de DE COMO EL Que lo Servidor Envía, no Contengan o sean emisores de spam.

Existencial Varios Métodos de Análisis Que se emplean:

1 – Listas negras:  Si la ONU Servidor es IDENTIFICADO COMO responsable de la Emisión de Grandes Cantidades de correos Similares, es automaticamente Marcado Como Posible Emisor de España y Su Dirección IP es ingresada negras En Las Listas.

Negras ESTAS LISTAS (existencial de los de los de los muchas en Internet) ademas Hijo consultadas Porción Millones de Servidores de Correo electrónico. ¿? El Resultado Si el IP De HACER Servidor está en Una Lista Negra, el hacer recibido de correo no deseado automaticamente y El Pecado sueros Porción Mensaje Sera considerado del los Destinatarios.

Lo Que es peor en ESTOS Casos, Es Que Si El Pecado Servidor de Correo Electrónico Atiende a cientos de empresas-TODAS Entrar Log in using La Misma Dirección IP-y de de de Esta es negras Bloqueada Porción Listas, automaticamente TODAS las Empresas perjudicadas En Si Veran. Este es UNO de Los Principales, Problemas De Los Servicios De Económicos hosting.

2 – Análisis de contenidos:.  Primer Control Si el Mensaje Logra Pasar el de Listas negras, entonces Sí Analiza ningún Contenido, Buscando Patrones Que permitan identificarlo COMO Posible SPAM, POR EJEMPLO:

– Contenido Palabras incluyendo frecuentemente utilizadas en El Correo no Deseado;
– Uso intensivo de Mayúsculas;
– SOLO Imágenes estafa Poco o nulo Contenido textual;
– Externas IMAGENES;
– Palabra Publicidad en el Tema, o Alguna de Sus Variantes.

Si Do Mensaje es considerado el Correo no Deseado o no aparece Dominio en Listas Negras, existencial Mecanismos Parr desbloquearlos certificando Que es Contenido real. Debe Proceso Realizado Este Servicio PORCION las Empresa Que le Brinda el Servicio de Hosting Y además canjear hacer el Proveedor Que debe monitorear TODO EL TIEMPO la Calidad de Los MENSAJES Hijo Que Enviados y recibidos Porción sos Servidores.

RECOMENDACIONES ALGUNAS

Existencial Varias Formas de mantener el SPAM Una raya en do Empresa:

  • Estafa Consulte HACER Proveedor de son Cuales Alojamiento sos  Políticas de Seguridad y anti spam .
  • Florerias verificar si ¿Dominio o el IP de Servidor está en HACER Alguna Lista Negra en  https://mxtoolbox.com/blacklists.aspx
  • Simples utilice Claves de de Nunca, virus o troyano Florerias del Pecado del adivinarla y USAR Haga Dirección de Correo Parr enviar Correo no Deseado from any Lugar.
  • Verifique sos computadores virus contra, El Pecado Tener Florerias del Equipo Infectado Y Que Envía Correo no Deseado Pecado Que USTED SE de Cuenta.
  • ¿Va a enviar publicitario Mensaje de la ONU? NUNCA lo envie a Direcciones de Correo Que No Conoce Bases de Datos o compradas, Más Allá de la pobre Efectividad of this pisos de Mensajes, le aseguramos Que HACER Dominio y probablemente el IP del Proveedor Quedará Marcado en Listas Negras automaticamente.

 

Sistema Centos

Cryptsetup / tmp / canje y / home en LVM

 

Esta guía le ayudará a configurar el archivo / tmp, / swap y / home a cifrar utilizando cryptsetup LUKS. Voy a suponer que usted ya tiene un sistema instalado, y necesita agregar el cifrado para / tmp, / swap y / home. Voy a suponer que usted tiene datos en / home, así que mucho cuidado para backup / home antes de continuar. Hay una guía en el wiki de CentOS , pero es para el cifrado de archivos, no particiones, así que quería una guía más específica para / tmp, / swap y / home. Esta guía asume que desea enteras las particiones cifradas, así que se borrará los datos sobre ellos.

 

Sistema:

CentOS 5.x

 

Referencias:

Cifrado del sistema de archivos 
cifrados / tmp y / swaps

 

Configuración del sistema

A menos que la base sin control durante la instalación, y decide instalar prácticamente nada, entonces usted ya debe tener las herramientas necesarias para hacer el cifrado. Verifique primero, y luego proceder.

 

# Rpm-q cryptsetup mapeador de dispositivos util-linux
# Modprobe dm_crypt
# Lsmod | grep dm_crypt

 

Copia de seguridad / Casa

Yo no debería tener que decirte más, pero asegúrese de backup / home en una fuente externa antes de continuar! Incluso si usted tiene el espacio en su disco duro, obtener una copia de seguridad de su disco actual ya que va a ensuciar con el sistema de archivos local.

 

# Cp-ARFP / home / algunos / external / almacenamiento

 

Cifrar / swaps

Vamos a empezar con encriptación / intercambio primero, verificar que esto funciona, y luego pasar a / tmp. Yo sugeriría apagar su anfitrión hacia abajo, pero no absolutamente que hacerlo si no quieres. Desde canje no será tocado de nuevo hasta el próximo arranque, puede hacer esto en vivo. Vamos a crear un archivo / etc / crypttab y agregue los parámetros de intercambio.

 

# Vim / etc / crypttab
swap / dev/vg0/swap / dev / urandom swap, cipher = aes-cbc-essiv: sha256

Dependiendo de sus nombres de los grupos de volumen y el diseño, cambiar la ruta de acceso para satisfacer sus necesidades. Esto especifica que el sistema de encriptación a usar AES y encriptación SHA256 poco durante el inicio, con una clave aleatoria.Cada arranque, se generará una nueva clave para su uso, mientras que el sistema está funcionando. Cuando se apaga, la clave no estará vivo, y por lo tanto / swap es protegida.

A continuación, edite el archivo / etc / fstab para reflejar los cambios.

 

/ dev / mapper / swap defaults ninguno de swap 0 0

Eso es todo para la encriptación de swap. Puede reiniciar ahora y ver que de intercambio se vuelve a encender, o puede continuar y hacer / tmp al mismo tiempo.

 

Cifrar / tmp

Cifrar / tmp es ligeramente diferente a hacerlo con / swap. Tendrá que utilizar un script para montar / tmp después de / etc / fstab que se ha leído. Crédito para el guión va a clasohm.com donde lo encontré. Se crea el volumen cifrado después de / etc / fstab ha procesado, y hacer a las necesidades camino / tmp accedido (supongo), / tmp tiene ser manejado de forma especial.

Primero, añada las líneas necesarias en / etc / crypttab y también tomar las líneas necesarias en / etc / fstab que normalmente se monta en / tmp.

 

# Vim / etc / crypttab
tmp / dev/vg0/tmp / dev / urandom tmp, cipher = aes-cbc-essiv: sha256

# Vim / etc / fstab
# Asegúrese de comentar esto más abajo.
# / Dev/vg0/tmp / tmp ext3 defaults 1 2

Copia y pega el script desde clasohm.com y colóquela en / etc / init.d.

 

# Vim / etc / init.d / cryptotmp

#! / Bin / bash
#
Setup # cryptotmp encriptado partición tmp
#
# Chkconfig: 2345 01 90
# Descripción: añade partición tmp encriptado.

. / etc / init.d / functions

# Mira cómo nos llamábamos.
case "$ 1"
    comenzar)
        mount / dev / mapper / tmp / tmp
        restorecon / tmp

        acción "Agregar tmp cifrado"

        touch / var / lock / subsistemas / cryptotmp
        ;;
    parar)
        rm-f / var / lock / subsistemas / cryptotmp
        ;;
    *)
        echo $ "Uso: $ 0 {start | stop}"
        salida 1
esac

exit 0

Haga el script ejecutable y chkconfig en.

 

# chmod + x / etc / init.d / cryptotmp
# Chkconfig - add cryptotmp

Esto hace lo mismo que la grabación / intercambio ahora. Cuando el sistema arranca, se genera una clave y se utilizan para cifrar / tmp. Cuando el sistema se apaga, la clave se pierde y por lo tanto / tmp está protegida. Si tiene scripts que escriben en / tmp para algo, sin embargo, tener en cuenta que el contenido de / swap y / tmp serán borrados cuando el sistema se apaga. También, clasohm.com estados que suspenden en el disco fallará después de cifrar / swap y / tmp, comprensible tan. Para verificar las cosas están funcionando antes de cifrar la partición / home, reinicie el sistema y asegúrese de que vuelve a estar conectado con / swap y / tmp.

 

Cifrar / Casa

A continuación, vamos a cifrar / home. Una vez más, usted puede hacer esto en vivo, pero si usted está conectado a su equipo, tendrá que salir de su perfil y de una línea de comandos de root. Vas a tener que desmontar / home para que pueda cifrar la partición y volver a crear un sistema de ficheros en él. Para la tercera advertencia, copia de seguridad de su partición / home de su disco local!

Si no lo ha hecho ya, y luego hacerlo. Luego desmontar / home.

 

# Cp-ARFP / home / algunos / external / almacenamiento
# Umount / home

Configuración de la contraseña de LUKS en el envase. Asegúrese de elegir una buena frase de contraseña fuerte. Significado, algo con mayúsculas, minúsculas, símbolos y números en la contraseña. Usted es el cifrado está custodiada por esto, así que no tenga miedo de hacer una buena frase de contraseña largo.

 

# Cryptsetup luksFormat / dev/vg0/home

ADVERTENCIA!
========
Esto sobrescribir datos / dev/vg0/home irrevocablemente.

¿Está seguro? (Escriba en mayúsculas, sí): SI
Enter LUKS passphrase:
Verifique frase de contraseña:
Dirige con éxito.

A continuación, abra la partición cifrada con la clave que ha creado.

 

# Cryptsetup luksOpen / dev/vg0/home casa
Enter LUKS passphrase:

Complete el dispositivo con datos aleatorios, por lo que cualquiera que los exámenes que el disco no se puede determinar la cantidad de datos está en la unidad. Si usted tiene una gran partición, esto podría tomar un tiempo, por lo que ir a tomar un café, refresco o cerveza, y volver más tarde. Puede saltarse este paso, pero que fortalecerá su cifrado en gran medida por tomarse el tiempo para hacerlo.

 

# dd if = / dev / urandom of = / dev / mapper / home

Desde dd no tiene ninguna indicación de estado, aquí hay un truco para ver el tiempo que el proceso se está llevando. En primer lugar, busque el identificador del proceso de su comando dd de arriba, a continuación, utilizar el reloj y matar a mostrar algo de información de estado.

 

# Ps UXA | grep dd
# Watch-n 20 kill-USR1 PID

Ahora tiene que crear el sistema de ficheros en la partición.

 

# mke2fs-j-O dir_index / dev / mapper / home
# tune2fs-l / dev / mapper / home

Por último, cierre la partición cifrada copia de seguridad.

 

LuksClose # crypsetup casa

Al igual que con la partición / swap, tendrá que editar el archivo / etc / fstab y añadir la ruta correcta.

 

# Vim / etc / fstab

Ext3 defaults # / dev/vg0/home / Casa 1 2
Ext3 defaults / dev / mapper / home / home 1 2

Por último, agregue la ruta de acceso a la ruta / etc / crypttab. Si sólo se especifica la partición y directorio de inicio como los dos primeros parámetros, a continuación, en el arranque se le pedirá la contraseña de frase LUKS la protección de sus datos. Usted puede entrar en algunas cosas de lujo, como el almacenamiento de su clave en una llave USB, y tener que monta automáticamente y que arranque, pero yo no vi la necesidad de eso.

 

# Vim / etc / crypttab

casa / dev/vg0/home

Seguir adelante y reiniciar ahora. Debe venir y pedir la contraseña LUKS. Entrar en ella, y se montará el directorio / home. A continuación, puede sincronizar de nuevo todos los datos antiguos, y listo, usted está ahora protegido por el cifrado con / tmp, / swap y / home está todo encriptado. Si alguien le roba su hardware, usted debe ser seguro. Obviamente, si usted quiere otras particiones cifradas, cambiando / a casa con algo más. Por ejemplo, un directorio de copia de seguridad que se utiliza en el hogar para las máquinas de copia de seguridad. Voy a estar replicando esta configuración en mi escritorio en casa, pero también voy a cifrar / srv donde se almacenan mis copias de seguridad de portátiles. También, si usted todavía no está seguro acerca de estas cosas cifrado, arrancar un CD livd como Knoppix y meter todo el sistema de archivos para ver si usted puede conseguir / home montado.

CONSEJO Acerca de Knoppix y LVM. Después de arrancar hacia arriba, asegúrese de ejecutar los dos comandos para forzar Knoppix para ver los grupos de volúmenes.

 

# Vgscan
# Vgchange-ay

Usted será capaz de ver ahora / dev/vg0/home partición como estar allí, sin embargo, usted no podrá realmente montarlo directamente solo usando el monte. Habría que utilizar cryptsetup luksOpen y luksClose para acceder a la partición. Para ello, no hay prueba de que la partición es seguro. Como siempre, por favor, corregir nada malo, dejar comentarios para mejoras, y todo lo habitual. También, gracias a clasohm.net por la ayuda en conseguir / tmp y / swap encriptado, así como la secuencia de comandos para montar / tmp en el arranque.

 

Adición LUKS Keys

Usted puede agregar hasta cuatro o cinco claves para un dispositivo cifrado, así que si usted necesita para permitir que alguien más acceso a la unidad, que lo hagan así.

 

# Cryptsetup luksAddKey / dev/vg0/home

 

Aviso sobre el cambio de tamaño LVM

He aquí una pequeña nota sobre el cambio de tamaño de LVM en un futuro, ya que ha añadido cifrado. Puede utilizar los comandos normales, pero hay que recordar una cosa. Después de extender el volumen lógico, necesitará usar dispositivo mapper cifrado para cambiar el tamaño, no el camino LVM típico.

 

# Lvextend-L 512 M / dev/vg0/home
# resize2fs / dev / mapper / home

 

Amavisd-new, ClamAV y SpamAssassin

Amavisd-new, ClamAV y SpamAssassin

 

1. Introducción

Amavisd-new es una interfaz fiable de alto rendimiento entre un servidor de correo (MTA) y las damas de contenido, como programas antivirus (ClamAV), y / o SpamAssassin. Protocolos de amavisd-new soportes ambos (E) SMTP y LMTP así como sockets UNIX para la comunicación con el MTA y las damas de contenido. Además, también puede utilizar programas de ayuda dedicados, tales como el módulo de Mail :: SpamAssassin Perl.

Amavisd-new soporta un número de MTA. A medida que los nuevos estados-Amavisd documentación, Amavisd-nuevas obras “mejor con Postfix, bien con la configuración de doble sendmail y Exim v4, trabaja con sendmail / milter, o con cualquier MTA como un relé SMTP” . Esta guía se ha escrito y probado en Postfix y se puede utilizar para complementar la guía básica de Postfix aquí . Otro MTA puede obtener añadido más tarde.

Vamos a configurar de nuevo Amavisd-daemon, amavisd, para aceptar correo de nuestra MTA, pasarlo a ClamAV y SpamAssassin para comprobar, y luego regresar de nuevo a la MTA para la entrega. Amavisd utilizarán lmtp escuchando en el puerto TCP 10024 para aceptar correo de nuestra MTA y luego pasarlo a ClamAV utilizando un socket UNIX local y SpamAssassin utilizando el módulo Mail :: SpamAssassin Perl. Electrónico escaneada será regresada a nuestra MTA utilizando SMTP en TCP puerto 10025 para la entrega.

-Amavisd nueva no tiene que residir en el mismo servidor físico que el MTA, y en entornos de alta carga, no es raro tener Amavisd-nueva, ClamAV y SpamAssassin en el servidor físicamente separada de la MTA.

 

2. Instalación

Amavisd-new y ClamAV se han instalado desde el repositorio RPMForge. Para habilitar el repositorio RPMForge, por favor vea los RPMForge instrucciones.

SpamAssassin es parte del repositorio de base de CentOS, pero RPMForge lleva una versión más actual de la misma. Usted debe considerar el uso de la versión de RPMForge. Para ello (especialmente si utiliza las prioridades para el plugin de yum ), agregue lo siguiente a la [base] y los [updates] secciones de su yum.repos.d / etc / / CentOS-Base.repo archivo:

 

[Base]
exclude = spamassass *
...
[Actualizaciones]
exclude = spamassass *
...

En primer lugar, instalar nuevos amavisd-, paquetes clamav y spamassassin:

 

mmm - enablerepo = rpmforge, rpmforge-extras instalar amavisd-new clamav-clamav desarrollo clamd spamassassin

Esto probablemente también instalar un montón de dependencias que incluyen varios módulos de perl y paquetes de archivos. Si todo ha ido bien, dos nuevos usuarios, amavis y clamav deberían haber sido instalados en el sistema:

 

# Cat / etc / passwd | grep "amavis \ | clamav"
clamav: x: 101:102: Almeja Antivirus Checker :/ var / clamav :/ sbin / nologin
amavis: x: 102:103: Amavis correo electrónico del usuario exploración :/ var / amavis :/ bin / sh

Además, el usuario debe clamav automáticamente se han añadido al grupo amavis:

 

# grupos ClamAV
clamav amavis: clamav

Si no, usted puede agregar manualmente clamav al grupo amavis:

 

gpasswd-a clamav amavis

Por último, tres nuevos servicios deberían haber sido añadido al sistema

 

# Chkconfig - list | grep "amavisd \ | clamd \ | spamassassin"
amavisd 0: desactivado 1: off 2: el día 3: el 4: on 5: on 6: off
clamd 0: desactivado 1: off 2: el día 3: el 4: on 5: on 6: off
spamassassin 0: desactivado 1: off 2: off 3: en el terreno 4: off 5: off 6: off

El servicio spamassassin, que comienza spamd, puede ser desactivado como Amavisd nuevo no utiliza realmente el demonio de spamassassin (spamd) sino cargas spamassassin como módulo.

 

3. Configuración

SpamAssassin en realidad no requiere ninguna configuración especial para trabajar con Amavisd-nuevo y va a trabajar fuera de la caja. Esto no significa que usted no puede configurarlo a través de / etc / mail / spamassassin / local.cf , o sus propias cf-archivos en ese directorio.

 

3.1. ClamAV

Configuración de ClamAV se almacena en / etc / clamd.conf. Tenemos que editar el archivo / etc / clamd.conf para decirle que ClamAV-Amavisd nueva se comunicará mediante un socket UNIX local en lugar de un socket TCP, y dónde encontrar ese socket. Edite la configuración LocalSocket y comente la TCPSocket de este modo:

 

# # # / Etc / clamd.conf
#
# Establezca el LocalSocket de almeja
# Tenga en cuenta este * DEBE * partido que puso en / etc / amavisd.conf
#
LocalSocket / var / run / clamav / clamd.sock
#
# Comente la configuración TCPSocket:
# TCPSocket 3310

 

3.2. Amavisd-new

Amavisd-new mantiene su configuración de configuración en / etc / amavisd.conf.

Debido a la potencia y flexibilidad de Amavisd-nueva, en realidad hay mucho que ver, así que vamos a cubrir algunos de los ajustes más importantes unos pocos a la vez.

En primer lugar, podemos desactivar cualquiera de los virus o de cheques de spam eliminando el comentario de las siguientes líneas (por defecto, tanto el virus y el spam se habilita la comprobación de que las líneas están comentadas):

 

# # # / Etc / amavisd.conf:
#
# Para desactivar los controles de virus o spam, descomentar la siguiente:
#
# @ Bypass_virus_checks_maps = (1); controles # ejecutan de código anti-virus
# @ Bypass_spam_checks_maps = (1); controles # ejecutan de código anti-spam
# $ Bypass_decode_parts = 1; controles # ejecutan de decodificadores y dearchivers

A continuación, tenga en cuenta que las siguientes líneas, aunque no se requiere un cambio:

 

$ max_servers = 2; # num de los niños pre-bifurcadas (2 .. 30 es común),-m
$ Daemon_user = "amavis"; # (sin defecto; habitual: vscan o amavis),-u
$ Daemon_group = "amavis"; # (sin defecto; habitual: vscan o amavis),-g
...
$ Inet_socket_port = 10024; # escuchan en este puerto TCP local (s)
...
# $ Notify_method = 'smtp: [127.0.0.1]: 10025';
# $ Forward_method = 'smtp: [127.0.0.1]: 10025'; # establece en UNDEF con milter!

$ Max_servers define el número de procesos de amavisd-new concurrentes y debe coincidir con el número configurado en / / postfix / master.cf columna etc “maxproc” para el servicio amavisfeed (ver configuración de Postfix más abajo).

$ Daemon_user y $ daemon_group deben coincidir con el usuario y grupo, respectivamente, en virtud del cual Amavisd recién se ejecutará.

$ Inet_socket_port define el puerto TCP a través de la cual-Amavisd nueva aceptará conexiones de Postfix.

$ Notify_method y $ forward_method definen la trayectoria de reinyección de correo de Amavisd nuevo de nuevo en Postfix.

Los siguientes ajustes deben ser editados (en el caso de $ mydomain y $ myhostname) y sin comentarios (quite el líder #):

 

$ Mydomain = 'example.com'; # Editar: un defecto conveniente para otros ajustes
$ MYHOME = '/ var / amavis'; # Quitar: un defecto conveniente para otros entornos,-H
$ Helpers_home = "$ MYHOME / var"; # Quitar: directorio de trabajo para SpamAssassin,-S
$ Lock_file = "$ MYHOME / var / amavisd.lock"; # Quitar, L-
$ Pid_file = "$ MYHOME / var / amavisd.pid"; # Quitar,-P
$ Myhostname = 'mail.example.com'; # Quitar y Editar: debe ser un nombre de dominio completo!

Lo siguiente son algunos ajustes de SpamAssassin que invalidan la configuración de SpamAssassin por defecto:

 

$ Sa_tag_level_deflt = 2,0; # añade cabeceras de información de spam si en, o por encima de ese nivel
$ Sa_tag2_level_deflt = 6,2; # add 'de spam detectado' cabeceras de ese nivel
$ Sa_kill_level_deflt = 6,9; # desencadena acciones evasivas de spam (por ejemplo, bloques de correo)
Nivel de spam # más allá del cual un DSN no se envía, $ sa_dsn_cutoff_level = 10
# $ Sa_quarantine_cutoff_level = 25, el nivel de spam # más allá del cual la cuarentena está apagado
$ Penpals_bonus_score = 8; # (sin efecto, sin una base de datos @ storage_sql_dsn)
$ Penpals_threshold_high = $ sa_kill_level_deflt; # no pierden tiempo en hi correo no deseado
$ Sa_mail_body_size_limit = 400 * 1024; # no pierdas el tiempo en SA si el correo es más grande
$ Sa_local_tests_only = 0; # únicas pruebas que no requieren acceso a Internet?

Ninguno de ellos necesita ser cambiado, pero vale la pena ser conscientes de ellos, ya que es el lugar más conveniente para ajustar los umbrales de spam.

$ Sa_tag_level_deflt es el nivel en el que Amavisd nuevo escribirá Spam Información de encabezados tales como X-Spam-Flag, X-Spam-Score y X-Spam-Status. Si usted desea siempre como información de cabecera que se escriben en todos los mensajes, establezca este valor a -999.

$ Sa_tag2_level_deflt establece el nivel en el que el spam se etiqueta en la línea de asunto del mensaje.

$ Sa_kill_level_deflt ajusta el nivel en el que Amavisd nuevo bloqueará el mensaje y ponerlo en cuarentena. Esto es útil como SpamAssassin no hace esto por defecto.

$ Sa_dsn_cutoff_level es el nivel en el que los avisos de fallo de suministro ya no se envían al remitente. Como la mayoría de las direcciones de remitentes de spam se forjan todos modos, tiene sentido de no enviar los avisos de fallo en respuesta al spam obvio, ya que sólo está contribuyendo al problema de retrodispersión.

$ Sa_quarantine_cutoff_level es el nivel en el que el spam ni siquiera está en cuarentena. Por defecto está comentada que significa todo el spam será puesto en cuarentena.

Lo siguiente son algunas direcciones de correo electrónico para las notificaciones que se enviarán:

 

$ Virus_admin = "virusalert \ @ $ mydomain"; # notificaciones recip.
$ Mailfrom_notify_admin = "virusalert \ @ $ mydomain"; # notificaciones remitente
$ Mailfrom_notify_recip = "virusalert \ @ $ mydomain"; # notificaciones remitente
$ Mailfrom_notify_spamadmin = "spam.police \ @ $ mydomain"; # notificaciones remitente

Es probable que desee para configurar estos para “postmaster \ @ $ mydomain” o alguna otra dirección que prefiere recibir notificaciones de mensajes basura.

Por último, tenemos que descomentar la sección de ClamAV, así:

 

# # # Http://www.clamav.net/
['ClamAV-clamd',
  \ & Ask_daemon, ["CONTSCAN {} \ n", "/ var / run / clamav / clamd.sock"],
  qr / \ bOK $ /, qr / \ bFOUND $ /,
  qr / ^ *:.? (. *) (?! Infected Archivo) $ ENCONTRADOS /],
# # NOTA: ejecutar clamd bajo el mismo usuario que amavisd, o bien puede hacerlo por su propio
# # UID como clamav, añadir clamav usuario al grupo amavis y agregue
# # AllowSupplementaryGroups a clamd.conf;
# # NOTA: match nombre de socket (LocalSocket) en clamav.conf al nombre de socket en
# # Esta entrada; cuando se ejecuta un chroot puede preferir socket "$ MYHOME / clamd".

Tenga en cuenta que el ajuste “/ var / run / clamav / clamd.sock” debe coincidir con el “LocalSocket / var / run / clamav / clamd.sock” hicimos antes en / etc / clamd.conf.

 

3.3. Sufijo

Lo siguiente que necesitamos para configurar los servicios de Postfix (/ etc / postfix / master.cf) para permitir que el correo que se pasa a Amavisd nuevo para el filtrado y luego reinyectada de nuevo en Postfix.

Primero vamos a configurar el servicio de amavisd-new para aceptar correo de Postfix. Soportes amavisd-new tanto lmtp y smtp, y en este caso hemos optado por utilizar el protocolo lmtp. (FIXME: No estoy al tanto de las razones para la elección de un protocolo sobre el otro de modo seleccionado para usar lmtp sobre la base de que tener entrega local a Amavisd-nuevo espectáculo en los registros como “lmtp” hace que los archivos de registro de algo más fácil de leer).

Abrir / etc / postfix / master.cf y añada el siguiente servicio llamado “amavisfeed”:

 

# ================================================= =========================
# Tipo de servicio unpriv privado chroot comando maxproc wakeup + args
# (Sí) (Sí) (Sí) (nunca) (100)
# ================================================= =========================
amavisfeed unix - n - 2 lmtp
    -O lmtp_data_done_timeout = 1200
    -O lmtp_send_xforward_command = sí
    -O disable_dns_lookups = sí
    -O max_use = 20

Tenga en cuenta que el número (2) en la columna “maxproc” debe coincidir con los $ max_servers configuración en / etc / amavisd.conf. Para una descripción detallada de las opciones, consulte la Amavisd-nueva documentación (/ usr/share/doc/amavisd-new-2.5.4/README.postfix.html).

Entonces tenemos que definir un servicio dedicado a reinyectar correo nuevo en Postfix. Para ello se le suma un servicio smtp que escucha en localhost (127.0.0.1) 10025 puerto tcp (la configuración en / etc / amavisd.conf predeterminado) a / etc / postfix / master.cf:

 

# ================================================= =========================
# Tipo de servicio unpriv privado chroot comando maxproc wakeup + args
# (Sí) (Sí) (Sí) (nunca) (100)
# ================================================= =========================
127.0.0.1:10025 inet n - n - smtpd
    -O content_filter =
    -O smtpd_delay_reject = sin
    -O smtpd_client_restrictions = permit_mynetworks, rechazar
    -O smtpd_helo_restrictions =
    -O smtpd_sender_restrictions =
    -O smtpd_recipient_restrictions = permit_mynetworks, rechazar
    -O smtpd_data_restrictions = reject_unauth_pipelining
    -O smtpd_end_of_data_restrictions =
    -O smtpd_restriction_classes =
    -O mynetworks = 127.0.0.0 / 8
    -O smtpd_error_sleep_time = 0
    -O smtpd_soft_error_limit = 1,001
    -O smtpd_hard_error_limit = 1,000
    -O smtpd_client_connection_count_limit = 0
    -O smtpd_client_connection_rate_limit = 0
    -O receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters,no_address_mappings
    -O local_header_rewrite_clients =
    -O smtpd_milters =
    -O local_recipient_maps =
    -O relay_recipient_maps =

Para una descripción detallada de las opciones, consulte la Amavisd-nueva documentación (/ usr/share/doc/amavisd-new-2.5.4/README.postfix.html).

Después de realizar cambios en / etc / postfix / master.cf, debemos postfix reload para que los cambios surtan efecto:

 

Postfix reload

En este punto podría ser prudente para probar los Amavisd-nuevos y Postfix demonios están escuchando correctamente (consulte la sección Pruebas de abajo).

Una vez que todo está en su lugar y funcionando, el paso final es permitir el filtrado de mensajes en Postfix, añadiendo la siguiente configuración a / etc / postfix / main.cf:

 

content_filter = amavisfeed: [127.0.0.1]: 10024

y postfix reload para que los cambios surtan efecto:

 

Postfix reload

y ver sus registros de los correos.

 

tail-f / var / log / maillog

 

3.4. Otro de MTA

-Amavisd nuevo se puede configurar con otros MTA además Postfix. Docs README para otro MTA se pueden encontrar aquí:

https://www.ijs.si/software/amavisd/ # doc

Si alguien desea contribuir sección acerca de la configuración de otros MTA que no vean la de cómo contribuir página aquí:

https://wiki.centos.org/HowToContribute

 

4. Pruebas

Ahora sería un buen momento para probar que los servicios que hemos definido están funcionando como se esperaba.

En primer lugar, iniciar los servicios clamd y amavisd:

 

# Service inicio clamd
A partir Clam AntiVirus Daemon: [OK]
# Service inicio amavisd
A partir del escáner de virus de correo (amavisd): [OK]

Ahora compruebe que el servicio amavisd está escuchando en 127.0.0.1:10024 mediante Telnet:

 

$ Telnet localhost 10024
Tratando 127.0.0.1 ...
Conectado a localhost.localdomain (127.0.0.1).
Carácter de escape es '^]'.
220 [127.0.0.1] ESMTP servicio amavisd-new listo
ehlo localhost
250 - [127.0.0.1]
250-VRFY
250-PIPELINING
250 TAMAÑO
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 XFORWARD NOMBRE DIRECCIÓN PROTO HELO
dejar de
221 2.0.0 [127.0.0.1] canal de transmisión de cierre amavisd-new
Conexión cerrada por el host externo.

Si todo funciona, entonces usted debe ver una conexión con éxito similar al anterior.

Siguiente para probar la smtpd Postfix está escuchando en 127.0.0.1:10025:

 

$ Telnet localhost 10025
Tratando 127.0.0.1 ...
Conectado a localhost.localdomain (127.0.0.1).
Carácter de escape es '^]'.
220 mail.example.com ESMTP Postfix
ehlo localhost
250-mail.example.com
250-PIPELINING
250 TAMAÑO 20.480.000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
dejar de
221 2.0.0 Adiós
Conexión cerrada por el host externo.

Una vez más hay que ver una conexión correcta, como se muestra arriba. Ahora podemos probar si todo funciona mediante el envío de cadenas especiales para probar el escaneo.

GTUBE (prueba genérica de email no solicitado masivo) de cadena para las pruebas de SpamAssassin .

EICAR cadena para probar ClamAV.

Cambie el directorio a / usr/share/doc/amavisd-new-2.5.4/test-messages, y ejecute:

 

perl-pe '. s / / chr (ord ($ &) ^ 255) / sge' <sample.tar.gz.compl | zcat | tar xvf -

para extraer los mensajes de prueba de muestra. Utilice estos dos comandos para enviar un mensaje de spam y virus muestra a través de:

 

$ Sendmail-i your-address@example.com <sample-virus-simple.txt
$ Sendmail-i your-address@example.com <muestra-Spam GTUBE-junk.txt

Sustituya ” your-address@example.com “con su dirección actual. Revise su registro de correo (por ejemplo, / var / log / maillog) para el resultado de la exploración de amavis y usted debería ver algo como “spam Aprobado” o “Bloqueado INFECTADOS (EICAR-Test-firma)”. Ahora puede comprobar la configuración coinciden con las expectativas de entrega.

 

5. SELinux

/! \Hay una solución a los problemas de SELinux es utilizar temporalmente permisiva en vez de hacer cumplir el modo en  / etc / selinux / config  . Este enfoque tiene la ventaja añadida de la colocación de la información necesaria en los registros de auditoría de SELinux, que se pueden encontrar en / var / log / audit / . Para obtener más información, consulte este artículo acerca de SELinux

Cuando SELinux está habilitado y en modalidad de imposición, se requieren algunas políticas adicionales para amavisd y ClamAV. Los siguientes módulos de políticas de SELinux se determinaron mediante la ejecución del / ClamAV / amavisd SpamAssassinconfiguración descrita en este documento en CentOS 5 (totalmente actualizado) con SELinux en modo permisivo y corriendo a través de los registros de errores AVC audit2allow como se describe en el HowTo SELinux .

Vamos a crear dos módulos personalizados SELinux políticas, amavisdlocal y clamlocal para amavisd y ClamAV, respectivamente ( SpamAssassin no requiere una política SELinux personalizado). Corte y pegue el siguiente código y guardar en amavisdlocal.te y clamlocal.te, respectivamente:

 

 
módulo de amavisdlocal 1,0;

requerir {
        escriba traceroute_port_t;
        escriba pgpkeyserver_port_t;
        escriba amavis_var_lib_t;
        escriba amavis_t;
        escriba clockspeed_port_t;
        name_bind clase udp_socket;
        clase lnk_file {lea crear getattr unlink};
}

# ============= Amavis_t ==============
permitir amavis_t clockspeed_port_t: udp_socket name_bind;
permitir amavis_t pgpkeyserver_port_t: udp_socket name_bind;
permitir amavis_t traceroute_port_t: udp_socket name_bind;
permitir amavis_var_lib_t amavis_t: lnk_file {lea crear getattr unlink};

 

 
módulo clamlocal 1,0;

requerir {
        escriba proc_t;
        escriba var_t;
        escriba sysctl_kernel_t;
        escriba clamd_t;
        archivo de clase {leer getattr};
        clase dir {lea búsqueda};
}

# ============= Clamd_t ==============
permitir proc_t clamd_t: Archivo {leer getattr};
permitir clamd_t sysctl_kernel_t: buscar dir;
permite sysctl_kernel_t clamd_t: file leer;
permitir var_t clamd_t: dir leer;
permitir var_t clamd_t: Archivo {leer getattr};

Ahora construir y cargar el módulo amavisdlocal:

 

# Checkmodule-M-m-o amavisdlocal.mod amavisdlocal.te
checkmodule: configuración de la política de carga de amavisdlocal.te
checkmodule: configuración de política cargado
checkmodule: escritura representación binaria (versión 6) para amavisdlocal.mod
# Semodule_package-O-amavisdlocal.pp m amavisdlocal.mod
# Semodule-i amavisdlocal.pp

y repita para clamlocal:

 

# Checkmodule-M-m-o clamlocal.mod clamlocal.te
checkmodule: configuración de la política de carga de clamlocal.te
checkmodule: configuración de política cargado
checkmodule: escritura representación binaria (versión 6) para clamlocal.mod
# Semodule_package-O-clamlocal.pp m clamlocal.mod
#-Semodule i clamlocal.pp

Por último, comprobar que nuestros módulos de políticas de SELinux costumbre locales se cargan:

 

# Semodule-L
amavis 1.1.0
amavisdlocal 1.0
ccs 1.0.0
1.1.0 clamav
clamlocal 1.0
dcc 1.1.0
evolución 1.1.0
iscsid 1.0.0
mozilla 1.1.0
mplayer 1.1.0
Nagios 1.1.0
Oddjob 1.0.1
pcscd 1.0.0
postgrey 1.0
pyzor 1.1.0
1.1.0 afeitar
1.0.0 ricci
SmartMon 1.1.0

 

5.1. CentOS 6

Para CentOS 6, se requieren pasos adicionales. Gracias a Harald Oehlmann en https://lists.centos.org/pipermail/centos-docs/2012-October/004994.html

Amavis está almacenando el cuerpo del mensaje y todos los archivos adjuntos (subcarpeta “partes”) en una subcarpeta de “/ var / amavis / tmp”. El escáner de virus esel escaneo de los archivos y escribe su resultado en los archivos de esta carpeta.

Acción escáner de virus en esta carpeta es detenido por SELinux, lo que resulta en errores como “(!) run_av (ClamAV-clamscan) falló” en “/ var / log / mail”.

Haga lo siguiente para permitir que esta interfaz con clam-av:

 

- Se_clamav_amavis te. -
# *** Hao 2012-09-30: añadir regla para permitir clamav para acceder AMaViS archivos
# Y escribe de nuevo ok file y puede crear la carpeta temp
módulo de clamscanamavis 1,0;
requerir {
        escriba clamscan_t;
        escriba amavis_var_lib_t;
        archivo de clase {getattr leer escritura abierta crear unlink};
        escritura clase dir {búsqueda leer getattr abierta add_name crear
setattr remove_name rmdir};
}
permitir clamscan_t amavis_var_lib_t: Archivo {getattr leer escritura abierta crear
desvincular};
permiten clamscan_t amavis_var_lib_t: dir {búsqueda leyó escritura getattr abierta
add_name crear setattr remove_name rmdir};

Y luego

checkmodule-M-m-o se_clamav_amavis.mod se_clamav_amavis.te
semodule_package-O-se_clamav_amavis.pp m se_clamav_amavis.mod
semodule-i se_clamav_amavis.pp

 

 

6. Actualización

 

6.1. SpamAssassin

El spam está cambiando rápidamente, y las nuevas reglas se escriben a menudo en respuesta. Con sa-update, esas reglas pueden rápidamente (potencialmente en cuestión de minutos) se distribuirán y el nuevo spam atrapados. Por favor, lea sobre sa-actualización antes de continuar. Para activar las actualizaciones automáticas, abra el archivo / etc / cron.d / sa-actualización en su editor favorito y descomentar la línea cron para que se vea así:

 

10 4 *** root / usr / share / spamassassin / sa-update.cron 2> & 1 | tee-a / var / log / sa-update.log

Guardar y salir. Este trabajo cron se ejecutará a las 4:10 AM todos los días.

 

6.2. ClamAV

ClamAV utiliza freshclam para actualizar las definiciones de virus. Se actualizan automáticamente con el archivo etc / cron.daily / freshclam script / cron. No hay acciones necesitan ser tomadas. Usted puede verificar que las actualizaciones se están completando al mirar en su archivo / var / log / clamav / freshclam.log registro.

Postfix SASL relayhost

Postfix SASL relayhost

 

1. Introducción

Esta guía está diseñada para complementar la base guía de postfix . Está escrito para CentOS 5. Configuración diferirá para CentOS 6.

 

2. ¿Qué es SASL y qué lo necesito?

SASL (Capa de autenticación y seguridad) proporciona un mecanismo de autenticación de los usuarios usando su nombre de usuario y contraseña. Probablemente la aplicación más conocida de SASL es proporcionado por la biblioteca SASL de Cyrus.

Si su ISP bloquea el puerto 25 conexiones y requiere que autenticarse para enviar correo electrónico, tendrá que configurar SASL.

 

3. ¿Qué pasa con SSL / TLS?

Así SASL es capaz de proporcionar un mecanismo para autenticar usuarios remotos por nombre de usuario y la contraseña que deseen enviar correo a través del servidor de correo. Tenemos el problema de que estos mecanismos están enviando los nombres de usuario y contraseñas en texto plano a través de Internet (SASL soporta varios métodos de autenticación cifrados como DIGEST-MD5, pero estos no siempre son universalmente compatible con el software cliente de correo electrónico). Esto plantea un riesgo para la seguridad como cualquiera potencialmente puede interceptar esta información y robar datos de acceso por lo que necesitamos para cifrar la conexión. SSL (Secure Sockets Layer), y más recientemente TLS (Transport Layer Security), ofrecen un mecanismo para cifrar las comunicaciones entre dos hosts, en nuestro caso, nuestro servidor de correo y nuestro cliente remoto. SSL ha sido renombrado como TLS por la IETF partir de la versión 3.1.

 

4. Configuración stunnel para conexiones SSL

Lo primero es instalar y configurar stunnel. En este ejemplo vamos a utilizar outbound.att.net y el puerto 465. Sustituya estos valores por los valores de su ISP.

 

yum-y install telnet stunnel
cat >> / etc / stunnel / stunnel.conf << EoT
[Smtps]
accept = 10465
client = sí
connect = outbound.att.net: 465
EoT
wget-O / etc / init.d / stunnel https://bugzilla.redhat.com/attachment.cgi?id=325164
chmod 755 / etc / init.d / stunnel
chkconfig stunnel sucesivamente; servicio de inicio stunnel

Prueba de que la conexión stunnel está trabajando con una conexión telnet.

 

$ Telnet localhost 10465
Tratando 127.0.0.1 ...
Conectado a localhost.localdomain (127.0.0.1).
Carácter de escape es '^]'.
220 outbound.att.net ESMTP listo
$ Renunciar
221 2.0.0 Adiós
Conexión cerrada por el host externo.

 

5. Configuración de SASL en Postfix

El primer paso es crear los archivos con sus credenciales para el ISP.

 

echo "[127.0.0.1]: 10465 MyUserName@att.net: secretpassword" >> / etc / postfix / relay_creds
postmap / etc / postfix / relay_creds
chmod go-rwx / etc / postfix / relay_creds *

El segundo paso consiste en agregar nuevo valor al archivo main.cf de postfix.

cat >> / etc / postfix / main.cf << EoT

# Añade a habilitar el soporte SASL para relayhost
relayhost = [127.0.0.1]: 10465
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = sí
smtp_sasl_password_maps = picadillo :/ etc / postfix / relay_creds
smtp_sasl_security_options = noanonymous
smtp_use_tls = sí
smtp_cname_overrides_servername = no
smtp_sasl_mechanism_filter = normal, inicio de sesión
EoT
servicio postfix reload

 

6. Prueba de entrega

SASL está configurado y correo electrónico debe ser enrutado a través de la relayhost. Compruebe / var / log / maillog si hay errores. Si es necesario actualizar las credenciales, asegúrese de ejecutar “postmap / etc / postfix / relay_creds” y “postfix reload servicio”.

Si usted recibe un error acerca de correo electrónico que se envía desde un usuario desconocido, puede que tenga que enviar todo el correo electrónico de la dirección de correo electrónico de la cuenta de su ISP. En este ejemplo, reemplace la dirección de correo electrónico con la proporcionada por su ISP.

 

echo '/. * / MyUserName@att.net' >> / etc / postfix / sender_canonical
postmap / etc / postfix / sender_canonical
echo 'sender_canonical_maps = regexp :/ etc / postfix / sender_canonical' >> / etc / postfix / main.cf
servicio postfix reload

Postfix SASL relayhost

Postfix SASL relayhost

 

1. Introduction

This guide is designed to compliment the basic postfix guide. It is written for CentOS 5. Configuration will differ for CentOS 6.

 

2. What is SASL and do I need it?

SASL (Simple Authentication and Security Layer) provides a mechanism of authenticating users using their username and password. Probably the most well known implementation of SASL is provided by the Cyrus SASL library.

If your ISP blocks port 25 connections and requires you to authenticate to send email, you will need to configure SASL.

 

3. What about SSL/TLS?

So SASL is able to provide a mechanism to authenticate remote users by username and password who wish to send mail through the mail server. We have a problem in that these mechanisms are sending usernames and passwords in plain text across the Internet (SASL does support various encrypted authentication methods such as DIGEST-MD5 but these aren’t always universally supported by email client software). This poses a security risk as anyone can potentially intercept this information and steal login details so we need to encrypt the connection. SSL (Secure Sockets Layer), and more recently TLS (Transport Layer Security), offer a mechanism to encrypt communications between two hosts, in our case our mail server and our remote client. SSL was renamed TLS by the IETF as of version 3.1.

 

4. Configuring stunnel for SSL connections

Start by installing and configuring stunnel. In this example we will use outbound.att.net and port 465. Replace these values with your ISP’s values.

 

yum -y install stunnel telnet
cat >> /etc/stunnel/stunnel.conf <<EoT
[smtps]
accept  = 10465
client = yes
connect = outbound.att.net:465
EoT
wget -O /etc/init.d/stunnel https://bugzilla.redhat.com/attachment.cgi?id=325164
chmod 755 /etc/init.d/stunnel
chkconfig stunnel on; service stunnel start

Test that the stunnel connection is working with a telnet connection.

 

$ telnet localhost 10465
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 outbound.att.net ESMTP ready
$ quit
221 2.0.0 Bye
Connection closed by foreign host.

 

5. Configuring SASL in postfix

The first step is to create the files with your credentials for the ISP.

 

echo "[127.0.0.1]:10465  MyUserName@att.net:SecretPassword" >> /etc/postfix/relay_creds
postmap /etc/postfix/relay_creds
chmod go-rwx /etc/postfix/relay_creds*

The second step is to add new setting to the postfix main.cf file.

cat >> /etc/postfix/main.cf <<EoT

#added to enable SASL support for relayhost
relayhost = [127.0.0.1]:10465
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_creds
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_cname_overrides_servername = no
smtp_sasl_mechanism_filter = plain, login
EoT
service postfix reload

 

6. Test for Delivery

SASL is configured and email should be routed through the relayhost. Check /var/log/maillog if there are errors. If you need to update the credentials, be sure to run “postmap /etc/postfix/relay_creds” and “service postfix reload”.

If you get an error about email being sent from an unknown user, you may need to send all email from the email address of your ISP’s account. In this example, replace the email address with the one provided by your ISP.

 

echo '/.*/ MyUserName@att.net' >> /etc/postfix/sender_canonical
postmap /etc/postfix/sender_canonical
echo 'sender_canonical_maps = regexp:/etc/postfix/sender_canonical' >> /etc/postfix/main.cf
service postfix reload

Postfix / SASL palomar y guía de SSL / TLS

Postfix / SASL palomar y guía de SSL / TLS

1. Introducción

Esta guía está diseñada para complementar la base guía de postfix . Está escrito para CentOS 5. Configuración diferirá para CentOS 6.

 

2. ¿Qué es SASL y qué lo necesito?

Por defecto, Postfix utiliza el parámetro $ mynetworks para controlar el acceso, es decir, que puede enviar o retransmitir correo a través del servidor de correo. No hay ninguna otra autenticación realizada aparte de comprobar que la dirección IP del usuario que intenta enviar correo forma parte de una red de confianza como se especifica en $ mynetworks.

Si sólo se está implementando un servidor de correo donde todos los usuarios se basan en la misma red, entonces es poco probable que usted tendrá que usar SASL o SSL / TLS. Sin embargo, si hay usuarios de móviles que deseen utilizar el servidor de correo, mientras que fuera de la base, necesitamos un mecanismo para autenticar ellos como usuarios de confianza para que sean capaces de enviar correo a través del servidor de correo.

SASL (Capa de autenticación y seguridad) proporciona un mecanismo de autenticación de los usuarios usando su nombre de usuario y contraseña. Probablemente la aplicación más conocida de SASL es proporcionado por la biblioteca SASL de Cyrus, pero palomar también tiene su propia implementación SASL incorporada, y como ya estamos quedando palomar bien podemos utilizarlo para SASL en lugar de tener que instalar y configurar otro paquete.

 

3. ¿Qué pasa con SSL / TLS?

Así SASL es capaz de proporcionar un mecanismo para autenticar usuarios remotos por nombre de usuario y la contraseña que deseen enviar correo a través del servidor de correo. Además, los usuarios remotos pueden recuperar el correo a través de IMAP y / o mecanismos de POP3 proporcionadas por palomar. Sin embargo, tenemos el problema de que estos mecanismos están enviando los nombres de usuario y contraseñas en texto plano a través de Internet (SASL soporta varios métodos de autenticación cifrados como DIGEST-MD5, pero estos no siempre son universalmente compatible con el software cliente de correo electrónico). Esto plantea un riesgo para la seguridad como cualquiera potencialmente puede interceptar esta información y robar datos de acceso por lo que necesitamos para cifrar la conexión. SSL (Secure Sockets Layer), y más recientemente TLS (Transport Layer Security), ofrecen un mecanismo para cifrar las comunicaciones entre dos hosts, en nuestro caso, nuestro servidor de correo y nuestro cliente remoto. SSL ha sido renombrado como TLS por la IETF partir de la versión 3.1.

 

4. Configuración de SASL en Postfix

Para configurar SASL en Postfix, tenemos que hacer las siguientes adiciones a / etc / postfix / main.cf:

 

smtpd_sasl_auth_enable = sí
broken_sasl_auth_clients = sí
smtpd_sasl_type = palomar
smtpd_sasl_path = private / auth
smtpd_sasl_security_options = noanonymous

y añade permit_sasl_authenticated a nuestra sección de smtpd_recipient_restrictions de / etc / postfix / main.cf (si usted no tiene una sección smtpd_recipient_restrictions, entonces el siguiente ejemplo funciona bien):

 

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination

Lo siguiente que necesitamos para configurar autenticación predeterminado en la sección Autenticación de / etc / dovecot.conf procesa. Elimine el comentario y / o añadir las siguientes líneas como sea necesario (tenga cuidado ya que esta sección es muy comentados, ya existen algunas entradas, otros están comentadas y necesitan uncommenting como socket de escucha):

 

auth default {
    mecanismos = plain login
    passdb pam {
    }
    userdb passwd {
    }
    user = root
    socket escuchan {
      cliente {
        path = / var / spool / postfix / private / auth
        mode = 0660
        user = sufijo
        grupo = sufijo
      }
    }
}

Reinicie palomar y vuelva a cargar opción de configuración de postfix:

 

servicio restart palomar
Postfix reload

/! \Nota: Para CentOS 6, que utiliza 2.x palomar, ver aquí: https://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL

 

5. Pruebas SASL

Ahora tenemos SASL configurado tenemos que probar que funciona correctamente. A los efectos de las pruebas y / o de seguridad locales, sino que también puede ser útil para restringir $ mynetworks sólo para permitir 127.0.0.0 / 8 para que podamos cumplir la autenticación SASL, de lo contrario la retransmisión desde clientes locales configurados incorrectamente todavía esté permitido por la permit_mynetworks ajuste en smtpd_recipient_restrictions.

/! \Nota: ‘trabajo muy duro’ En los siguientes párrafos. Barcos CentOS una herramienta específica, dentro de un openssl opción para probar esto y mucho más. Ver: hombre s_client que se discute aquí por un enfoque más simple.

Podemos telnet en el servidor e intentar la autenticación utilizando nuestro nombre de usuario y contraseña. Sin embargo, nuestro nombre de usuario y la contraseña deben ser codificados en Base64 (Nota: nuestro nombre de usuario y la contraseña está codificada y no codificada, y es trivial para descifrar lo que no es seguro en esta etapa). Una cadena Base64 codificado de nuestro nombre de usuario y la contraseña se puede generar utilizando perl como se muestra a continuación (yo usé el usuario ‘test’ con la contraseña ‘test1234’ en este ejemplo)

 

$ Perl-MMIME :: Base64-e 'encode_base64 print ("\ 000test \ 000test1234");'
AHRlc3QAdGVzdDEyMzQ =

Como referencia, nuestra cadena Base64 codificado puede ser decodificado con:

 

$ Perl-MMIME :: Base64-e 'decode_base64 print ("AHRlc3QAdGVzdDEyMzQ =");'
testtest1234

Para aquellos que no cuentan con perl, hay un codificador Base64 en línea disponible aquí .

Usando nuestra cadena Base64 codificado para probar la autenticación:

 

$ Telnet localhost 25
Tratando 127.0.0.1 ...
Conectado a localhost.localdomain (127.0.0.1).
Carácter de escape es '^]'.
220 mail.example.com ESMTP Postfix
EHLO example.com
250-mail.example.com
250-PIPELINING
250 TAMAÑO 20.480.000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH = PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH LLANO AHRlc3QAdGVzdDEyMzQ =
235 2.0.0 autenticación exitosa
dejar de
221 2.0.0 Adiós
Conexión cerrada por el host externo.

Si todo funciona, deberíamos ver AUTH LOGIN LLANO (y AUTH = PLAIN LOGIN) indicando que auth smtp está siendo ofrecido por el servidor de correo y que debe entonces ser capaz de autenticar con éxito utilizando nuestro nombre de usuario y contraseña Base64 codificado.

Ahora podemos configurar nuestros clientes de correo electrónico para utilizar la autenticación (nombre de usuario y contraseña) al enviar el correo.

Thunderbird: Editar> Configuración de la cuenta y seleccione Servidor de correo saliente (SMTP) en el panel de la izquierda. Seleccione el servidor SMTP y haga clic en Editar, y en la sección de Seguridad y autenticación, marque “Usar nombre y contraseña” e introduzca su nombre de usuario.

Outlook Express: Herramientas> Cuentas> pestaña Correo> seleccione una cuenta y haga clic en Propiedades. A continuación, en la ficha Servidores, en Servidor de correo saliente, marque “Mi servidor requiere autenticación”.

Si vamos a enviar un mensaje de prueba y la cola nuestra maillog, suponiendo que todo está funcionando, ahora deberíamos ver nuestro cliente de correo electrónico autenticado mediante SASL:

 

tail-f / var / log / maillog
18 de marzo 13:25:56 correo postfix / smtpd [22400]: connect from electrónico [127.0.0.1]
18 de marzo 13:26:02 correo postfix / smtpd [22400]: 105892006E: client = electrónico [127.0.0.1], sasl_method = ESTÁNDAR, sasl_username = ned
18 de marzo 13:26:02 correo postfix / limpieza [22404]: 105892006E: message-id = <47DFC2E4.30402 @ example.com>
18 de marzo 13:26:02 correo postfix / qmgr [22338]: 105892006E: from = <ned@example.com>, size = 518, nrcpt = 2 (cola activa)
18 de marzo 13:26:02 correo postfix / smtpd [22400]: desconexión de correo [127.0.0.1]
18 de marzo 13:26:02 de correo postfix / local [22405]: 105892006E: a = <ned@example.com>, relay = local, delay = 0,26;
       demoras = 0.11/0.02/0/0.14, dsn = 2.0.0, status = enviado (entregado a maildir)
18 de marzo 13:26:06 correo postfix / qmgr [22338]: 105892006E: eliminado

 

6. La generación de los certificados SSL

Antes de poder utilizar SSL o TLS para cifrar nuestra conexión, hay que generar primero los certificados SSL que se utilizará para identificar el servidor y establecer el protocolo de cifrado. Certificados SSL constan de un par de claves pública y privada, y puede ser autofirmado o firmado por una autoridad de certificación raíz de confianza. Usted puede obtener libremente certificados firmados de CAcert y hay un guía disponible aquí . Sin embargo, por desgracia CAcert actualmente no está incluido como una autoridad de certificación raíz de confianza en la mayoría de los navegadores web más populares, clientes de correo electrónico y los sistemas operativos, por lo que el beneficio de la obtención de un certificado firmado CAcert se disminuyó un poco, ya que no será automáticamente aceptado como de confianza en muchos sistemas. Ya sea que utilice certificados o certificados firmados por una autoridad de certificación raíz de confianza con firma dependerá de la intención de uso de su servidor – si los usuarios confían en usted, entonces los certificados con firma bien pueden ser perfectamente aceptable para usted.

Hay muchas maneras de generar los certificados SSL usando OpenSSL. Puede usar openssl directamente o utilizar uno de los scripts suministrados como / etc / pki / tls / misc / o CA / usr/share/doc/dovecot-1.0/examples/mkcert.sh. Sin embargo, quizás el método más fácil para los nuevos usuarios de openssl es utilizar genkey y siga las instrucciones en pantalla.

Genkey es parte del paquete crypto-utils y se puede instalar y ejecutar desde la línea de comando (como root). El siguiente ejemplo va a generar un par de claves para el mail.example.com servidor que tiene una validez de 1 año:

 

yum install crypto-utils
genkey - día 365 mail.example.com

/! \Nota: CentOS 6.4 o posterior utiliza una versión de NSS que no admite md5. Debido a esto, el comando genkey no funcionaría. Más detalles y una solución se puede encontrar en las notas de la versión NSS_3.14 . Con el lanzamiento de CESA-2013: 1144 md5 es apoyado una vez más.

Siga las instrucciones en pantalla de introducir la información relativa a su localidad. La entrada más importante es el nombre común, ya que debe coincidir con los nombres de los usuarios utilizarán para conectarse al servidor. En nuestro ejemplo, esto sería mail.example.com, pero es muy probable que sea el nombre que ha introducido en el registro MX de DNS para su servidor de correo. Suponiendo que los servicios SMTP y IMAP/POP3 se están ejecutando en el mismo servidor, entonces usted puede utilizar los mismos certificados para ambos y clientes introduciría mail.example.com tanto IMAP/POP3 y la configuración del servidor SMTP salientes. Si tiene servidores smtp y IMAP/POP3 separadas entonces usted tendrá que crear certificados separados para cada uno.Genkey también le dará la opción de crear una petición de firma de certificado (CSR) si desea obtener un certificado firmado por una autoridad de certificación raíz de confianza. Por último, se le ofrecerá la opción de cifrar la clave privada con una contraseña.NO cifrar la clave privada de otra forma siempre que el servidor (o servicio) se reinicia él se sentará allí esperando a que introduzca la contraseña que no es muy práctico en un servidor remoto!

El par de claves de certificados se crean en los siguientes lugares:

 

/ Etc / pki / tls / certs / mail.example.com.cert # cert pública
/ / Tls / key etc pki / private / mail.example.com.key # privada

Puede dejar los certificados en su ubicación actual o copiar / mover a otro lugar. La clave privada debe ser propiedad y de lectura / escritura (0600), sólo por root.

 

7. Configuración de SSL / TLS en Postfix

Ahora que hemos generado nuestros certificados, podemos configurar Postfix para usarlos para cifrar las sesiones de autenticación SASL. Tenemos que añadir lo siguiente a / etc / postfix / main.cf:

 

smtpd_tls_security_level = Mayo
smtpd_tls_key_file = / etc / pki / tls / private / mail.example.com.key
smtpd_tls_cert_file = / etc / pki / tls / certs / mail.example.com.cert
# Smtpd_tls_CAfile = / etc / pki / tls / root.crt
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree :/ var / spool / postfix / smtpd_tls_cache
tls_random_source = dev :/ dev / urandom
smtpd_tls_auth_only = sí

‘Smtpd_tls_security_level = puede’ sustituye a la antigua ‘smtpd_use_tls = sí “en Postfix 2.3 y permite el uso de TLS. Hemos comentado smtpd_tls_CAfile pero volveríamos a este ajuste para especificar el certificado de cualquier entidad raíz emisora ​​al utilizar certificados firmados. ‘Smtpd_tls_loglevel = 1’ registrará sesiones TLS para el registro de correo postfix (ajuste de nivel 0 se desactiva el registro de TLS y el nivel 2 puede ser útil para propósitos de depuración). Los ajustes smtpd_tls_session_cache caché TLS claves de sesión de 1 hora entre las sesiones y se recomienda debido al costo relativamente alto de negociación en varias ocasiones claves de sesión TLS para cada conexión.

El ajuste final, smtpd_tls_auth_only = sí, obliga al uso de TLS para la autenticación SASL y no permitirá la autenticación de texto sin formato que se produzca a menos de una sesión SSL / TLS se ha establecido. (Podría ser útil como comentario ‘smtpd_tls_auth_only = sí “durante la prueba para que podamos probar que SSL / TLS está trabajando, pero aún están a la autenticación SASL texto sin formato si SSL / TLS falla).

No se olvide de volver a cargar los parámetros de configuración de postfix:

 

Postfix reload

Ahora podemos telnet en el servidor y comprobar Postfix ofrece TLS:

 

$ Telnet localhost 25
Tratando 127.0.0.1 ...
Conectado a localhost.localdomain (127.0.0.1).
Carácter de escape es '^]'.
220 mail.example.com ESMTP Postfix
EHLO example.com
250-mail.example.com
250-PIPELINING
250 TAMAÑO 20.480.000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
dejar de
221 2.0.0 Adiós
Conexión cerrada por el host externo.

Si todo funciona como se espera, hay que ver el servidor que ofrece STARTTLS y porque hemos especificado ‘smtpd_tls_auth_only = sí “, la autenticación SASL texto plano (AUTH LOGIN LLANO y AUTH = PLAIN LOGIN) ya no está disponible.

Por último tenemos que configurar los clientes de correo electrónico para utilizar el cifrado al enviar el correo:

Thunderbird: Editar> Configuración de la cuenta y seleccione Servidor de correo saliente (SMTP) en el panel de la izquierda. Seleccione el servidor SMTP y haga clic en Editar, y en la sección de Seguridad y Autenticación, bajo “Utilizar conexión segura”, seleccione TLS (o “TLS, si está disponible”)

Outlook Express: Herramientas> Cuentas> pestaña Correo> seleccione una cuenta y haga clic en Propiedades. A continuación, en la ficha Avanzadas, en Servidor de correo saliente (SMTP), marque “Este servidor requiere una conexión segura (SSL)”.

Si vamos a enviar un mensaje de prueba y la cola nuestra maillog, suponiendo que todo está funcionando, ahora deberíamos ver una sesión TLS establecido que cifra la autenticación SASL posterior:

 

tail-f / var / log / maillog
21 de marzo 01:51:42 jessie postfix / smtpd [1893]: connect from unknown [192.168.0.20]
21 de marzo 01:51:42 jessie postfix / smtpd [1893]: el establecimiento de la conexión TLS desde desconocida [192.168.0.20]
21 de marzo 01:51:44 jessie postfix / smtpd [1893]: conexión TLS establecido desde desconocida [192.168.0.20]:
       TLSv1 con cifrado DHE-RSA-AES256-SHA (256/256 bits)
21 de marzo 01:51:44 jessie postfix / smtpd [1893]: D756E2006F: client = unknown [192.168.0.20], sasl_method = ESTÁNDAR, sasl_username = ned
21 de marzo 01:51:44 jessie postfix / limpieza [1897]: D756E2006F: message-id = <47E314AE.1070702 @ example.com>
21 de marzo 01:51:44 jessie postfix / qmgr [711]: D756E2006F: from = <ned@example.com>, size = 511, nrcpt = 2 (cola activa)
21 de marzo 01:51:45 jessie postfix / local de [1898]: D756E2006F: a = <ned@example.com>, relay = local, delay = 0,17;
       demoras = 0.13/0.02/0/0.02, dsn = 2.0.0, status = enviado (entregado a maildir)
21 de marzo 01:51:45 jessie postfix / qmgr [711]: D756E2006F: eliminado
21 de marzo 01:51:45 jessie postfix / smtpd [1893]: desconexión de unknown [192.168.0.20]

 

8. Configuración de SSL / TLS en el palomar

Soporte SSL / TLS está habilitado en palomar por defecto fuera de la caja. El paquete palomar incluso barcos con su propio certificado SSL que hemos cambiado el nombre y se reemplaza con nuestra propia anteriormente en esta guía. Los ajustes de interés están contenidos en / etc / dovecot.conf:

 

protocolos = pop3s pop3 imap imaps
# Disable_plaintext_auth = no
# Ssl_disable = no
ssl_cert_file = / etc / pki / tls / certs / mail.example.com.cert
ssl_key_file = / etc / pki / tls / private / mail.example.com.key
ssl_cipher_list = ALL: BAJA: SSLv2

Reinicie el servicio palomar después de realizar cambios:

 

servicio restart palomar

Para usar el cifrado SSL / TLS, debe habilitar las imaps (puerto 993) y / o POP3S (puerto 995) protocolos. Ajustes comentados representan los valores por defecto. Cuando se establece en sí, disable_plaintext_auth se desactivan todos los métodos de autenticación de texto plano (con la excepción de las conexiones desde la misma IP, porque se considera seguro). El ajuste ssl_cipher_list nos permite especificar la lista de cifrados permitidos para ser usados. Además de la lista por defecto, bloqueamos todos los cifrados de baja resistencia junto con el protocolo SSLv2 menos seguro.

Hay un número de maneras en que podemos abordar consideraciones de seguridad locales y remotas. Para aplicar el cifrado que se utilizará en todas las conexiones locales y remotas, podríamos simplemente desactivar los protocolos IMAP y POP3 inseguros, y sólo ofrecer imaps y pop3s en combinación con el ajuste ‘disable_plaintext_auth = sí “. Alternativamente, es posible que desee permitir a usuarios locales utilizan llanura imap texto y los protocolos POP3, mientras que todavía la aplicación que los usuarios remotos utilizan el cifrado. Una forma de lograr esto podría ser para permitir que todas las conexiones a imaps y pop3s (puertos 993 y 995, respectivamente), mientras que la restricción de las conexiones en los puertos IMAP y POP3 (143 y 110, respectivamente) a nuestra red local a través de reglas de firewall. Por ejemplo:

 

# IMAP (S)
# Aceptar sólo las conexiones de red locales para IMAP
iptables-A INPUT-i eth0-p tcp-s 192.168.0.0/24 - dport 143-j ACCEPT
# Aceptar todas las conexiones para IMAPS
iptables-A INPUT-i eth0-p tcp - dport 993-j ACCEPT
#
# POP3 (S)
# Aceptar sólo las conexiones de red locales para POP3
iptables-A INPUT-i eth0-p tcp-s 192.168.0.0/24 - dport 110-j ACCEPT
# Aceptar todas las conexiones para POP3S
iptables-A INPUT-i eth0-p tcp - dport 995-j ACCEPT

No se olvide de establecer normas adecuadas en el servidor de seguridad perimetral y reenviar los puertos apropiados.

Por último tenemos que configurar nuestros clientes de correo electrónico para utilizar el cifrado SSL.

Thunderbird: Editar> Configuración de la cuenta y seleccione la cuenta de correo “Configuración del servidor” en el panel de la izquierda. En la sección “Configuración de seguridad”, seleccione SSL. Tenga en cuenta el número de puerto ya debe haber cambiado a cualquiera de 993 o 995 para IMAPS o POP3S, respectivamente.

Outlook Express: Herramientas> Cuentas> pestaña Correo> seleccione una cuenta y haga clic en Propiedades. A continuación, en la ficha Opciones avanzadas, en correo entrante (POP3), marque “Este servidor requiere una conexión segura (SSL)”. Tenga en cuenta el número de puerto ya debe haber cambiado a cualquiera de 993 o 995 para IMAPS o POP3S, respectivamente.

Si la cola de nuestro registro de correo y comprobar si hay nuevo correo electrónico en nuestro cliente de correo electrónico, deberíamos ser capaces de ver que se está utilizando el cifrado TLS:

 

# Tail-f / var / log / maillog
21 de marzo 15:10:15 palomar jessie: pop3-login: Login: user = <ned>, method = LLANO, rip = :: ffff: 192.168.0.20, labio = :: ffff: 192.168.0.2, TLS
21 de marzo 15:10:15 jessie palomar: POP3 (NED): Desconectado: Sesión cerrada top = 0/0, retr = 0/0, del = 0/0, size = 0

Si “TLS” no aparece en el final de la primera línea, entonces algo salió mal y la conexión no se ha cifrado.

Greylisting HOWTO

Greylisting HOWTO

1. Introducción

NOTA: Esta guía ha sido escrita para complementar la base guía Postfix y restricciones postfix guía , pero desde entonces se ha ampliado para su uso con otro MTA.

Postgrey es un servidor de la aplicación de políticas de listas grises para filtrar el spam en servidores de correo Postfix. El principio de la lista gris funciona sobre la base de que la cantidad de spam es enviado por spam y otros MTA no compatibles con RFC.Postgrey rechazará temporalmente el nuevo correo con el error 450 “intentarlo más tarde” por un período determinado de tiempo y registrará el triplete CLIENT_IP / remitente / destinatario en su base de datos. Si el servidor de envío es compatible con RFC, entonces debe volver a enviar el mensaje en ese momento Postgrey comprobará su base de datos para un partido y aceptar el mensaje. El retraso es configurable y Postgrey mantiene una base de datos de tripletes conocidos, de modo electrónico de un remitente dado sólo debe retrasarse la primera vez.

Sin embargo, un anuncio publicitario típico robot de spam es probable que reciba una gran cantidad de correo rebotado o rechazado hasta spammers normalmente no vuelven a enviar los mensajes cuando se rechazan de forma temporal. Por lo tanto, todo el correo recibido de esas fuentes simplemente es eliminado por el servidor de correo. Esto tiene la ventaja adicional de reducir el filtrado y la sobrecarga de procesamiento en el servidor de correo como un gran porcentaje de mensajes simplemente se dejó caer antes de entrar en el MTA y no tendrá que ser filtrado o procesado de otro modo.

 

2. Configuración

Greylisting puede ser configurado para trabajar con un número de diferentes de MTS. Por favor, consulte la sección correspondiente a continuación para el MTA que está utilizando.

 

2.1. Sufijo

Postgrey se instaló desde RPMForge en CentOS 5.1 completamente actualizado, aunque debe aplicarse por igual en otras versiones. Para habilitar el repositorio RPMForge, por favor vea los RPMForge instrucciones. En primer lugar, instale postgrey:

 

# Yum install postgrey

Postgrey está escrito en Perl, por lo que Perl es necesario junto con algunos módulos Perl adicionales. Yum debería resolver automáticamente las dependencias que faltan para usted y usted puede comprobar los requisitos en la página web Postgrey.

Primero necesitamos configurar Postfix para usar Postgrey. Editar / etc / postfix / main.cf para incluir lo siguiente check_policy_service línea dentro del smtpd_recipient_restrictions sección como se muestra a continuación (si usted no tiene un smtpd_recipient_restrictions sección, a continuación, el siguiente ejemplo funciona bien):

 

smtpd_recipient_restrictions =
   permit_mynetworks,
   reject_unauth_destination,
   check_policy_service unix: postgrey / socket,
   permiso

Por defecto, la cantidad de tiempo por el cual Postgrey rechazará los mensajes nuevos se establece en 5 minutos, pero podemos cambiar esto usando el - Retardo de conmutación. No es una solución de compromiso en que el más largo es el tiempo, más posibilidades de rechazar el spam, sino también el correo legítimo ya se retrasará por primera vez. Valdría la pena establecer inicialmente este valor en 1 minuto (60 segundos) y, posteriormente, aumentar el valor de una vez Postgrey ha construido una base de datos de contactos de correo ordinario para su servidor. Configuración de la demora a valores mayores de 300 segundos (5 minutos) en realidad no es recomendable. Para configurar manualmente el retardo (en segundos), lo que necesitamos para crear el archivo de configuración Postgrey en / etc / sysconfig / postgrey y anexar el - Retardo interruptor como se muestra a continuación (ver ‘man postgrey’ para obtener una lista completa de opciones):

 

OPTIONS = "- unix = / var / spool / postfix / postgrey / hembra - delay = 60"

Por último, tenemos que iniciar el servicio Postgrey y vuelva a cargar la configuración de Postfix:

 

# / Sbin / service inicio postgrey
# / Sbin / servicio postfix reload

Asegurar postgrey inicia automáticamente al arrancar la máquina:

 

# / Sbin / chkconfig - levels 345 postgrey sobre

Ahora podemos comprobar nuestros registros del correo y ver postgrey en acción. He aquí un (ofuscado) extracto de mi / var / log / maillog:

 

#
# postgrey cargas:
#
17 de diciembre 21:44:58 jessie postgrey [6844]: proceso en segundo plano
17 de diciembre 21:44:58 jessie postgrey [6844]: 2007/12/17-21: 44:58 postgrey (tipo Net :: Server :: Multiplex) partida! PID (6844)
17 de diciembre 21:44:58 jessie postgrey [6844]: La unión a fichero socket UNIX / var / spool / postfix / postgrey / socket usando SOCK_STREAM
17 de diciembre 21:44:58 jessie postgrey [6844]: Ajuste gid a "101 101"
17 de diciembre 21:44:58 jessie postgrey [6844]: Ajuste el uid para "100"
#
# Postgrey greylisting un mensaje:
#
17 de diciembre 21:23:49 jessie postfix / smtpd [6714]: connect from mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]
17 de diciembre 21:23:49 jessie postfix / smtpd [6714]: NOQUEUE: rechazar: RCPT de mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]:
        450 4.2.0 <ned@example.com>: Dirección receptora rechazada: Greylisted, ver https://postgrey.schweikert.ch/help/example.com.html;
        from = to = <bob@example.com> <ned@example.com> proto = ESMTP helo = <mk-outboundfilter-4-a-1.mail.uk.tiscali.com>
17 de diciembre 21:23:54 jessie postfix / smtpd [6714]: desconexión de mk-outboundfilter-4-a-1.mail.uk.tiscali.com [212.74.114.8]
#
# Postgrey aceptar un mensaje:
#
17 de diciembre 22:23:45 jessie postgrey [2218]: action = pasar, razón = triplete encontrado, client_name = mk-outboundfilter-3-a-1.mail.uk.tiscali.com,
        dirección_cliente = 212.74.114.7, sender = bob@example.com, destinatario = ned@example.com

Si ve un mensaje como el siguiente:

 

18 de noviembre 09:39:03 jessie postfix / smtpd [26006]: aviso: conectarse a postgrey / socket: Permiso denegado

no se frustre, que es un problema de SELinux y la solución se discute en la siguiente página wiki: HowTos / SELinux # head-faa96b3fdd922004cdb988c1989e56191c257c01 .

 

2.2. Greylisting en Sendmail

Sendmail utiliza milter-lista gris, que está disponible en RPMForge. Para habilitar el repositorio RPMForge, por favor vea los RPMForge instrucciones. En primer lugar, instale milter-lista gris:

 

# Yum install milter-lista gris

Milter-greylist está escrito en C, por lo que hay pocos, si alguno, dependencias. Yum debería resolver automáticamente las dependencias que faltan para usted y usted puede comprobar los requisitos en la lista gris-milter sitio web .

Agregue lo siguiente al final de la secuencia de comandos sendmail.mc:

 

INPUT_MAIL_FILTER (`lista gris ',` S = local :/ var /-milter lista gris / milter-greylist.sock') dnl
define (`confMILTER_MACROS_CONNECT ',` j, {if_addr}') dnl
define (`confMILTER_MACROS_HELO ',` {verificar}, {cert_subject}') dnl
define (`confMILTER_MACROS_ENVFROM ',` i, {auth_authen}') dnl
define (`confMILTER_MACROS_ENVRCPT ',` {} lista gris') dnl

También puede especificar los tiempos de espera si se quiere, el siguiente ejemplo tiene un tiempo de espera de un minuto al envío de información a la milter y lo mismo espera de una respuesta, los valores predeterminados son sólo 10 segundos cada uno y puede no ser suficiente cuando se utiliza DNSRBL y / o SPF . Lea más en la instalación milter de Sendmail instrucciones .

 

INPUT_MAIL_FILTER (`lista gris ',` S = local :/ var /-milter lista gris / milter-greylist.sock, F =, T = S: 1m; R: 1m') dnl

Hacer que el archivo sendmail.cf de los autos m4. Muchos sistemas tienen un Makefile que hará esto automágicamente.

 

/ Usr/bin/m4 / usr/share/sendmail/cf/m4/cf.m4 sendmail.mc> sendmail

y reinicie sendmail

 

servicio sendmail restart

 

2.3. Exim

Configuración de Exim para ir aquí. Por favor, siéntase libre de ser voluntario si utiliza listas grises con exim (o cualquier otro MTA)

 

3. Informes

Postgrey incluye un postgreyreport llamada herramienta de informes. Su instala por defecto al instalar el rpm postgrey. Postgreyreport analizará una maillog (leer de STDIN), compararlo con el db postgrey y detalles de salida en todas las entradas de la lista gris ‘mortales’. Un anfitrión es considerado como “fatalmente” lista gris cuando no vuelve a intentar dentro de los 300 segundos después de su primer intento de entrega de correo electrónico de un destino específico. Postgreyreport utiliza la completa el triple como candidato. Puede sintonizar este retraso de 300 segundos utilizando la opción de línea de comandos – delay, sin embargo 300 es un buen punto de referencia. La mayoría de los servidores de correo se vuelva a intentar dentro de los 300 segundos.

Uso básico:

 

cat / var / log / maillog | / usr / sbin / postgreyreport - delay = 300

Dependiendo de lo ocupado que su servidor es, el informe puede llegar a ser muy grande. Para obtener sólo los 20 principales fuentes de conseguir Greylisted – usted puede usar algo como esto:

 

cat / var / log / maillog | postgreyreport | awk '{print $ 1}' | sort | uniq-c | sort-nr | head-n20

Para obtener una lista de los 20 primeros dirección de correo electrónico que las fuentes Greylisted están enviando correo electrónico a:

 

cat / var / log / maillog | postgreyreport | awk '{print $ 4}' | sort | uniq-c | sort-nr | head-n20

Para obtener una lista de todas las opciones que postgreyreport soportes y sus funciones:

 

postgreyreport-h

 

4. Consideraciones MX Múltiples

Si su dominio tiene más de un servidor de correo (MX), asegúrese de habilitar la lista gris en todos los servidores o los spammers apuntarán a la copia de seguridad de máquinas MX y enrutar el correo electrónico desde allí. Y puede ser que valga listas blancas las máquinas entre sí. Revise la siguiente sección sobre cómo hacer listas blancas en postgrey.

Para la lista gris a trabajar en las máquinas de copia de seguridad MX, es importante que la comprobación de la lista gris que sucede antes de que el correo acepta! Si bien esto suena como sentido común, es el problema que causa la mayoría de la gente un montón de confusión cuando la configuración de la lista gris de las máquinas de copia de seguridad MX. Como ejemplo, si usted está usando permit_mx_backup en postfix tus smtpd_recipient_restrictions en la copia de seguridad MX debería tener este aspecto:

 

smtpd_recipient_restrictions =
    reject_unauth_destination,
    check_policy_service unix :/ var / spool / postfix / postgrey / socket,
    permit_mx_backup,
    permiso

 

5. Whitelisting

En postgrey su posible lista blanca de remitentes y los receptores. Todo lo que necesita hacer para la lista blanca un anfitrión es añadir el nombre de dominio completo o la dirección IP en el archivo / etc / postfix / postgrey_whitelist_clients.local. por ejemplo:

 

192.168.1.10
mydesktop.office.mydomain.com

Ahora todo el correo electrónico recibido, ya sea 192.168.1.10 o mydesktop.office.mydomain.com no estará lista gris, que será aceptada de inmediato (siempre y cuando su validez, y pasa todas las reglas de sufijo). Por otro lado, si usted quiere la lista blanca un destinatario puede añadir su nombre de usuario parte de la dirección de correo electrónico en el archivo / etc / postfix / postgrey_whitelist_recipients. por ejemplo:

 

postmaster @
abuse @
theboss @

Ahora todos los correos electrónicos que se reciben para cualquiera de estas direcciones de correo electrónico “no será Greylisted, y todos los correos electrónicos serán aceptados de inmediato. Tenga en cuenta que postgrey ya viene con la configuración de lista blanca para postmaster y el abuso.

 

6. Resumen

Lista gris es una forma muy eficaz de lucha contra el spam enviado desde RFC contra spambots no conformes. Postgrey es una herramienta fácil de implementar el servidor de políticas de listas grises que puede ser instalado y configurado en cuestión de minutos en un servidor de correo en funcionamiento en CentOS.

Restricciones de Postfix

Restricciones de Postfix

1. Introducción

Si ha seguido la básica de postfix guía tendrá una sencilla sufijo de correo electrónico del servidor en funcionamiento que es capaz de enviar y recibir correo electrónico. Sin embargo, es probable que haya notado que su servidor de correo Postfix recibe todo el correo electrónico, sin restricciones, incluyendo spam. Correo no deseado, también conocido como email masivo no solicitado (UBE) o mensajes comerciales no solicitados (UCE) se estima que constituyen más del 80% de todo el correo electrónico enviado a través de Internet y, como tal, representa un desafío importante para cualquier administrador de correo electrónico. Esta guía se examinarán algunas de las restricciones disponibles en Postfix para combatir el correo no deseado y está diseñado para ser de tipo modular de tal manera que se puede implementar, además de la básica guía sufijo si el lector lo desea.

 

2. Postfix y spam

La Internet se basa en gran medida en una política de confianza y UBE abusos que confían para permitir la entrega de grandes cantidades de spam. Al colocar ningún tipo de restricciones a los correos electrónicos que se están evitando de la política de confianza y, como tal, también corren el riesgo de restringir o bloquear el correo electrónico legítimo. Por lo tanto debemos ser conservadores en las restricciones que aplicamos y debemos probar y monitorear a fondo. Sus usuarios se lo agradecerán para limitar la cantidad de spam que ven pero no se lo agradecerán para bloquear el correo electrónico legítimo.

Vamos a usar 3 clases de restricción sufijo diferentes para examinar la información proporcionada a nuestro servidor de correo electrónico por cualquier cliente que se conecta:

  • smtpd_helo_restrictions
  • smtpd_sender_restrictions
  • smtpd_recipient_restrictions

Por suerte para nosotros, muchos spammers no se molestan en seguir de cerca las directrices RFC y podemos utilizar estas clases de restricción para identificar el spam obvia sobre esa base y rechazar antes de que ingrese a nuestro servidor de correo electrónico. Rechazando el spam obvio antes de que entre nuestro servidor de correo electrónico tiene las ventajas de ahorro de ancho de banda, así como la reducción de los gastos generales de procesamiento adicionales para nuestro servidor de correo electrónico.

Restricciones de trabajo mediante la tramitación de una serie de reglas que determina la acción que se llevará a Postfix para ese mensaje. Posibles resultados están bien, rechazar o DUNNO. Restricciones se procesan o evalúan en el orden en el que aparecen.Si una regla devuelve un valor de RECHAZAR entonces el mensaje es rechazado de inmediato sin más transformación. Si una regla devuelve un valor del bien, entonces el tratamiento posterior de esa clase de restricciones se detiene y la próxima clase de restricciones se evalúan hasta que el mensaje tiene o ha superado con éxito todas las clases de restricción o posteriormente es rechazado por una norma posterior. Así, por ejemplo, un mensaje puede recibir un valor del bien de un smtpd_sender_restriction pero todavía puede ser rechazada por una regla smtpd_recipient_restriction posterior. Por lo tanto, tenemos que considerar cuidadosamente el orden de nuestras reglas de restricción. Si el mensaje no es rechazada explícitamente por ninguna regla, entonces la política por defecto es aceptar el mensaje.

Para comprender mejor las diferentes clases de restricciones y cómo se aplican, permite echar un vistazo al proceso smtp con más detalle, ya que telnet en nuestro servidor de correo electrónico y enviar un mensaje de prueba simple para nosotros mismos:

 

telnet 192.168.0.2 25 # Comentarios
Tratando 192.168.0.2 ...
Conectado a 192.168.0.2 (192.168.0.2).
Carácter de escape es '^]'.
220 mail.example.com ESMTP Postfix # <-smtp_client_restrictions
HELO mail.example.com # <-smtp_helo_restrictions
250 mail.example.com #
MAIL FROM: <ned@example.com> # <-smtp_sender_restrictions
250 2.1.0 Ok #
RCPT TO: <ned@example.com> # <-smtp_recipient_restrictions
250 2.1.5 Ok #
DATOS # <-smtp_data_restrictions
354 datos finales con <CR> <LF>. <CR> <LF> #
A: <ned@example.com> # <-header_checks
De: <ned@example.com> #
Asunto: SMTP Prueba #
Este es un mensaje de prueba # <-body_checks
. #
250 2.0.0 Ok: en cola como 301AE20034
SALIR
221 2.0.0 Adiós
Conexión cerrada por el host externo.

Una de las principales ventajas de las restricciones helo smtpd, remitente y destinatario son que se evalúan y actuar en consecuencia antes de que el cuerpo del correo electrónico se ha enviado nunca / recibidos hasta el spam potencial puede ser rechazada al principio del proceso smtp sin consumir ancho de banda adicional y / o recursos de procesamiento. Es probablemente el mejor que podemos ver algunas restricciones en la acción para entender mejor lo que hace cada uno. Se añaden todas las restricciones al archivo de configuración de postfix ubicado en / etc / postfix / main.cf

 

3. Restricciones Helo

Cuando un sistema cliente se conecta primero a nuestro servidor de correo electrónico, es necesario que la propia identidad con el comando HELO smtp. Muchos spammers bien tratan de saltarse este paso por completo, se enviará información imposiblemente válido o se tratan deliberadamente de confundir su identidad para obtener acceso. De cualquier manera, podemos rechazar con seguridad las conexiones de los clientes que están severamente mal configurado o que se ofuscar deliberadamente su identidad.

 

# / Etc / postfix / main.cf
# restricciones HELO:
smtpd_delay_reject = sí
smtpd_helo_required = sí
smtpd_helo_restrictions =
    permit_mynetworks,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    permiso

Nota: Postfix 2.2 (CentOS 4) utiliza reject_non_fqdn_hostname y reject_invalid_hostname, respectivamente.

La primera línea (smtpd_delay_reject) permite la conversación SMTP para continuar hasta el punto de llegar a recibir el mensaje antes de que sea rechazada, y es útil porque permite que toda la información del remitente y el destinatario que estar conectado.También es un requisito para helo_restrictions. La segunda línea (smtpd_helo_required) rechaza correo electrónico desde cualquier sistema que no identifica a sí mismo.

Nuestros smtpd_helo_restrictions comienzan en la línea 3. permit_mynetworks dice Postfix para que acepte conexiones de máquinas de confianza definidos en mynetworks modo de correo electrónico de nuestros clientes de confianza, no se someterá a controles adicionales de restricción helo. reject_non_fqdn_helo_hostname rechazarán las conexiones si el nombre de host suministrado con el comando HELO no es un nombre de dominio completo como lo exigen las normas RFC. Debe ser perfectamente seguro para rechazar los intentos de conexión de los clientes que no hacen ningún esfuerzo para identificar correctamente a sí mismos. Del mismo modo, reject_invalid_helo_hostname rechazarán los intentos de conexión cuando la sintaxis hostname HELO es válida.Finalmente nos permitimos mensajes para pasar a la siguiente etapa de filtrado.

Una opción, además, que de vez en cuando se especifica es reject_unknown_helo_hostname que rechacen los mensajes si el nombre de host suministrado con el comando helo no tiene ya sea un DNS A válida o registro MX. Sin embargo, este ajuste se debe utilizar con precaución, ya que rechazará correo electrónico de sistemas legítimos con problemas de DNS temporales y puede dar lugar a falsos positivos.

 

4. Restricciones de remitente

El siguiente paso es filtrar los remitentes válidos con algunas restricciones del remitente:

 

# / Etc / postfix / main.cf
# restricciones del remitente:
smtpd_sender_restrictions =
    permit_mynetworks,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    permiso

Una vez más, en primer lugar nos permitimos correo electrónico de los remitentes en nuestra propia red (permit_mynetworks). Las siguientes dos líneas rechazan los mensajes si la dirección de correo electrónico de remitentes es incorrecto o no existe ya que no hay ninguna razón real para aceptar correo de ellos. reject_non_fqdn_sender rechazará email cuando MAIL FROM dirección no se encuentra en forma de dominio completo como lo requiere el RFC. reject_unknown_sender_domain rechazarán correo electrónico cuando el dirección de MAIL FROM tiene ni DNS ni un registro MX, o cuando se tiene un registro MX malformaciones tales como un registro con una longitud cero MX nombre de host. El código de respuesta para reject_unknown_sender_domain es 450 (a intentarlo más tarde) en caso de un error temporal de DNS. Además, como la dirección de MAIL FROM es la dirección que rebotan notificaciones deberán ser enviadas a, no tiene sentido para recibir correo de un dominio desconocido. La última línea permite a cualquier otro mensaje para pasar a la siguiente fase de la filtración.

 

5. Las restricciones de destinatario

Por este tiempo, está claro que el equipo cliente no está completamente mal configurado y que el remitente se encuentra al menos una oportunidad de ser legítimo. El último paso es ver que el cliente tiene permiso para enviar al destinatario dado y aplicar algunos controles no postfix externos al pequeño número de mensajes que hacen que sea tan lejos.

 

# / Etc / postfix / main.cf
# restricciones de destinatarios:
smtpd_recipient_restrictions =
   reject_unauth_pipelining,
   reject_non_fqdn_recipient,
   reject_unknown_recipient_domain,
   permit_mynetworks,
   reject_unauth_destination,
   check_sender_access
         de hash :/ etc / postfix / sender_access,
   reject_rbl_client zen.spamhaus.org,
   reject_rbl_client bl.spamcop.net,
   check_policy_service unix: postgrey / socket,
   permiso

Postfix soporta una técnica conocida como la canalización que acelera las entregas a granel de correo electrónico mediante el envío de múltiples comandos SMTP a la vez. El protocolo requiere que los clientes primero verifique que el servidor soporta la canalización. Muchos spammers enviar una serie de comandos sin esperar la autorización, a fin de entregar sus mensajes lo más rápidamente posible. reject_unauth_pipelining detiene el correo de software de correo masivo que utiliza indebidamente la segmentación con el fin de agilizar las entregas.

Las siguientes líneas deben ser algo familiar ya y rechazar el correo a los dominios que no existen o no pueden existir. En primer lugar, rechazamos correo electrónico cuando el RCPT TO abordar no está en forma de dominio completo (reject_non_fqdn_recipient) exigidos por RFC y luego rechazamos email cuando nuestro servidor de correo electrónico no es destino final de la dirección del destinatario, cuando el RCPT TO abordar no tiene DNS A o un registro MX, o cuando se tiene un registro MX con formato incorrecto. El código de respuesta para reject_unknown_recipient_domain es 450 (a intentarlo más tarde) en caso de un error temporal de DNS. Una vez más, le dice a Postfix permit_mynetworks para aceptar conexiones de usuarios locales en nuestra red.

La siguiente línea, reject_unauth_destination, es de vital importancia , ya que le dice a Postfix no aceptar los mensajes con destinatarios en dominios que no están alojados localmente o que servimos como un servidor de copia de seguridad para. Sin esta línea, nuestro servidor sería una retransmisión abierta.

El siguiente ajuste, check_sender_access, nos permite implementar listas blancas y listas negras de direcciones y dominios de correo electrónico completas o parciales como se especifica en el campo MAIL FROM contra una tabla de acceso especificada con un objetivo de Aceptar o Rechazar. En primer lugar debemos crear nuestra tabla de consulta, que en este caso es el archivo de texto sin formato / etc / postfix / sender_access:

 

# / Etc / postfix / sender_access
#
# Negro / lista blanca de remitentes que coinciden con el 'CORREO DE' campo. Ejemplos ...
#
myfriend@example.com Aceptar
junk@spam.com REJECT
comercialización @ RECHAZO
theboss @ OK
deals.marketing.com REJECT
somedomain.com Aceptar

En el ejemplo anterior podemos ver que podemos lista de correo negro o blanco de direcciones completos de correo electrónico, nombres de usuario en cualquier dominio o dominios y nombres de dominio parciales contenidos en el campo MAIL FROM. Tenga en cuenta que estos son sólo ejemplos y, en general usted no debe la lista blanca de su propio dominio como spammers suelen falsificar la dirección del remitente sea la de tu propio dominio. Una vez que haya creado su archivo sender_access debe ejecutar el comando postmap contra ella para crear la versión indexada que Postfix utilizará (también se debe repetir este cada vez que cambie el archivo):

 

postmap / etc / postfix / sender_access

Es el último de nuestros cheques postfix internos. El resto de los controles, bien consultar fuentes externas o aplicaciones de ayuda.

Realizaremos alguna lista negra en tiempo real (RBL) cheques. RBL del, también conocido como listas negras de DNS (DNSBL) son servicios de 3 ª parte que mantienen una lista de direcciones IP que se sabe están involucrados en algún tipo de actividad ilícita, tales como la distribución de spam u otro contenido no deseado, como los virus. La línea reject_rbl_client causa de postfix para realizar una comprobación contra la base de datos de la lista y rechazará el mensaje si se trata de una mala fuente conocida. Debido a que estos controles implican una búsqueda de DNS que son relativamente “caro” en términos de recursos y por lo tanto son los mejor situados hacia el final de nuestros cheques para que tanto el spam como sea posible ya ha sido eliminado para reducir al mínimo el número que se producen. Del mismo modo, también tiene sentido colocar las listas de los más eficaces en primer lugar, de nuevo minimizando el número de búsquedas que se necesitan para rechazar un mensaje (spam).

Hay muchos de disposición DNSBL, cuántos y qué usted elige utilizar depende de usted, pero usted debe controlar sus registros de forma regular para revisar su efectividad (pista: instalar el paquete postfix-Pflogsumm y utilizar el Pflogsumm comando para analizar su registros postfix). También debemos reconocer que el uso de las aperturas de DNSBL para introducir la posibilidad de falsos positivos, ya que confiamos en la política de la lista mantenedor para agregar direcciones sin escrúpulos. Algunos son muy eficaces, algunos bloques prácticamente nada, y otros bloqueará tanto correo genuino como lo hacen spam. Para más información y estadísticas en tiempo real sobre DNSBL del lector se refiere a: https://stats.dnsbl.com/

El control final, check_policy_service, se utiliza para llamar a un complemento de la aplicación o el script, en este caso postgrey unido a un socket unix. Postgrey puede ser muy eficaz cuando se trata de eliminar el spam y hay una guía separada dedicada exclusivamente a la instalación de postgrey en el servidor de correo electrónico de postfix. El lector se anima encarecidamente leer que guía siguiente.

 

6. Resumen

En esta guía hemos visto cómo podemos utilizar las restricciones de sufijo para rechazar el correo de los clientes, obviamente, mal configurado o los que de otra manera no tienen negocios el envío de correo electrónico a nuestro servidor. Las restricciones aplicadas son deliberadamente conservadora con la intención de no causar falsos positivos y deberían funcionar bien en cualquier instalación de postfix. Restricciones de Postfix, particularmente rechazando nombres de host helo en forma de nombres de dominio que no estén totalmente cualificados, pueden bloquear hasta el 30% del spam y el uso de 1 o 2 buenos DNSBLs puede bloquear el 90% o más del resto. En combinación con otras técnicas de filtrado tales como la lista gris , debería ser posible para filtrar la gran mayoría de correo no deseado (~ 99%) antes de que entre en el servidor de correo electrónico con el consiguiente ahorro en los recursos de ancho de banda y de procesamiento. Esta guía está diseñada para complementar la base guía de postfix .

 

7. Agradecimientos

Este artículo fue inspirado por y en estrecha colaboración basada en la excelente guía de Kirk Strauser publicado bajo el “Reconocimiento-Compartir Igual” Creative Commons License 2.5 en: https://www.freesoftwaremagazine.com/articles/focus_spam_postfix

Postfix HOWTO

Postfix HOWTO

 

1. Introducción

Este artículo está dirigido a principiantes que desean configurar un servidor de correo electrónico básico. Conocimientos básicos de administración del sistema sería una ventaja y la posibilidad de instalar el software y los archivos de configuración de edición es esencial. El artículo fue escrito para CentOS 5 , pero debe ser igualmente aplicable a las versiones anteriores. Las versiones posteriores pueden diferir.

Hay muchos escenarios y combinaciones que se pueden utilizar al configurar un servidor de correo electrónico (de lejos a muchos a cubrir aquí) diferentes, así que este artículo hace que algunas opciones básicas para que usted, como el software que utilizaremos (Postfix y Dovecot). Se requieren otras opciones para ser alterada por el usuario, como las direcciones de red y nombres de dominio. Más opciones avanzadas, tales como dominios virtuales y usuarios se encuentran fuera del alcance de este artículo y no serán cubiertas en este documento.

Este artículo utiliza Postfix como el agente de transporte de correo (MTA), en lugar de sendmail, el MTA predeterminado para CentOS 5 (sufijo es el valor predeterminado en CentOS 6 ). Dovecot se utiliza para permitir a los usuarios acceder a su correo electrónico por cualquiera de los protocolos IMAP o pop. Asumimos un nombre de dominio de example.com cual debe ser cambiada por el lector y puede ser un nombre de dominio real de un servidor de correo electrónico totalmente calificado o un nombre de dominio falso si sólo desea implementar un servidor de correo interno. Suponemos que el servidor de correo física (host) es mail.example.com y se encuentra en la dirección IP privada 192.168.0.1 (esto debe cambiar para adaptarse a las necesidades de los lectores). El servidor de correo electrónico dará cuentas de correo electrónico a través de las cuentas del sistema de usuario estándar y los usuarios acceder a su correo electrónico utilizando su nombre de usuario y la contraseña de cuenta del sistema.Asumiremos un usuario llamado John Smith que tiene una cuenta de sistema bajo el nombre de inicio de sesión de john.

 

2. Instalación

Lo primero que tenemos que hacer es instalar el software necesario. La forma más fácil de hacerlo es con yum de la línea de comandos:

 

yum install sufijo palomar sistema-switch-mail sistema-switch-mail-gnome

Yum debería resolver automáticamente las dependencias. Dovecot depende de mysql y perl, por lo que estos probablemente se instalará también si no están ya instalados en el sistema.

Alternativamente, podemos saltar “sistema-switch-mail ‘y la instalación’-gnome sistema-switch-mail ‘y retire el predeterminado MTA’ sendmail ‘, esto hará que’ sufijo ‘el MTA predeterminado en nuestro sistema.

 

yum install palomar Postfix 
yum remove sendmail

Tenga en cuenta que el MTA predeterminado en CentOS 5 es sendmail. Si usted no hace Postfix MTA por defecto, Postfix actualización puede causar el MTA predeterminado para volver a sendmail.

 

3. Configuración

Lo siguiente que necesitamos para configurar las diversas partes de nuestro servidor de correo electrónico.

 

3.1. Sufijo

Los archivos de configuración de Postfix se almacenan en / etc / postfix . Los dos archivos de configuración de postfix principales son master.cf y main.cf , aunque sólo tendrá que lidiar con main.cf aquí. En primer lugar vamos a hacer algunas adiciones o cambios en el main.cf archivo de configuración. Las siguientes líneas se deben agregar, editar o sin comentar:

 

myhostname = mail.example.com
mydomain = example.com
myorigin = $ mydomain
inet_interfaces = all
mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0 / 8
relay_domains =
home_mailbox = Maildir /

Nota: Cada línea debe comenzar por el principio de una nueva línea y no debe ser precedido por espacios en blanco o tabuladores. El espacio en blanco o fichas al comienzo de una línea se tratan como una continuación de la línea anterior, y si la línea anterior es un comentario (#) de la línea a continuación, la línea siguiente también es tratado como tal. Además, comentarios en línea deben ser evitados.

Ahora vamos a echar un vistazo a cada establecimiento de girar para entender lo que acabamos de hacer:

myhostname: es el nombre de host del sistema (es decir, el sistema se denomina electrónico o mail.example.com).

mydomain: es el nombre de dominio para el servidor de correo electrónico (que puede ser un nombre de dominio real o falso).

myorigin: es el nombre de dominio que el correo electrónico de forma local publicado-parece haber venido y se entrega a.

inet_interfaces: configura las interfaces de red que Postfix puede recibir correo en. Estos deben incluir al menos localhost y el dominio local.

mydestination: es la lista de dominios que serán entregados a (es decir, este servidor es el destino final para el correo electrónico dirigido a estos dominios).

mynetworks: es una lista de direcciones IP de confianza que pueden enviar o retransmitir correo a través del servidor. Los usuarios que intenten enviar un correo electrónico a través del servidor de origen en direcciones IP diferentes a los mencionados aquí serán rechazadas.

relay_domains: es una lista de dominios de destino este sistema retransmitirá correo a. Al establecer que sea en blanco nos aseguramos de que nuestro servidor de correo no está actuando como una retransmisión abierta para redes no confiables. Se aconseja al lector para probar que su sistema no está actuando como una retransmisión abierta aquí: https://www.abuse.net/relay.html

home_mailbox: establece la ruta del buzón en relación con el directorio personal del usuario y también especifica el estilo de buzón de correo que se utilizará. Postfix soporta tanto Maildir y se anima a los formatos mbox y lectores a leer sobre los méritos de cada uno para sí. Sin embargo, en este artículo hemos optado por usar el formato Maildir (una barra diagonal indica el formato Maildir. Para especificar el formato mbox, el lector usaría home_mailbox = Mailbox).

 

3.2. Palomar

El archivo de configuración palomar se encuentra en / etc / dovecot.conf . Las siguientes líneas se deben agregar, editar o sin comentar:

 

protocolos = pop3s pop3 imap imaps
mail_location = maildir: ~ / Maildir
pop3_uidl_format =% 08XU% 08Xv
# Requerido en kernels x86_64
login_process_size = 64

Una vez más, mirando a cada opción:

protocolos: especifica los protocolos disponibles a los usuarios acceder a su correo electrónico. Palomar soporta IMAP (s) y POP3 (s), y cualquiera o todos pueden ser utilizados.

mail_location: especifica el formato y la ubicación de cada caja de los usuarios. Aquí vemos que estamos usando el formato maildir y cada usuario tiene su buzón de correo ubicado en ~ / Maildir . Ejemplos para el formato mbox se proporcionan en el archivo de configuración.

pop3_uidl_format: se requiere para solucionar un problema con Outlook 2003 para acceder a los buzones de correo a través de pop3 así que tiene sentido para establecer este (ver las notas en el archivo de configuración para más detalles).

login_process_size: Las notas de la versión de CentOS 5.1 establece que “el paquete Dovecot en kernels x86_64 requiere el parámetro “login_process_size = 64” que se añade a / etc / dovecot.conf después de una actualización de CentOS 5.1 “.Instalaciones de 32 bits no se ven afectados y no requieren este ajuste.

Nota: Si usted tiene algún problema de conexión, ya sea con imap o pop3 para dovecot, compruebe los ajustes específicos de IMAP y POP3 ajustes específicos secciones del archivo de configuración dovecot.conf de soluciones. Las opciones disponibles afectan principalmente a los clientes de correo más antiguos y soluciones para Microsoft Outlook y Outlook Express.

Nota sobre el palomar y C6: Con CentOS 6 la configuración se trasladó a / etc / dovecot / dovecot.conf . Dovecot puede iniciarse sin más cambios en el archivo de configuración y escuchará automáticamente las conexiones en los puertos para POP3 (s) e IMAP (s). Probablemente será necesario realizar cambios a la habitación de su entorno.

3.3. Crear cajas de los usuarios

Lo siguiente que necesitamos para crear un buzón para cada usuario en su directorio de inicio y establecer el permiso adecuado, por lo que usar nuestro ejemplo el usuario juan:

 

mkdir / home / juan / Maildir
chown john juan / home / juan / Maildir
chmod-R 700 / home / juan / Maildir

Nota: Si va a crear los buzones de los usuarios como root, entonces debemos establecer la propiedad del directorio para el usuario.

 

3.4. Alias

Estamos a punto de terminar. Tenemos una cuenta de correo electrónico configurada para nuestro usuario John Smith que se registra como John. Su dirección de correo electrónico sería john@example.com . Sin embargo, John puede recibir el correo electrónico como jsmith@example.com (o cualquier otro alias). Podemos lograr esto mediante el establecimiento de un alias de John con el archivo de alias del sistema (por defecto usos postfix / etc / aliases ). También podemos añadir los alias para otros usuarios, así que por ejemplo también podríamos redirigir correo electrónico de la raíz a John añadiendo lo siguiente a / etc / aliases :

 

# La persona que debe recibir el correo de root
root: juan
# Alias ​​del usuario
jsmith: juan
j.smith: juan

Si edita los alias de un archivo para configurar nuevos alias para los usuarios una vez que postfix está funcionando, debe reconstruir la base de datos de alias ejecutando el newaliases comando.

 

4. Inicio del servidor

Ahora estamos listos para arrancar nuestro nuevo servidor de correo electrónico. Primero tenemos que decirle a nuestro sistema para usar Postfix como MTA en lugar de sendmail por defecto. Para ello, ejecute el sistema-switch-mail de comandos y seleccione Postfix como MTA. Esto instalará el servicio postfix y configurarlo para que se inicie automáticamente en los niveles de ejecución 3, 4, y 5. Lo siguiente que necesitamos para configurar el servicio palomar para iniciar también de forma automática en los niveles de ejecución 3, 4 y 5, y empezar a ambos servicios:

 

chkconfig - level 345 palomar en
/ Etc / init.d / inicio palomar
/ / Init.d / postfix start etc

momento en el que debe estar en funcionamiento. Su servidor de correo electrónico no debería tener problemas para enviar y recibir correo electrónico interno y envío de correo electrónico externo. Para recibir correo electrónico externo en su dominio, también tendrá que configurar los registros MX en DNS para su dominio (lo ideal es una entrada PTR RDN también debe ser configurado a través de su proveedor de Internet la cartografía de su dirección IP para su dominio). No se olvide de abrir ningún puerto requeridos en el firewall de Linux según qué servicios está ejecutando (SMTP 25; POP3 110; IMAP 143; IMAPS 993; POP3S 995) y permitir el reenvío de puertos para los puertos en los enrutadores.

Si realiza cambios en el archivo de configuración de postfix main.cf , puede reiniciar el servicio postfix o ejecutar el postfix reload comando para actualizar los cambios.

 

5. Resumen

Postfix es un agente de transporte de correo extremadamente potente y versátil. En este artículo hemos visto cómo implementar un servidor de correo electrónico básico con Postfix y Dovecot para un solo dominio en base a las cuentas de usuario del sistema.Apenas hemos arañado la superficie de las verdaderas capacidades de un sistema basado en Postfix, pero espero haber proporcionado una base de trabajo sólida en la que los nuevos usuarios pueden construir.

Los lectores están animados a leer la cortesía guía restricciones postfix .

Vpopmail

Vpopmail

¿Qué es vpopmail?

vpopmail es un sistema de correo de backend virtual. Está diseñado para trabajar en conjunto con la implementación de dominio virtual de qmail. vpopmail soporta varios backends para almacenar la configuración de usuario y de dominio, como MySQL, PostgreSQL, LDAP y otros.

¿Por vpopmail?

vpopmail ofrece un buen conjunto de herramientas de gestión y una estructura razonablemente bien diseñado, que le ahorra la implementación de su propia. vpopmail también ha existido por mucho tiempo y que goza de apoyo de una gran cantidad de otros paquetes de software relacionados con el correo que hace que la integración bastante simple.

¿Qué es este Cómo se trata?

Esta guía le dará instrucciones sobre cómo instalar vpopmail con soporte de base de datos MySQL e integrarlo con varias piezas de software relacionados con correo electrónico incluyendo ciertos paquetes que vienen con CentOS 4.

 

Requisitos de instalación

Una instancia instalada de qmail vpopmail ya está vinculada a qmail. La mysql-devel paquete debe instalarse demasiado para poder compilar vpopmail con soporte para MySQL.

Si usted no tiene una instancia de qmail instalada, entonces usted puede seguir las siguientes instrucciones para obtener uno. Sin embargo, este cómo no se ocupa de qmail. Por favor, consulte el sitio web de qmail-tostadora ( https://www.qmailtoaster.com/ ) para una configuración de qmail + vpopmail.

Descargue el paquete de ficheros qmail en https://cr.yp.to/software/qmail-1.03.tar.gz

Extraer el código fuente.

Preparación para la compilación implica la adición de dos grupos y 7 cuentas de usuario que utiliza qmail.

 

mkdir / var / qmail
nofiles groupadd
alias useradd-s / sbin / nologin-g nofiles-d / var / qmail / alias
useradd-s / sbin / nologin-g nofiles-d / var / qmail qmaild
useradd-s / sbin / nologin-g nofiles-d / var / qmail qmaill
useradd-s / sbin / nologin-g nofiles-d / var / qmail qmailp
groupadd qmail
useradd-s / sbin / nologin-g qmail-d / var / qmail qmailq
useradd-s / sbin / nologin-g qmail-d / var / qmail qmailr
useradd-s / sbin / nologin-g qmail-d / var / qmail qmails

Cambie al directorio en el directorio del código fuente de qmail. (Cd qmail-1.0.3)

Put ‘gcc-O2-include / usr / include / errno.h’ en el archivo conf-cc.

Ejecute ‘make check setup’ para compilar qmail e instalar una instancia de qmail

Run ‘. / Config-fast localhost’ para hacer la configuración muy mínimo de qmail necesaria para vpopmail.

Ahora tiene una instancia de qmail que satisfaga los requisitos de vpopmail.

 

Vpopmail Edificio con soporte mysql

Descarga la fuente vpopmail desde sourceforge. Esta guía trata de la versión 5.4.17. https://sourceforge.net/project/showfiles.php?group_id=85937 .

vpopmail normalmente usa el uid gid 89 y 89 pero desde Postfix utiliza tanto, tenemos que usar a los demás. uid gid 91 y 91.

 

groupadd-g 91 vchkpw
useradd-g vchkpw-u 91 vpopmail

Extraiga el código fuente desde el directorio tarball y el cambio en el directorio del código fuente.

 

 . / Configure - enable-mysql-replicación - enable-sql-logging - enable-auth-module = mysql - disable-usuarios-big-dir - enable-Valias

Esto nos dará la opción de utilizar un servidor MySQL principal, donde escribe para la explotación forestal, la creación de usuarios / dominios se envían y esclavos mysql que sólo se utilizan para la lectura de la información de usuario / dominio mediante vpopmail y otro software a través de su biblioteca. – Enable-Valias dice vpopmail para almacenar alias de correo electrónico en una base de datos MySQL en lugar de qmail que nosotros no vamos a usar.. Todas las direcciones de correo electrónico se almacenan en una tabla única en esta configuración y alias en una tabla separada.

 

hacer

 

Instalación y configuración de vpopmail para MySQL

 

make install / make install-strip

Configuración de MySQL para vpopmail se almacenan en el archivo / home / vpopmail / etc / vpopmail.mysql . Un ejemplo se puede encontrar a continuación para una sola instancia de base de datos MySQL.

 

CONFIGURACIÓN DE LA CONEXIÓN # MYSQL PARA Vpopmail
#
# Línea 1 define la conexión que se utilizará para la base de datos se lee,
# Línea 2 define la conexión a utilizar para las actualizaciones de base de datos / escribe.
#
# Si se omite la línea 2, a continuación, los mismos ajustes serán
# Se utiliza para leer y escribir.
#
# Configuración para cada línea:
# Host | puerto | usuario | contraseña | base de datos
#
localhost | 0 | vpopmail | vpopmailpass | vpopmail
#
# Nota:
# El valor de host puede ser un nombre de host o una dirección IP.
# Si el host es 'localhost', entonces los sockets (Unix) o canalizaciones con nombre (Windows)
# Se utiliza en lugar de TCP / IP para conectarse al servidor.

vpopmail binarios se instalan en / home / vpopmail / bin . Ellos deben procesarse con la raíz al añadir o eliminar usuarios / dominios, ya que cambiarán los archivos bajo / var / qmail / control de . Es necesario crear la base de datos de vpopmail y permitir el acceso a la misma antes de usar vpopmail.

Instalación de vpopmail está completa.

 

Pegamento para el software que no son compatibles con vpopmail directamente

software de mensajería y vpopmail tienen una larga historia juntos. La biblioteca de autenticación de mensajería es apoyado por una gran cantidad de correo relacionados con el software que no admite directamente vpopmail. De este modo, puede proporcionar el pegamento entre vpopmail y estos programas como maildrop. Puede descargar courier-authlib y maildrop de https://sourceforge.net/project/showfiles.php?group_id=5404

 

courier-authlib

software de mensajería no se compilará con la cuenta root. Además, para obtener courier-authlib para recoger bibliotecas vpopmail, tiene que ser capaz de acceder a ellas durante la configuración del proceso de construcción. Se sugiere, por tanto, que utilice el usuario vpopmail para el proceso de construcción de courier-authlib. La fuente courier-authlib necesita un pequeño parche para hacer que use plenamente vpopmail: courier-authlib-vpopmail.patch .

 

patch-p1 <courier-authlib-vpopmail.patch
cd courier-authlib-0.58
. / Configure - prefix = / usr / lib / courier - with-redhat \ - with-mailuser = vpopmail - with-MailGroup = vchkpw \ - with-mysql-libs = / usr / lib / mysql \ - -with-mysql-incluye = / usr / include / mysql
hacer
make install
make install-configure