Saludos adjunto una configuración de exim4 que estoy probando 
para que los más experimentados en el tema me sugieran posibles
ajustes en cuanto a la seguridad.

#####################################################
# El nombre del servidor de correo.
primary_hostname = sermat1.mathisa1.grm.co.cu

# Filtros del sistema
#system_filter = 
#system_filter_user = Debian-exim

# Definiendo listas de dominios.
domainlist dominios_locales = @ : mathisa.grm.co.cu
domainlist dominios_a_retransmitir = 
# Definiendo listas de anfitriones.
hostlist retransmitir_desde_anfitriones = 127.0.0.1

# Máximo de conexiones smtp aceptadas
smtp_accept_max = 100

# Usar las listas de chequeo
acl_smtp_rcpt = acl_chequear_destinatarios
acl_smtp_data = acl_chequear_datos

# Permitir que todos los clientes usen TLS.
tls_advertise_hosts = *
# Ubicación de los certificados.
tls_certificate = /etc/ssl/exim.crt
tls_privatekey = /etc/ssl/exim.pem


# Puertos por los que va a escuchar el servidor.
daemon_smtp_ports = 25 : 465 : 587
# Algunos clientes de correo no cogen el purto 25 con TLS, por ese se
agrega este otro.
tls_on_connect_ports = 465

# El dominio de las direcciones de correo.
qualify_domain = mathisa.grm.co.cu

# No correr el servicio como root.
never_users = root

# Hacer consultas DNS para obtener información de los anfitriones
remotos que se conectan a exim4
# esto consume ancho de banda.
host_lookup = *

# Borrar los mensajes que rebotan lugo de un tiempo dado.
ignore_bounce_errors_after = 2d
# Borrar los mesajes congelados luego de un tiempo dado.
timeout_frozen_after = 3d

# Tamaño máximo del mensaje
message_size_limit = 2M

# Listas de control de acceso
begin acl


  acl_chequear_destinatarios:

    # Aceptar mensajes emitidos por procesos locales.
    accept hosts = :

    accept hosts = 192.168.0.1
      senders = energia-nore...@mathisa.grm.co.cu


    # Chequear si existe una ruta para llegar al emisor del mensaje.
    require verify = sender

    # Chequear si existe una ruta para llegar al destinatario.
    require verify = recipient
 
    # Denegar el envio de correo si el emisor pertenece a nuestros
dominios locales
    # y se cumple alguna de las expresiones regualares en su dirección
de correo.
    deny message = Caracteres restringidos en la dirección
      domains       = +dominios_locales
      local_parts  = ^[.] : ^.*[@%!/|]

    # Denegar el envio de correo si el emisor no pertenece a nuestros
dominios locales
    # y se cumple alguna de las expresiones regualares en su dirección
de correo.
    deny message = Caracteres restringidos en la dirección  
      domains      = !+dominios_locales
      local_parts  = ^[./|] : ^.*[@%!] : ^.*/\\.\\./


    # Aceptar si el correo es del postmaster de nuestros dominios
locales.
    accept local_parts = postmaster
      domains          = +dominios_locales
  
    # Aceptar los autenticados siempre y cuando no traten de suplantar
identidad.
    accept authenticated = *
      condition = ${if
eq{$sender_address}{$authenticated_id}{true}{false}} 
      control = submission/sender_retain

    # Aceptar a cualquier correo que venga para nuestro dominio
    accept hosts = *
      domains = +dominios_locales : +dominios_a_retransmitir
       senders =!  *@mathisa.grm.co.cu

 
    # Denegar si no fue aceptado en alguna de las reglas anteriores
    deny message = No tiene acceso a enviar correos desde este servidor.


  acl_chequear_datos:
    # Aquí va lo que escanea el contiendo, eso es para luego.
    # Aceptar si pasa las verificaciones anteriores.
    accept

begin routers

   # Copias para la directora
   copias_directora:
     driver = accept
     unseen
     local_parts = lsearch;/etc/exim4/para_la_directora
     transport = para_la_directora

   # Copias para la tecnico productivo
   copias_productivo:
     driver = accept
     unseen
     local_parts = lsearch;/etc/exim4/para_la_productivo
     transport = para_la_productivo

   # Para copiar todos los correos que se envían
   copias_locales:
     driver = accept
     unseen
     transport = para_copias_locales 

   smarthost:
     debug_print = "R: smarthost for $local_part@$domain"
     driver = manualroute
     domains = ! +dominios_locales
     transport = para_smtp_remoto
     route_list = * 10.0.0.1
     host_find_failed = defer
     same_domain_copy_routing = yes
     no_more

# Para los usuarios virtuales
  usuarios_virtuales:
    driver = accept
    domains = mathisa.grm.co.cu
    local_parts = lsearch;/etc/exim4/usuarios_validos
    transport = para_usuarios_virtuales

  # Busca en el fichero donde se encuentran los alias del sistema para
ver si el correo
  # está dirigido a alguno de ellos.
  alias_del_sistema:
    driver = redirect
    allow_fail
    allow_defer
    data = ${lookup{$local_part}lsearch{/etc/aliases}}
    file_transport = para_el_archivo
    pipe_transport = para_la_tuberia

  usuarios_locales:
    driver = accept
    check_local_user
  # local_part_suffix = +* : -*
  # local_part_suffix_optional
    transport = local_delivery

begin transports

  # Guarda los correos en el buzón de la directora
  para_la_directora:
    driver = appendfile
    directory = /var/mail/vmail/mathisa.grm.co.cu/directora
    delivery_date_add
    envelope_to_add
    return_path_add
    maildir_format
    user = mail

  # Guarda los correos en el buzón de la tecnico productivo
  para_la_productivo:
    driver = appendfile
    directory = /var/mail/vmail/mathisa.grm.co.cu/productivo
    delivery_date_add
    envelope_to_add
    return_path_add
    maildir_format
    user = mail

  # Guarda todo lo que le mandan para el usuario auditoria.
  para_copias_locales:
   driver = appendfile
   directory = /var/mail/vmail/mathisa.grm.co.cu/auditoria
   delivery_date_add
   envelope_to_add
   return_path_add
   maildir_format
   user = mail


  # Guarda los mensajes en los buzones de los usuarios virtuales.
  para_usuarios_virtuales:
   driver = appendfile
   directory = /var/mail/vmail/mathisa.grm.co.cu/$local_part
   delivery_date_add
   envelope_to_add
   return_path_add
   maildir_format
   user = mail


  para_smtp_remoto:
    driver = smtp

  para_la_tuberia:
    driver = pipe
    return_output

  
  para_el_archivo:
    driver = appendfile
    delivery_date_add
    envelope_to_add
    return_path_add


  local_delivery:
    driver = appendfile
    directory = /var/mail/$local_part
    delivery_date_add
    envelope_to_add
    return_path_add
    maildir_format
    group = mail


begin retry
  # Tratar de reenviar el mensaje cada 15 min durante dos horas,
  # ...
  # finalmente tratar de enviar el mensaje cada seis horas por dos días.
  *   *   F,2h,15m; G,16h,1h,1.5; F,2d,6h

begin rewrite



begin authenticators

  dovecot_plain:
    driver = dovecot
    public_name = PLAIN
    server_socket = /var/run/dovecot/auth-client
    server_set_id = $auth1

##################################
-- 
Ing. Arley Consuegra Roselló.
Administrador de red de la 
    UEB MATHISA Granma.



-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a