Sistemas de Correo con Postfix, Courier, LDAP, Sasl, Amavis-New y Spamassassin
\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra le ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
Descripción
Este COMO muestra la forma de instalar y configurar un sistema SMTP con autentificación; para lo cual se utilizará el servidor Postfix como servidor SMTP y SASL (Simple Authentication and Security Layer) como sistema de autentificación.
Todo el correo que pase a través del servidor SMTP será revisado en busca de virus y SPAM. Para llevar a cabo esta tarea se utilizará AMaViSd-new como interfaz entre el servidor de correo SMTP y las aplicaciones Clamav y Spamassassin, las cuales analizarán el correo en busca de virus y SPAM respectivamente.
El sistema de correo final dispondrá de un servidor POP3 e IMAP, para lo cual se hará uso del software Courier. Otra de las funcionalidades a implementar será el correo a través de la web, o webmail. Horde3 ha sido el software elegido para dar este servicio.
Todos los servicios han de funcionar con LDAP. La herramienta de administración del directorio LDAP será phpLDAPadmin, que también se supondrá instalada, así como las herramientas de administración que provee OpenLDAP.
Se hace notar que la instalación de todos los servicios va a tener lugar en un sistema Mandriva 2006.
En caso de que necesite mas detalle de todo revise un PDF que respalda este documento.
Procedimiento
Instale Postfix, OpenLdap, Amavis-New, Spamassassin y Clamv
libpostfix1-2.2.5-7mdk
postfix-2.2.5-7mdk
libldap2.3_0-2.3.6-4mdk
courier-imap-ldap-3.0.8-7mdk
pam_ldap-180-2mdk
libldap2.2_7-2.2.23-5mdk
openldap-clients-2.3.6-4mdk
nss_ldap-239-3mdk
libldap2.3_0-devel-2.3.6-4mdk
openldap-2.3.6-4mdk
php-ldap-5.0.4-4mdk
openldap-servers-2.3.6-4mdk
amavisd-new-2.3.3-2mdk
spamassassin-3.0.4-3mdk
spamassassin-spamd-3.0.4-3mdk
clamav-db-0.87-1mdk
clamd-0.87-1mdk
classpathx-jaxp-1.0-0.beta1.9jpp
libclamav1-0.87-1mdk
clamav-0.87-1mdk
Inicialmente configure ldap. Para mas detalle revise el COMO de Ldap.
los datos de slapd.conf me quedaron así:
database ldbm
suffix “dc=coopava,dc=com,dc=co”
rootdn “cn=Manager,dc=coopava,dc=com,dc=co”
rootpw {SSHA}sJD5eTv6Qz0h3oI9meO2ESJ5t5TQiokm ⇒ passwdroot
index objectClass,uid,uidNumber,gidNumber,memberuid eq
index cn,mail,surname,givenname eq,subinitial
access to attr=userPassword
by self write
by anonymous auth
by dn=“uid=root,ou=People,dc=coopava,dc=com,dc=co” write
by 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html colaborador_del_mes.html comision_de_proyectos_obsoleto.html como_desplegar_remoto_con_un_tunel_ssh.html como_hacer_manual_de_funciones.html como_instalar_spoon.html como_limpiar_cache_dns.html como_publicar_docs.html como_reportar_spam.html como_se_implementa_orfeo_sgd.html compensatorios_obsoleto.html condiciones_generales_de_contrato_de_soporte_v14.html configuracion_de_tomcat_como_modulo_de_apache.html configuracion_de_x_lite_cliente_sip.html configuracion_pidgin.html configuracion_planta_telefonica_voip.html configurar_redes.html consola_serial.html consul_open_participation_ruby.html controlador_de_dominio_secundario_samba4.html convertir_pdf_a_a_pdf_plano.html copiar_disco_por_la_red.html cpanel.html crack_de_wep_con_aircrack_ng.html creacion_servidor_codema.html creacion_usuario_postgres_solo_para_consultas.html crear_instalador_de_windows_facil_con_nsis.html crear_instancias_de_orfeong.html crear_paquetes_deb_y_rpm.html crear_repositorios_de_paquetes_deb_y_rpm.html cuestionario_de_severidad.html cups.html cygwn.html dd_wrt.html declaracion_de_trabajo_sow.html deploy_instancia_de_orfeo_express_5x_en_amazon.html deploy_instancia_de_orfeo_express_6x_en_amazon.html descargar_pagina_web_recursivo.html deshabilite_ipv6.html dhcp_multiples_vlans.html dhcp_server.html dhcp_y_dns_dinamico.html directrices_de_manejo_de_tiquetes_en_mesa_de_ayuda_glpi.html docker.html documentacion_de_codigo.html documentos_de_implementacion_de_orfeo_5x.html documentos_estandar_control_proyectos_desarrollo.html dotproject.html drbd.html drp_plan_de_recuperacion_de_desastres.html dsl_personalizacion.html egroupware_ex_phpgw.html ejabberd.html elastix.html enigmail.html enlightenment.html entidad_de_certificacion_a_mano.html entidad_de_certificacion.html entidad_de_certificacion_openca.html envio_y_recepcion_de_fax_en_asterisk.html errores_modelos.html esquema_backup_ikatta.html estandar_bitacora.html estandar_comunicaciones_por_correo_electronico.html estandar_de_archivos_y_directorios.html estandar_de_interfaz_para_proyectos_de_desarrollo.html estandar_de_manejo_de_cronograma.html estandar_de_revision_de_documentos.html estandar_de_soporte_y_mantenimiento_de_skinatech.html estandares_de_comunicacion_de_soporte.html estandar_estacion_de_trabajo_gnu_linux.html estandar_estacion_de_trabajo_ms_windows.html estandar_firma_skina.html estandar_para_interfaz_de_proyectos_de_desarrollo.html estandar_para_la_creacion_de_bases_de_dato.html example_howto.html exim_mta.html extraccion_de_texto_de_documentos.html fail2ban.html falla_laboral.html fax_server.html fink.html firewalld.html firewall_skina_howto.html flujo_de_trabajo_de_proyecto.html flujo_de_trabajo_de_proyecto_trello.html formatos_de_documentos_estandares_de_skinatech.html freenas.html freenx.html freetds.html ftpproxy.html generar_diccionarios_de_datos_en_workbench.html getfacl_y_setfacl.html getmenu2.html gforge.html git_flow.html git.html gitlab.html glassfish.html glpi10.html glpi95.html gnokii.html gnupg_gpg.html google_cloud_platform.html graylog_consolidador_de_bitacoras.html grub.html hacer_modelo_y_o_backup.html hardening_de_linux.html hearbeat_cluster.html hipergate.html hispaniola_firewall_ikatta.html horario_de_trabajo.html how_to_enviar_html_imagenes_con_php5.html howto.html howto_mon.html howto_php_nuke.html huawei_e220.html ibm_aix_snmp_setup_for_nagios.html ibm_db2.html ids_logchecklogwatchtripwireaideetc.html ilo2_e_ilo3.html implementacion_de_oauth2_google_en_orfeo_ng.html implementacion_de_oauth2_microsoft_en_orfeo_ng.html implementacion_glpi.html indicadores_de_gestion.html informes_semanales.html informix_apache_php.html infraestructura_de_operacion.html instalacion_asterisk_en_centos_53.html instalacion_asterisk_en_.html instalacion_de_modelo_de_servidor_con_minilinux.html instalacion_de_modelo_de_servidor.html instalacion_de_pqrs_en_orfeo_sgd.html instalacion_ldap_smb_34_en_debian_lenny.html instalacion_minima_appliance.html instalacion_minima.html instalacion_r_server_&_r_shiny.html instalacion_r_server_&_r_shiny_server.html instalacion_splunk.html instalacion_y_configuracion_apachephp_con_db2_y_soporte_con_odbc.html instalacion_y_configuracion_de_sphinx_para_orfeo.html instalacion_y_configuracion_gatekeeper_h323.html instalacion_y_configuracion_lotus_domino.html instalacion_zimbra.html instalar_cancelador_de_eco_hpec_en_asterisk.html instructivo_de_demos_de_skinatech.html instructivo_formato_de_diagnostico.html ipcop_firewall.html ipsec.html ipsec_zeroshell.html iptables.html iscsi.html ispconfig_v1.html ispconfig_v3.html iwatch_inotifywatch_notificar_eventos_en_carpetas.html jmeter.html joomla_cms.html kernel_compilar.html kuine_administracion_de_licencias.html kuine_generacion_de_licencias.html libchart.html licencia_por_calamidad_domestica.html linux_livecd.html lista_de_mejoras.html locale.html lvm.html lvs_linux_virtual_server.html mailman.html mailscanner.html manejo_de_certificados_integracion_pki.html manejo_de_firma_digital_en_php.html manejo_de_la_cuenta_de_correo_de_soporte.html manejo_de_mi_cuenta_de_correo_electronico.html manejo_de_recursos_egroupware_18.html mantis_bug_tracker.html manual_de_funciones_de_agente_de_soporte.html manual_de_funciones_de_consultor_de_tecnologia.html manual_de_telefonos.html manual_de_uso_asterisk.html manual_de_uso_fastrix.html manuales_de_funciones_area_administrativa.html manuales_de_funciones_area_tecnica.html maya_render_farm.html mdadm.html mejorar_rendimiento_libre_office.html metodologia_estandar_de_control_de_proyectos.html metodologia_estandar_de_control_de_proyectos_orfeo.html metodologia_para_desarrollo_de_software.html migracion_bacula_de_5_a_7.html migracion_orfeo_5_a_6.html migrando_samba3_a_samba4.html modelo_appliance.html modelo_de_procedimientos.html modelo_para_howtos.html modelo_para_propuesta.html monit.html montar_bucket_s3_amazon_y_oracle.html montar_orfeo_en_iis.html moodle.html ms_windows_en_linux_wine.html multi_factor_authentication_mfa.html multipath_conexion_con_san.html multiple_versiones_de_php.html multi_router_trafic_grapher_mrtg.html munin_alto_trafico.html munin.html mutliwan_openwrt.html mwan3_en_openwrt.html mysql_cluster_41.html mysql_ha.html mysql_mariadb.html mysql_proxy.html n2n_vpn.html nagios_30.html nagios_40.html nagios_bacula.html nagios_nrpe.html nagios_snmp.html netdata_monitor_tiempo_real.html network_load_balancing.html network_manager.html nextcloud.html nfs.html niveles_de_soporte.html no_conformidades.html novell_netware.html ntp_network_time_protocol.html nube_vs_servidores_locales.html oauth2.html objetivo_de_un_diagnostico_assestment.html ocr_en_linux.html ocs_inventory.html odbc.html office_365.html ofuscacion_de_codigo_yarchivo_de_autovalidacion_de_orfeo_50.html openfire.html openldap23.html openldap.html open_relay.html openssl.html openstack.html openswan.html openvas.html openvpn.html openvpnzeroshell_w2k12.html openwrt.html optimizacion_de_aplicaciones.html oracle_db.html orfeo_38_skn.html orfeo_bd.html orfeo_cargar_imagenes_fondo_acumulado.html orfeo.html orfeo_impedir_listar_directorios_apache2.html orfeong_php_81base_de_datos.html orfeong_pruebas_de_bases_de_datos.html orfeo_scan.html otp_one_time_password.html otras_directrices_y_comentarios.html otrs_open_ticket_request_system.html owncloud_91_centos_6.html p3scan.html palm_os.html parametrizacion_de_orfeo_ng.html parametrizacion_orfeo_6x.html parametrizacion_orfeo_express_6x.html particionamiento_gpt.html paso_a_produccion_orfeo_6x.html paso_a_produccion_orfeo_ng.html pasos_para_editar_skinascan.html perl.html personalizacion_usando_linux_logo.html pfsense.html php_52_y_53_en_centos_610.html php_db2.html php.html php_oracle.html planta_telefonica_programacion_obsoleta.html plantilla_primer_correo_cliente_orfeo_express.html plymouth.html politica_de_compensaciones.html politica_de_reporte_de_actividades.html politica_solicitud_permisos.html postfix_mta.html postgresql_ha.html postgresql.html postman.html powerpc_rs6k.html pptp.html procedimiento_de_manejo_para_nuevos_desarrollos.html procedimiento_entrega_servicio_orfeo_express.html procedimiento_inicio_servidor_de_impresion_obsoleto.html procedimiento_para_avalar_un_cliente.html procedimiento_salida_oficina.html procedimiento_se_fue_la_luz.html proceso_de_compra_para_proyectos.html proceso_de_control_y_seguimiento_de_proyectos.html proceso_de_creacion_de_usuario.html proceso_de_formalizacion_solucion_empresarial_2009.html proceso_de_formalizacion_solucion_empresarial_2018_2019.html proceso_ejecucion_proyecto.html proceso_instalador_tarificador_skclient.html programas_de_shell_utiles.html project_charter_implementacion_del_sgd_orfeo.html project_open.html protocolo_bioseguridad_covid_19_skinatech_azuan.html protocolo_de_apertura_y_cierre_de_contratos_glpi.html protocolo_de_apertura_y_cierre_de_contratos.html protocolo_de_apertura_y_cierre_de_proyectos_dotproject.html protocolo_de_creacion_de_proyectos_dentro_del_dotproject.html protocolos_de_salida_de_la_toficina.html proxmox.html proxy_configuration_por_dhcp_dns.html proxy_skina_howto.html proyecto_implementacion_orfeo_listado_de_documentos.html python.html qmail_mta.html que_debe_ir_en_el_crm.html quota.html radius_ppp.html radius_samba4.html recuperar_datos_borrados_con_rm.html red_hat_cluster.html redmine.html reducir_tamano_pdf.html regla_de_multas_por_faltas_de_calidad_obsoleto.html reglamentacion_de_viajes.html reglamento_de_capacitaciones.html reglas_del_uso_de_la_nevera_a.html reglas_del_uso_de_la_nevera.html reglas_de_uso_de_la_cafetera_y_tetera.html reglas_de_uso_del_espacio_para_almuerzo.html reglas_internas_de_skina.html reinicio_de_secuencias_en_orfeo.html remasterizar_knoppix_dsl.html renovar_certificados_acme_hispaniola.html resolver_expired_key_con_apt.html retirar_de_listas_negras_blacklists.html roadmap_infraestructura_interna.html roadmap_servicio_soporte.html roundcube.html router_bridge_inhalambrico_con_openwrt.html rrd_tool.html rsh_por_ssh.html rspamd.html ruby_passenger_apache.html samba4.html samba_ldap.html samba_version_3.html sane_scanner.html script_para_firmar_documentos.html sec_simple_event_correlation.html secure_shell_ssh.html seguridad_para_contrasenas.html seleccion_de_personal.html sendmail_mta.html servidor_bdatos_skina_howto.html servidor_de_correo2024.html servidor_de_correo.html servidor_de_mensajeria_instantanea_con_jabberd2.html servidor_ftp.html servidor_internet_skina_howto.html servidor_orfeo_skina_howto.html servidor_pop3_e_imap.html servidor_vpn_utilizando_ipsec_y_l2tp.html shell_scripting.html sincronizar_una_dir_desde_un_el_equipo_local_a_un_equipo_remoto_usando_rsync.html sistemas_de_correo_con_postfixcourierldapsaslamavis_new_y_spamassassin.html none
access to *
by dn=“uid=root,ou=People,dc=coopava,dc=com,dc=co” write
by 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html colaborador_del_mes.html comision_de_proyectos_obsoleto.html como_desplegar_remoto_con_un_tunel_ssh.html como_hacer_manual_de_funciones.html como_instalar_spoon.html como_limpiar_cache_dns.html como_publicar_docs.html como_reportar_spam.html como_se_implementa_orfeo_sgd.html compensatorios_obsoleto.html condiciones_generales_de_contrato_de_soporte_v14.html configuracion_de_tomcat_como_modulo_de_apache.html configuracion_de_x_lite_cliente_sip.html configuracion_pidgin.html configuracion_planta_telefonica_voip.html configurar_redes.html consola_serial.html consul_open_participation_ruby.html controlador_de_dominio_secundario_samba4.html convertir_pdf_a_a_pdf_plano.html copiar_disco_por_la_red.html cpanel.html crack_de_wep_con_aircrack_ng.html creacion_servidor_codema.html creacion_usuario_postgres_solo_para_consultas.html crear_instalador_de_windows_facil_con_nsis.html crear_instancias_de_orfeong.html crear_paquetes_deb_y_rpm.html crear_repositorios_de_paquetes_deb_y_rpm.html cuestionario_de_severidad.html cups.html cygwn.html dd_wrt.html declaracion_de_trabajo_sow.html deploy_instancia_de_orfeo_express_5x_en_amazon.html deploy_instancia_de_orfeo_express_6x_en_amazon.html descargar_pagina_web_recursivo.html deshabilite_ipv6.html dhcp_multiples_vlans.html dhcp_server.html dhcp_y_dns_dinamico.html directrices_de_manejo_de_tiquetes_en_mesa_de_ayuda_glpi.html docker.html documentacion_de_codigo.html documentos_de_implementacion_de_orfeo_5x.html documentos_estandar_control_proyectos_desarrollo.html dotproject.html drbd.html drp_plan_de_recuperacion_de_desastres.html dsl_personalizacion.html egroupware_ex_phpgw.html ejabberd.html elastix.html enigmail.html enlightenment.html entidad_de_certificacion_a_mano.html entidad_de_certificacion.html entidad_de_certificacion_openca.html envio_y_recepcion_de_fax_en_asterisk.html errores_modelos.html esquema_backup_ikatta.html estandar_bitacora.html estandar_comunicaciones_por_correo_electronico.html estandar_de_archivos_y_directorios.html estandar_de_interfaz_para_proyectos_de_desarrollo.html estandar_de_manejo_de_cronograma.html estandar_de_revision_de_documentos.html estandar_de_soporte_y_mantenimiento_de_skinatech.html estandares_de_comunicacion_de_soporte.html estandar_estacion_de_trabajo_gnu_linux.html estandar_estacion_de_trabajo_ms_windows.html estandar_firma_skina.html estandar_para_interfaz_de_proyectos_de_desarrollo.html estandar_para_la_creacion_de_bases_de_dato.html example_howto.html exim_mta.html extraccion_de_texto_de_documentos.html fail2ban.html falla_laboral.html fax_server.html fink.html firewalld.html firewall_skina_howto.html flujo_de_trabajo_de_proyecto.html flujo_de_trabajo_de_proyecto_trello.html formatos_de_documentos_estandares_de_skinatech.html freenas.html freenx.html freetds.html ftpproxy.html generar_diccionarios_de_datos_en_workbench.html getfacl_y_setfacl.html getmenu2.html gforge.html git_flow.html git.html gitlab.html glassfish.html glpi10.html glpi95.html gnokii.html gnupg_gpg.html google_cloud_platform.html graylog_consolidador_de_bitacoras.html grub.html hacer_modelo_y_o_backup.html hardening_de_linux.html hearbeat_cluster.html hipergate.html hispaniola_firewall_ikatta.html horario_de_trabajo.html how_to_enviar_html_imagenes_con_php5.html howto.html howto_mon.html howto_php_nuke.html huawei_e220.html ibm_aix_snmp_setup_for_nagios.html ibm_db2.html ids_logchecklogwatchtripwireaideetc.html ilo2_e_ilo3.html implementacion_de_oauth2_google_en_orfeo_ng.html implementacion_de_oauth2_microsoft_en_orfeo_ng.html implementacion_glpi.html indicadores_de_gestion.html informes_semanales.html informix_apache_php.html infraestructura_de_operacion.html instalacion_asterisk_en_centos_53.html instalacion_asterisk_en_.html instalacion_de_modelo_de_servidor_con_minilinux.html instalacion_de_modelo_de_servidor.html instalacion_de_pqrs_en_orfeo_sgd.html instalacion_ldap_smb_34_en_debian_lenny.html instalacion_minima_appliance.html instalacion_minima.html instalacion_r_server_&_r_shiny.html instalacion_r_server_&_r_shiny_server.html instalacion_splunk.html instalacion_y_configuracion_apachephp_con_db2_y_soporte_con_odbc.html instalacion_y_configuracion_de_sphinx_para_orfeo.html instalacion_y_configuracion_gatekeeper_h323.html instalacion_y_configuracion_lotus_domino.html instalacion_zimbra.html instalar_cancelador_de_eco_hpec_en_asterisk.html instructivo_de_demos_de_skinatech.html instructivo_formato_de_diagnostico.html ipcop_firewall.html ipsec.html ipsec_zeroshell.html iptables.html iscsi.html ispconfig_v1.html ispconfig_v3.html iwatch_inotifywatch_notificar_eventos_en_carpetas.html jmeter.html joomla_cms.html kernel_compilar.html kuine_administracion_de_licencias.html kuine_generacion_de_licencias.html libchart.html licencia_por_calamidad_domestica.html linux_livecd.html lista_de_mejoras.html locale.html lvm.html lvs_linux_virtual_server.html mailman.html mailscanner.html manejo_de_certificados_integracion_pki.html manejo_de_firma_digital_en_php.html manejo_de_la_cuenta_de_correo_de_soporte.html manejo_de_mi_cuenta_de_correo_electronico.html manejo_de_recursos_egroupware_18.html mantis_bug_tracker.html manual_de_funciones_de_agente_de_soporte.html manual_de_funciones_de_consultor_de_tecnologia.html manual_de_telefonos.html manual_de_uso_asterisk.html manual_de_uso_fastrix.html manuales_de_funciones_area_administrativa.html manuales_de_funciones_area_tecnica.html maya_render_farm.html mdadm.html mejorar_rendimiento_libre_office.html metodologia_estandar_de_control_de_proyectos.html metodologia_estandar_de_control_de_proyectos_orfeo.html metodologia_para_desarrollo_de_software.html migracion_bacula_de_5_a_7.html migracion_orfeo_5_a_6.html migrando_samba3_a_samba4.html modelo_appliance.html modelo_de_procedimientos.html modelo_para_howtos.html modelo_para_propuesta.html monit.html montar_bucket_s3_amazon_y_oracle.html montar_orfeo_en_iis.html moodle.html ms_windows_en_linux_wine.html multi_factor_authentication_mfa.html multipath_conexion_con_san.html multiple_versiones_de_php.html multi_router_trafic_grapher_mrtg.html munin_alto_trafico.html munin.html mutliwan_openwrt.html mwan3_en_openwrt.html mysql_cluster_41.html mysql_ha.html mysql_mariadb.html mysql_proxy.html n2n_vpn.html nagios_30.html nagios_40.html nagios_bacula.html nagios_nrpe.html nagios_snmp.html netdata_monitor_tiempo_real.html network_load_balancing.html network_manager.html nextcloud.html nfs.html niveles_de_soporte.html no_conformidades.html novell_netware.html ntp_network_time_protocol.html nube_vs_servidores_locales.html oauth2.html objetivo_de_un_diagnostico_assestment.html ocr_en_linux.html ocs_inventory.html odbc.html office_365.html ofuscacion_de_codigo_yarchivo_de_autovalidacion_de_orfeo_50.html openfire.html openldap23.html openldap.html open_relay.html openssl.html openstack.html openswan.html openvas.html openvpn.html openvpnzeroshell_w2k12.html openwrt.html optimizacion_de_aplicaciones.html oracle_db.html orfeo_38_skn.html orfeo_bd.html orfeo_cargar_imagenes_fondo_acumulado.html orfeo.html orfeo_impedir_listar_directorios_apache2.html orfeong_php_81base_de_datos.html orfeong_pruebas_de_bases_de_datos.html orfeo_scan.html otp_one_time_password.html otras_directrices_y_comentarios.html otrs_open_ticket_request_system.html owncloud_91_centos_6.html p3scan.html palm_os.html parametrizacion_de_orfeo_ng.html parametrizacion_orfeo_6x.html parametrizacion_orfeo_express_6x.html particionamiento_gpt.html paso_a_produccion_orfeo_6x.html paso_a_produccion_orfeo_ng.html pasos_para_editar_skinascan.html perl.html personalizacion_usando_linux_logo.html pfsense.html php_52_y_53_en_centos_610.html php_db2.html php.html php_oracle.html planta_telefonica_programacion_obsoleta.html plantilla_primer_correo_cliente_orfeo_express.html plymouth.html politica_de_compensaciones.html politica_de_reporte_de_actividades.html politica_solicitud_permisos.html postfix_mta.html postgresql_ha.html postgresql.html postman.html powerpc_rs6k.html pptp.html procedimiento_de_manejo_para_nuevos_desarrollos.html procedimiento_entrega_servicio_orfeo_express.html procedimiento_inicio_servidor_de_impresion_obsoleto.html procedimiento_para_avalar_un_cliente.html procedimiento_salida_oficina.html procedimiento_se_fue_la_luz.html proceso_de_compra_para_proyectos.html proceso_de_control_y_seguimiento_de_proyectos.html proceso_de_creacion_de_usuario.html proceso_de_formalizacion_solucion_empresarial_2009.html proceso_de_formalizacion_solucion_empresarial_2018_2019.html proceso_ejecucion_proyecto.html proceso_instalador_tarificador_skclient.html programas_de_shell_utiles.html project_charter_implementacion_del_sgd_orfeo.html project_open.html protocolo_bioseguridad_covid_19_skinatech_azuan.html protocolo_de_apertura_y_cierre_de_contratos_glpi.html protocolo_de_apertura_y_cierre_de_contratos.html protocolo_de_apertura_y_cierre_de_proyectos_dotproject.html protocolo_de_creacion_de_proyectos_dentro_del_dotproject.html protocolos_de_salida_de_la_toficina.html proxmox.html proxy_configuration_por_dhcp_dns.html proxy_skina_howto.html proyecto_implementacion_orfeo_listado_de_documentos.html python.html qmail_mta.html que_debe_ir_en_el_crm.html quota.html radius_ppp.html radius_samba4.html recuperar_datos_borrados_con_rm.html red_hat_cluster.html redmine.html reducir_tamano_pdf.html regla_de_multas_por_faltas_de_calidad_obsoleto.html reglamentacion_de_viajes.html reglamento_de_capacitaciones.html reglas_del_uso_de_la_nevera_a.html reglas_del_uso_de_la_nevera.html reglas_de_uso_de_la_cafetera_y_tetera.html reglas_de_uso_del_espacio_para_almuerzo.html reglas_internas_de_skina.html reinicio_de_secuencias_en_orfeo.html remasterizar_knoppix_dsl.html renovar_certificados_acme_hispaniola.html resolver_expired_key_con_apt.html retirar_de_listas_negras_blacklists.html roadmap_infraestructura_interna.html roadmap_servicio_soporte.html roundcube.html router_bridge_inhalambrico_con_openwrt.html rrd_tool.html rsh_por_ssh.html rspamd.html ruby_passenger_apache.html samba4.html samba_ldap.html samba_version_3.html sane_scanner.html script_para_firmar_documentos.html sec_simple_event_correlation.html secure_shell_ssh.html seguridad_para_contrasenas.html seleccion_de_personal.html sendmail_mta.html servidor_bdatos_skina_howto.html servidor_de_correo2024.html servidor_de_correo.html servidor_de_mensajeria_instantanea_con_jabberd2.html servidor_ftp.html servidor_internet_skina_howto.html servidor_orfeo_skina_howto.html servidor_pop3_e_imap.html servidor_vpn_utilizando_ipsec_y_l2tp.html shell_scripting.html sincronizar_una_dir_desde_un_el_equipo_local_a_un_equipo_remoto_usando_rsync.html sistemas_de_correo_con_postfixcourierldapsaslamavis_new_y_spamassassin.html read
Luego configure /etc/ldap.conf (Yo hice un link simbólico de /etc/openldap/ldap.conf a /etc/ldap.conf)
host 127.0.0.1
base dc=coopava,dc=com,dc=co
pam_filter objectclass=posixaccount
pam_login_attribute uid
pam_member_attribute gid
pam_password crypt
nss_base_passwd ou=People,dc=coopava,dc=com,dc=co?one
nss_base_shadow ou=People,dc=coopava,dc=com,dc=co?one
nss_base_group ou=Groups,dc=coopava,dc=com,dc=co?one
Pruebe reiniciar ldap para ver que todo vaya bien. Si es así realice las tareas de migración necesarias para construir las estructura recien configurada.
Esquema para el directorio LDAP
****
El esquema que se utilizará para el directorio LDAP será un árbol cuya la raíz será: dc=coopava,dc=com,dc=co, de la cual colgarán tres organizationalUnit que almacenarán toda la información necesaria:
• Rama “People”: la cual contendrá información sobre las cuentas de usuario. Aquí se almacenarán todos los
datos obligatorios de las cuentas: direcciones de correo electrónico, directorio Maildir, etc.
• Rama “Groups”: almacenará la información relativa a grupos de usuarios.
• Rama “Postfix”: que contendrá la información necesaria para Postfix. En esta rama se creará una rama hija
para el almacén de los alias de correo, de manera que se puedan tener varias direcciones que apunten a una
misma cuenta o a otra cuenta externa.
Ejemplo 1. Plantilla LDIF para la creación de las unidades organizacionales: postfix, alias, people y groups
# Entry 1: ou=People,dc=coopava,dc=com,dc=co
dn:ou=People,dc=coopava,dc=com,dc=co
objectClass: organizationalunit
ou: People
# Entry 2: ou=Groups,dc=coopava,dc=com,dc=co
dn:ou=Groups,dc=coopava,dc=com,dc=co
objectClass: organizationalunit
ou: Groups
# Entry 3: ou=Postfix,dc=coopava,dc=com,dc=co
dn:ou=Postfix,dc=coopava,dc=com,dc=co
ou: Postfix
objectClass: top
objectClass: organizationalUnit
userPassword: {CRYPT}****************
# Entry 4: ou=alias,ou=Postfix,dc=coopava,dc=com,dc=co
dn:ou=alias,ou=Postfix,dc=coopava,dc=com,dc=co
ou: alias
objectClass: top
objectClass: organizationalUnit
En el COMO de Ldap esta la forma de agregar esta información a la base de datos.
Directorio para el almacén de correos
****
Las cuentas de correo tendrán su buzón de correo bajo el directorio /var/vmail/$user/Maildir, donde “$user” se sustituirá por el nombre del usuario.
Todos los usuarios de correo pertenecerán al grupo vmail, por lo que si este grupo no existe en su sitema, tendrá que crearlo. A continuación se presenta la plantilla
LDIF necesaria para añadir el grupo “vmail” al directorio LDAP:
Ejemplo 2. Plantilla LDIF para el grupo “vmail”
# Entry 1: cn=vmail,ou=groups,dc=gsr,dc=pt
dn:cn=vmail,ou=groups,dc=gsr,dc=pt
cn: vmail
gidNumber: 10004 –
objectClass: top
objectClass: posixGroup
–
Elija el GID del grupo de acuerdo a la configuración de su sistema.
luego si usted tiene que migrar la información de las cuentas que tiene en /etc/passwd a la base de datos ldap utilice un script que permite definir un archivo ldif
a partir de los archivos passwd y shadow de tal forma que conserve las contraseñas. al final del documento esta el script. Ahi se muestran los detalles que debe tener
cada cuenta para que luego las pueda crear desde phpldaadmin.
Una vez usted tiene el archivo ldif con las cuntas que desea migrar, subalo a ldap y verifique por phpldapadmin que todo este bien.
Cuando ya se tienen las cuentas en ldap toca crear los directorios de cada cuenta en el sistemas, detras de /var/vmail/coopava
Como los usuarios de correo van a ser usuarios del sistema, pero sin acceso a la shell, en principio, tienen asociado un directorio home, cuyo path será: /home/vmail/coopava/$user ($user se corresponde con el nombre del usuario). Por este motivo, se va a añadir al directorio /etc/skel/ un archivo de recursos para procmail (programa encargado del repardo de correos de los usuarios) y el directorio bajo el cual se van a almacenar los correos de los usuarios en formato Maildir. El siguiente ejemplo muestra como hacerlo:
Ejemplo 3. Preparando el directorio /etc/skel/
////
# /bin/echo -ne “PATH=/usr/bin:/bin:/usr/local/bin:.\\\
MAILDIR=\\$HOME/Maildir\DEFAULT=\\$MAILDIR/” > /etc/skel/.procmailrc –
# /usr/bin/maildirmake /etc/skel/Maildir
–
Ahora el sistema ya se encuentra preparado para la correcta creación del home de los usuarios de correo.
SI migro las cuentas del sistema y ahora las tiene en ldap, debe crearle al directorio a cada una de ellas. Para eso utilice un script que se muestra al final de este
documento que lo que hace es barrer la base de datos y por cada cuenta crear el directorio utilizando /etc/skel, además ajusta los permisos.
Tenga en cuenta que en este punto ya debe tener configurado el sistemas para que autentique a travez de PAM y que PAM busque inicialmente en LDAP para
autenticar los usuarios. Para eso en /etc/nsswitch.conf cambie:
passwd: files ldap
shadow: files ldap
group: files ldap
#hosts: db files nisplus nis dns
hosts: files nisplus nis dns
Adición de un usuario de correo
****
En esta sección se verá como añadir un usuario de correo al directorio LDAP. En esta ocasión se hará uso de las herramientas de consola que provee el paquete ldap-utils. Para ello, se creará un archivo ldif con la siguiente:
dn:uid=user,ou=people,dc=coopava,dc=com,dc=co
uid: user
cn: Nombre
sn: Apellidos
userPassword: {CRYPT}******** – 1
loginShell: /bin/false — 2
uidNumber: 10001
gidNumber: 10004 ˜ 3
homeDirectory: /home/vmail/coopava/user ™ 4
shadowMin: -1
shadowMax: 999999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 0
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: CourierMailAccount š 5
mail: usuario@dominio.com › 6
mailbox: Maildir/ œ 7
quota: 0 Â? 8
Dentro de estos datos se puede observar:
1. Clave del usuario encriptada con el algoritmo de hash CRYPT. La elección del algoritmo es crítica para el funcionamiento global del sistema. Si no se escoge este algoritmo, no se podrá autentificar más tarde en los servicios POP3 e IMAP.
2. La shell para los usuarios destinados al correo será una shell nula, es decir, no tendrán acceso al sistema; sólo podrán obtener y enviar su correo del mismo. Si en el futuro se quisiese dotar a este usuario con acceso shell, sólo habría que cambiar este atributo por una shell válida.
˜
3. GID del grupo principal del usuario de correo. Este ha de ser el GID del grupo vmail (eche un vistazo al valor introducido en GID del grupo vmail).
™
4. Directorio home del usuario.
š
5. objectClass que especifica los atributos relacionados con el correo.
›
6. Correo electrónico del usuario.
Â?
7. Atributo que controla la quota del usuario. Como de momento no se va a hacer uso de este parámetro, se utilizará para controlar si una cuenta se encuentra desactivada (valor -1) o no (cualquier otro valor).
œ
8. Ruta relativa al buzón de correo donde se almacenarán los mensajes. Se han de tener en cuenta los siguientes puntos: el directorio almacén será de la forma dominio.com/usuario/ ; el directorio se ha de crear antes de ser utilizado; el directorio ha de finalizar en “/” para indicar que se está trabajando con el formato Maildir.
Para encriptar la clave con el algoritmo de hash CRYPT, se ha utilizado la herramienta slappasswd que provee el paquete ldap-utisl. El proceso de generación ha sido el siguiente:
Ejemplo 4 Obtención de una clave encriptada con CRYPT
////
# /usr/sbin/slappasswd -v -u -h {CRYPT}
New password: [clave]
Re-enter new password: [clave]
{CRYPT}u8.2mAF.3QmIQ
Creación de un alias de correo
****
Para crear un alias de correo, se ha de crear un elemento bajo la hoja ou=alias,ou=Postfix,dc=coopava,dc=com,dc=co e indicar que hacer cuando llegue un correo a esta cuenta. En este caso, la plantilla a utilizar es la siguiente:
dn: mail=alias@coopava.com.co,ou=alias,ou=Postfix,dc=coopava,dc=com,dc=co – 1
cn: Nombre
mail: alias@coopava.com.co 2
maildrop: direccion@coopava.com.co ˜ 3
sn: Apellidos
objectClass: couriermailalias ™ 4
objectClass: inetOrgPerson
objectClass: Person
–
1. Se utilizará como dn el atributo mail.
—
2. Se corresponde con el alias de uno de los dominios virtuales que se poseen.
˜
3. Dirección de destino. Se puede corresponder con una dirección virtual de alguno de los dominios virtuales en su poder o una en otro dominio. Si existe más de una línea con el atributo maildrop, el mensaje que llegue a la cuenta mail se enviará a todas las direcciones especificadas.
™
4. objectClass que especifica que la cuenta es de tipo alias.
Modificación de la configuración de Postfix
****
En esta sección se mostrarán los aspectos de configuración de Postfix más importantes para hacer uso de undirectorio LDAP, entre otras cosas.
Edite el archivo /etc/main.cf, identifique y cambie esto:
# User configurable parameters
inet_interfaces = all
delay_warning_time = 3h
#//////////////////////////////////////////////////////////
home_mailbox = Maildir/
mynetworks = 127.0.0.0/8, 192.168.0.0/16
myhostname = f117.coopava.com.co
mydomain = coopava.com.co
myorigin = $mydomain
mydestination = $mydomain, $myhostname, localhost.$mydomain localhost.localdomain
message_size_limit = 20000000
mailbox_size_limit = 50000000
#///////////////////SKINA/////////////////////////
#Alias virtuales
virtual_maps = ldap:valiases
valiases_server_host = f117.igac.gov.co
valiases_search_base = ou=alias,ou=Postfix,dc=coopava,dc=com,dc=co
valiases_query_filter = (&(mail=%s)(objectClass=CourierMailAlias))
valiases_result_attribute = maildrop
valiases_bind = no
f117_search_base = dc=coopava, dc=com, dc=co
f117_server_host = f117.coopava.com.co
smtpd_banner = $mydomain ESMTP - Attn: El correo SPAM no se permite y será castigado.
unknown_local_recipient_reject_code = 550
receive_override_options = no_address_mappings
mailbox_command = /usr/bin/procmail -a “$EXTENSION” DEFAULT=$HOME/Maildir/ MAILDIR=$HOME/Maildir
########## control de errores ###########
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep
receive_override_options = no_address_mappings
alias_maps = hash:/etc/postfix/aliases
recipient_delimiter = +
owner_request_special = no
Reinicie POstfix y verifique que todo quede bien. Yo tuve lios con la configuración, aparentemente el servicios subia bien pero nunca hacia las cosas de Ldap,
una forma que encontre de verificar que todo este bien configurado es poner el banner del servidor al final del archivo, reiniciar y luego hacer un telnet al puerto
25 de la maquina y verificar que el banner aparezca. De esta forma puede estar seguro que postfix no peleará contra la configuración que usted coloco.
Preparando OpenLDAP para el soporte de correo
****
OpenLDAP necesita un esquema específico para poder manejar información acerca del correo electrónico, este esquema se encuentra en el paquete courier-ldap,
por lo que se procederá a su instalación:
courier-imap-ldap-3.0.8-7mdk
Y de una vez instale los paquetes necesarios de courier
courier-imap-3.0.8-7mdk
courier-imap-pop-3.0.8-7mdk
Los archivos de configuración quedan ubicados en /etc/courier
En ese directorio hay un archivo authldaprc.dist. Copielo como authldaprc en el mismo directorio. Los cambios que se deben realizar en el archivo deben quedar así:
LDAP_SERVER f117.coopava.com.co
LDAP_PORT 389
LDAP_PROTOCOL_VERSION 3
LDAP_BASEDN dc=coopava,dc=com,dc=co
LDAP_BINDDN cn=Manager,dc=coopava, dc=com, dc=co
LDAP_BINDPW passwdroo
LDAP_TIMEOUT 5
LDAP_AUTHBIND 1
LDAP_MAIL mail
LDAP_FILTER (!(quota=-1)
LDAP_DOMAIN coopava.com.co
LDAP_GLOB_GID vmail
LDAP_HOMEDIR homeDirectory
LDAP_MAILDIR mailbox
LDAP_DEFAULTDELIVERY defaultDelivery
LDAP_FULLNAME cn
LDAP_CLEARPW clearPassword
LDAP_CRYPTPW userPassword
LDAP_UID uidNumber
LDAP_DEREF never
LDAP_TLS 0
Configuración de Courier
Configuración del servicio de autentificación
Courier utiliza un servicio de autentificación para todos sus servicios. Este servicio se puede configurar de varias formas, de manera que haga la autentificación desde varias fuentes (PAM, LDAP, MySQL - MariaDB, et.). Esto significa que una vez configurado este servicio, los demás servicios de courier (POP3, POP3s, IMAP, etc) harán uso de
este para la autentificación.
El servicio de autentificación está formado por un demonio llamado authdaemon, cuyo fichero de configuración es /etc/courier/authdaemonrc. Por defecto viene configurado para la autentificación vía PAM. A parte de este método, en esta documentación se hará uso de LDAP, por lo que modifique el archivo /etc/courier/authdaemonrc y añada este método de autentificación a la variable authmodulelist, como se muestra a continuación:
authmodulelist=“authpam authldap”;
authmodulelistorig=“authcustom authcram authuserdb authldap authpgsql authmysql authpam”
luego modifique los esquemas de autenticación en /etc/pam.d
imap:
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
pop:
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
smtp:
auth sufficient /lib/security/pam_ldap.so
account sufficient /lib/security/pam_permit.so
passwd:
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so use_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so try_first_pass
Con esto ya debe tener listo el sistema para recibir y enviar correos, pruebe.. sobretodo ,la utenticación contra ldap.
telnet localhost 110
user usuario
pass password
Si pasa esta prueba con uno de los usuarios que esta en ldap todo va bien ya que imap utiliza el mismo esquema de autenticación.
5-Mayo-2006 Jhair A. Escobar v1.0 Primera version