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