Postfix En Debian

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Postfix En Debian as PDF for free.

More details

  • Words: 8,542
  • Pages: 75
SERVIDOR DE CORREO EN LINUX DEBIAN.

Lo primero que haremos sera escribir los repositorios que usaremos para descargar nuestros paquetes en la ruta /etc/apt/suorces.list. #nano /etc/apt/sources.list Los repositorios que nosotros usamos son: deb http://http.us.debian.org/debian etch main contrib non-free deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main deb http://security.debian.org/ stable/updates main contrib deb http://ftp.es.debian.org/debian/ stable main contrib non-free deb http://ftp.rediris.es/debian/ stable main contrib non-free deb ftp://ftp.dat.etsit.upm.es/debian/ stable main contrib non-free deb http://jane.uab.es/debian/ stable main contrib non-free deb-src http://ftp.es.debian.org/debian/ sid main deb http://ftp.de.debian.org/debian/ etch main contrib non-free deb http://mds.mandriva.org/pub/mds/debian etch main deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-f$ deb http://www.backports.org/debian etch-backports main deb ftp://ftp.us.debian.org/debian sarge main contrib non-free

Antes de actualizar debemos crear las llaves para permitir las descargas de los paquetes necesarios de los repositorios backports. #wget -O - http://backports.org/debian/archive.key | apt-key add ahora actuallizamos los repositorios. #apt-get update #apt-get upgrade.

SERVIDOR DNS. Antes de empezar a configurar nuestro servidor de correo debemos hacer unas configuraciones previas como tener un servidor dns que resuelva nuestro nuestro dominio y resuelva el nombre de nuestro servidor de correo. Instalación: #apt-get install bind9 Ahora procedemos a configurar los archivo de configuración del bind se encuentra en /etc/bind/ hay se encuentra el archivo named.conf procedemos a cambiar las lineas de tal manera que quede de la siguiente manera. zone "mundoredes.com" { type master; file "/etc/bind/directa."; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/inversa."; };

Nuestro dominio se llamara mundoredes.com. Ahora crearemos las zonas estos son archivos donde configuraremos las opciones de

nuestro servidor. Vamos ala ruta donde están los archivos de configuración del dns. #cd /etc/bind copiamos los archivos de muestra para nuestras zonas estas archivos de muestra son para la inversa db.127 y para la directa db.local. Copiamos: #cp db.127 inversa #cp db.local directa editamos la zona inversa #pico /etc/bind/inversa

Esta zona nos debe quedar de esta manera. Editamos la zona directa #pico /etc/bind/directa

Configuramos normalmente el dns y lo mas importante es agregar el host de nuestro servidor de correo y su nombre sera mail y la dirección ip sera 192.168.1.1, agregamos e l registro mx con una prioridad de 10. ya creadas las zonas reiniciamos nuestro servidor dns #/etc/init.d/bind9 restart prueba: vamos a sistema, luego administración, y por ultimo damos clic en red, aquí configuramos nuestra interfaz de red le ponemos una ip fija la ip de nuestro servidor en mi caso sera 192.168.1.1 y en la pestaña dns escribimos nuestro nombre de dominio en dominios de búsqueda que en este ejemplo sera mundoredes.com y en servidores dns escribimos la dirección ip del servidor que sera 192.168.1.1.

Luego abrimos la consola y escribimos el comando nslookup. #nslookup > set q=any > mundoredes.com

Al escribir las dos lineas anteriores me debe mostrar toda la configuración de mi dominio, miremos que aparezca la configuración de nuestro servidor de correo como en la imagen anterior. Si la prueba sale satisfactoria mente ya tenemos listo nuestro servidor dns.

INSTALACIÓN Y CONFIGURACIÓN BÁSICA DE POSTFIX. Lo primero que haremos es la instalación de nuestro servidor de correo en este ejemplo usaremos postfix que es un Agente de Transporte de Correo (MTA) libre.

miramos en la cache de los repositorios haber si se encuentra el paquete con el siguiente comando. #apt-cache search postfix

ya verificamos y si se encuentra el paquete procedemos a instalar. #apt-get install postfix

Ya instalamos postfix que es nuestro mta (agente de transferencia de correo). los archivos de configuracion de postfix están en la ruta /etc/postfix, editaremos el archivo main.cf

#pico /etc/postfix/main.cf modificamos las siguientes lineas: myhostname = mail.mundoredes.com Este es el nombre del host que tiene nuestro correo este debe ser el que le configuramos en nuestro dns. mydomain = mundoredes.com Este es el dominio con el cual recibiremos los correos. mydestination = mundoredes.com, localhost.mundoredes.com, localhost Esta opcion es para poder recibir correos en nuestra maquina local aquí realizaremos nuestras primeras pruebas. mynetworks = 192.168.1.0/24, 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 Definimos la direccion de red donde deseemos que entren y salgan los correos.

Ahora no queda si no reiniciar el servicio #/etc/init.d/postfix restart para probar el servidor nos conectamos directamente al servidor así. #telnet 127.0.0.1 25 #telnet mail.mundoredes.com 25

Si el servidor no contesta eso quiere decir que vamos por buen camino. Ahora probaremos enviando mensajes, primero que todo creamos usuarios en el sistema. #useradd -m carlos #passwd carlos #useradd -m jeison #passwd jeison despues instalamos el mutt que es un software con el cual podemos enviar y recibir correos. #apt-get install mutt Para abrir el mutt debemos estar logueados como root y escribimos el comando #mutt me dice que el usuario no existe y deseo crear el directorio tecleamos la letra s y enter, cuando abrimos por primera ves el mutt nos aparece vacio ya que no se ha enviado ningun mensaje entonces enviamos un mensaje con la tecla m para enviar el mensaje en el lado superior e inferior de la pantalla encontramos las opciones.

Aquí escribimos el Asunto del mensaje.

Este sera el mensaje que llegara al usuario al cual se lo enviamos.

Al usuario al que enviaremos el correo sera [email protected] damos enter y escribimos el mensaje y pulsamos las teclas ctrl+x nos pregunta que si deseamos guardar los cambios escribimos la letra y damos enter

nos saldrá un encabezado con toda la información de envío del correo

después nos logueamos en el mutt con el usuario del sistema jeison y hay vemos el mensaje. #su jeison luego de estar en jeison solo escribimos mutt.

ALMACENAMIENTO DEL CORREO. En este manual hablaremos de dos formas de almacenar el correo y ellas son maildir y

mailbox. Maildir es un formato de spool de correo electrónico que no bloquea los ficheros para mantener la integridad del mensaje, porque los mensajes se almacenan en ficheros distintos con nombres únicos. Maildir es un directorio (usualmente llamado Maildir) con tres subdirectorios llamados tmp, new, y cur. Todos los subdirectorios deben residir en el mismo sistema de archivos. Mailbox al contrario de maildir guarda los mensajes en un solo archivo y este es que usa el dovecot. Cuando recivimos un correo electrónico se almacena en la ruta /var/mail y encambio cuando usamos un formato maildir todos los ficheros se guardan en /var/spool/mail.

CONFIGURACIÓN DE IMAP Y POP3. El servidor que escogimos para instalar los protocolos imap y pop3 fue el dovecot por defecto dovecot utiliza solamente imap pero se puede configurar para que trabaje con pop3. Miramos que los paquetes se encuentren en la cache de los repositorios. #apt-cache search dovecot

y procedemos a instalarlos. #apt-get install -t etch-backports dovecot-common dovecot-imapd dovecot-pop3d

El principal archivo de configuracion del dovecot se encuentra en #/etc/dovecot/dovecot.conf Las princpales lineas que vamos a configurar son: protocols = pop3 pop3s imap Serán los protocolos que usara el dovecot. Listen = * por cual puerto escuchara. Como tenemos el signo * quiere decir que tomara el puerto por defecto. disable_plaintext_auth = no esta linea quiere decir que si deshabilitaremos la autenticacion en texto plano ponemos no por que la vamos a utilizar. ssl_disable = yes esto nos dece que se queremos deshabilitar ssl mail_location = mbox:~/mail:INBOX=/var/mail/%u esto nos indica el lugar donde se alojaran los correos que por defecto es la carpeta /var/mail/

AUTENTICACIÓN POR MEDIO DE PAM. Nos autenticaremos por medio de un servidor asi sea imap o pop3 contra PAM.

En las distribuciones modernas de Linux el mecanismo de autenticación de los usuarios es un servicio modular, proporcionado a las aplicaciones por el propio sistema. Por ejemplo, cuando una aplicación como "login" requiere la autenticación de un usuario, no la realiza ella misma sino que "solicita" al sistema que autentique al usuario. La parte del sistema que realiza la autenticación es una pila de módulos PAM, que se van ejecutando encadenadamente hasta devolver el resultado del proceso (autenticación OK o incorrecta) a la aplicación. Una vez que la aplicación obtiene este resultado, puede seguir realizando acciones (mostrar un mensaje de rechazo o ejecutar los scripts de arranque del usuario autenticado. Para habilitar la autenticaron por texto plano solo basta con agrgar las siguientes lineas al final del archivo de configuracion. auth default { mechanisms = plain login passdb pam { } userdb passwd { } socket listen { client { # Assuming the default Postfix $queue_directory setting path = /var/spool/postfix/private/auth mode = 0660 # Assuming the default Postfix user and group user = postfix group = postfix } } } Ahora solo queda reiniciar el servicio al princiopio nos saldrán algunos errores por lineas repetidas las comentamos # y guardamos los cambios y reiniciamos #/etc/init.d/dovecot restart

CONFIGURACIÓN DE EVOLUTION. Es un MDA (Agente de Entrega de Correo) el cual almacena el correo electrónico

mientras espera que el usuario lo acepte. El evolution es un usuario de correo electrónico, viene integrado a linux este nos permite revisar nuestros correos. Hay otros usuarios de correo que podemos utilizar como Thunderbird, squirrelmail y otros en nuestro caso usaremos el evolution. Para configurar el evolution primero cerramos cesión y nos logueamos como usuarios del sistema. El evolution esta en Aplicaciones, internet, y cliente de correo evolution. Cuando lo abrimos por primera vez nos pide algunos datos que hay que llenar. Empezamos en la primera pantalla es la de bienvenida hay nos da una breve introducción del evolution pulsamos adelante. En la siguiente plantilla llenamos los siguientes campos. En informacion requerida nos pide el nombre completo y la direccion de correo-e Nombre completo: carlos contreras. direccion de correo-e : [email protected]. En informacion opcional nos aparece, responder a y organización responder a: [email protected] organización lo podemos dejar en blanco chuleamos hace que esta sea mi cuenta predetermina hacemos clic en adelante. En la plantilla recepción de correo ponemos tipo de servidor imap y llenamos los otros campos . En configuración servidor ponemos la dirección de nuestro servidor en usuario ponemos la dirección de correo electrónico. Servidor: 192.168.1.1 usuario: [email protected] En seguridad usar conexión segura usar cifrado ssl. En tipo de autentificaron ponemos contraseña, clic en adelante. En opciones de recepción. En esta plantilla solo activamos comprobar si hay correo nuevo cada 2 minutos o el valor

que le deseemos dar pulsamos adelante. La plantilla que sigue es envío de correo. En esta escogemos en la opción tipo de servidor smtp, en configuración del servidor en la opción servidor escribimos la dirección ip de nuestro servidor y chuleamos el servidor requiere autenticación. En seguridad en la opción usar conexión segura escogemos sin cifrado, en autenticación tipo PLAIN y llenamos la casilla usuario pulsamos adelante. Servidor: 192.168.1.0 usuario: mailcarlos En la plantilla administración de cuentas información de la cuenta llenamos la casilla nombre y pulsamos adelante. Nombre: Carlos y por ultimo escogemos la zona horaria donde estamos y finalizamos. Ya entramos a evolution y nos pedirá la contraseña por el mecanismo pam que es que ya hemos configurado introducimos la contraseña y el usuario. Ahora probaremos nuestro servidor. Nos enviaremos un correo a nuestra propia cuenta de correo. Buscamos la opción nuevo en el entorno le damos clic se nos desplegan barias opciones elegimos mensaje de correo. Ahora escribimos la dirección de la persona a quien le mandaremos el correo como es una prueba local y es la primera que haremos lo vamos a enviar a nosotros mismos. Ahora buscamos la opción enviar y le damos clic esto bastara para enviar el mensaje. Ahora en las opciones generales buscamos bandeja de entrada y encontramos una entrada damos clic en bandeja de entrada y vemos que hay esta nuestro mensaje. MOZILLA THUNDERBIRD.

Primero que todo usaremos es Mozilla Thunderbird o Thunderbird (anteriormente Minotaur) es un cliente de correo electrónico de la Fundación Mozilla. El objetivo de Thunderbird es desarrollar un Mozilla más liviano y rápido Es multiplataforma, Thunderbird soporta IMAP/POP, correo HTML, noticias, RSS, etiquetas, corrector ortográfico incorporado, soporte de extensiones y skins, buscadores, cifrado PGP, un filtro bayesiano de correo basura (spam), etc. Su principal problema contra rivales como Evolution (sobre plataformas Linux) o, en Windows, Windows Mail (anteriormente llamado Outlook

Express) estriba en su carencia de un calendario usable, aunque existe una extensión llamada Lightning que implementa un calendario con casi el mismo nivel de funcionalidad de Mozilla Sunbird. Comenzaremos con su instalación Primero que todo miraremos si esta en nuestros repositorios lo que necesitamos: #apt-cache search mozila thunderbird Al ver que si lo tenemos en nuestra lista de repositorios nos disponemos a instalarlo : #apt-get install mozilla thunderbird Después de que ejecutamos el comando esperamos un momento la descarga, fijamos que no a ocurrido ningún tipo de error durante el proceso. Ahora para comenzar con la configuración del mozila thunderbird nos dirigimos al meno principal : aplicaciones/internet /mozila thunderbird.

Cuando iniciamos Mozilla Thunderbird por primera vez nos aparece la siguiente pantalla.

Escogemos la opción email account y pulsamos siguiente. A continuación se nos solicitan los datos de nuestra identidad. Introducimos nuestro nombre y nuestra dirección de correo Creamos una cuenta nueva de correo en nuestro servidor utilizando el Mozilla Thunderbird en la opción que dice email account o cuenta de correo nueva.

Luego de seleccionamos next y nos disponemos a llenar los dos campos que nos piden en esta parte de nuestra configuración el your name (nombre que te identifique o usuario) y en el segundo campo colocaremos la dirección de correo electrónico. Son solo datos de identidad Después de esto siguiente para continuar

En el diálogo que se muestra a continuación lo único que haremos es seleccionar el protocolo que usaremos para acceder a nuestros correos almacenados en el servidor… el tipo de servidor entrante. POP e IMAP. El primero está ideado para descargar los mensajes de correo electrónico a nuestra máquina y el segundo para descargarlos bajo demanda (únicamente cuando sea necesario). En el ejemplo se muestra la manera de configurar el cliente para el uso del servidor IMAP. luego en el segundo campo del recuadro colocaremos la dirección que tiene nuestro servidor imap que en este caso es la 192.168.1.1.

Acontinuación se nos solicitaios para el correo entrante y saliente. En ambos debemos

introducir nuestro nombre de usuario para el sistema de correo (parte de la dirección que aparece antes de la ‘@’) y nuevamente pulsamos siguiente.

Esta última opción permite modificar el nombre que le dará Thunderbird a la cuenta que estamos creando. Normalmente la opción por defecto es aceptable. Podemos aceptar la sugerencia de Thunderbir pulsando el botón de siguiente pero seguiremos como el usuario con el que venimos trabajando.

Esta ventana resume toda la configuración que hemos hecho hasta el momento, si vemos algún dato que no es correcto estamos a tiempo de pulsar cuantas veces sea necesario el botón de “Anterior” y solucionar el problema. Si la configuración es correcta pulsamos “Terminar”.

A continuación se nos solicitará la contraseña de nuestra cuenta de correo para conectarnos al servidor entrante. Si marcamos la opción “Use el administrador de contraseñas para recordar esta contraseña” no se nos volverá a solicitar esta información, Thunderbird se encargará de recordarla por nosotros. Pero como la idea es que nos pida autenticación lo que haremos es colocar la contraseña del usuario con el que queremos ingresar que en este caso es new………. Después de que cumplamos con esto podemos ingresar a nuestro mua y empezar a utilizar sus múltiples funciones

AUTENTICACION ATRAVES DEL SASL. Es un protocolo que que nos permite autenticarnos con un servidor imap o pop3 configuramos el archivo principal de configuración de postfix.

#nano /etc/postfix/main.cf Añadimos las siguientes lineas. smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions =permit_sasl_authenticated,reject smtpd_sasl_authenticated_header = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtp_sasl_auth_enable = no smtpd_sasl_security_options = Guardaremos y cerramos. Reiniciamos el servidor #/etc/init.d/postfix restart Nos validaremos atraves de base64 #printf “\0%s\0%s” new carlosem | base64 Base64 = Es un sistema para la codificacion de los datos, aunque podemos utlizar otros. Habrimos nuestro MTA y nos daremos cuenta que nuestros que nos estamos autenticando a traves de sasl cuando enviamos un correo nos debe salir un menu de autenticacion. Escribimos la contraseña para poder enviar el correo. TLS PARA POSTFIX #openssl req -new -x509 -nodes -out certificado.pem -keyout postfix.pem -days 3000 El certificado ha sido creado. Estos certificado se crean en /etc/ssl/ #cd /etc/ssl/

certificado.pem cert openssl.cnf postfix.pem private Editamos el archivo principal de postfix. #nano /etc/postifx/main.cf y agregaremos las siguientes lineas. # TLS Parameters smtpd_tls_cert_file=/etc/ssl/certificado.pem smtpd_tls_key_file=/etc/ssl/postfix.pem smtp_use_tls = yes smtp_tls_loglevel = 0 smtp_tls_session_cache_timeout = 3600s smtp_tls_note_starttls_offer = yes smtp_starttls_timeout = 300s Reiniciamos postfix #/etc/init.d/postfix restart En la configuración de nuestro MTA podemos agregar el soporte tls.

LDAP Ldap es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Habitualmente, almacena la información de login (usuario y contraseña) y es utilizado para autentificarse aunque es posible almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados, etc).

Instalación. primero que todo vemos que el paquete este en la cache de los repositorios. #apt-cache search ldap-utils

#apt-cache search slapd

Ahora instalamos los paquetes. #apt-get install ldap-utils #apt-get install migrationtools #apt-get install slapd Cuando se esta instalando este ultimo paquete nos pedira la contraseña del administrador de ldap.

Despues de instalarlo lo configuraremos de la siguiente forma: escribimos el siguiente comando: #dpkg-reconfigure slapd y se iniciara un asistente.

En esta primera opcion decimos NO por que la configuración de nuestro ldap va ser básica. Escribimos el nombre de nuestro dominio.

En esta plantilla escribimos la contraseña del administrador que es que va a realizar los cambios en la configuracion si deseamos cambiar la configuracion de nuestro servidor debemos estar logueados como administradores.

Aquí verifica la contraseña.

El motor de base de datos que utilizaremos sera el DBD.

Nos preguntara que deseamos borrar la base de datos cuando se purgue el paquete slapd. Escogemos la opción NO para que la base de datos quede en el sistema después de que se elimine el paquete de instalación.

En esta plantilla nos preguntara si deseamos mover la base de datos antigua en esta opcion le decimos SI.

En esta ultima opción nos preguntara si deseamos el protocolo LDAPv2 decimos que no ya que los servidores que tenemos son compatibles es con LDAPv3. Ahora configuraremos el servidor para que se autentique con LDAP. Miramos si los paquetes se encuentran en la cache de los repositorios #apt-cache search auth-client-config #apt-cache search libnss-ldap #apt-cache search libpam-ldap server Ahora instalamos los paquetes. #apt-get install auth-client-config libnss-ldap #apt-get install libpam-ldap Cuando instalamos el paquete libpam-ldap nos pedira los siguientes parámetros de configuración.

Identificador de recursos para el servidor LDAP ldapi://127.0.0.1/

El nombre distintivo (DN) de la base de búsquedas dc=mundoredes,dc=com

Versión de LDAP a utilizar 3

Crear un administrador de la base de datos local SI

¿Hace falta un usuario par acceder a la base de datos LDAP? NO

Cuenta LDAP para root cn=admin,dc=mundoredes,dc=com

Contraseña para la cuenta LDAP de root. Comprobamos la instalacion: #idapsearch -x -b “dc=mundoredes,dc=com” resultado correcto.

Si no tenemos apache instalado lo instalamos. #apt-get install apache Ahora procedemos a instalar el paquete smbldap-tools. #apt-get install smbldap-tools También necesitaremos el paquete phpldapadmin. #apt-get install phpldapadmin Ahora instalaremos MKNTPWD que es una utilidad que requiere Phpldapadmin requiere para crear los hashes de las claves Samba. Esto solía estar incluido en smbldap-tools pero no parece estar en Debian. Vamos al fichero opt #cd /opt Escrtibimos el siguiente comando para descargar el archivo comprimido de la pagina donde esta. wget http://www.silcom.com.pe/soft/mkntpwd.tar.gz Descomprimimos el archivo que acabamos de descargar con el comando. #tar -zxf mkntpwd.tar.gz Nos ubicamos en el directorio. #cd mkntpwd Automatizamos o compilamos el codigo con. #make Copiamos el archivo mkntpwd a la ruta /usr/local/bin #cp mkntpwd /usr/local/bin y verificamos, solo tenemos que escribir en la consola mkntpwd nos debe salir lo siguiente:

Empezamos con la instalación de samba. Instalamos los apaquetes samba samba-doc #apt-get install samba samba-doc En nombre del domonimio o grupo de trabajo escribimos mundoredes.com y en la opcion modificar smb.conf para que use la configuración WINS proveniente de DHCP decimos NO pasamos a la creación de las carpetas para samba. #mkdir /home/samba/ #mkdir /home/samba/netlogon #mkdir /home/samba/profiles

CONFIGURACION DE LDAP vamos al directorio donde esta el schema /usr/share/doc/samba-doc/examples/LDAP

#cd /usr/share/doc/samba-doc/examples/LDAP descomprimimos: #gunzip samba.schema.gz Copiamos el archivo samba.schema ala ruta /etc/ldap/schema #cp samba.schema /etc/ldap/schema Ahora agregaremos el schema de samba entramos a /etc/ldap/slapd.conf nano /etc/ldap/slapd.conf y agragamos el schema #include

/etc/ldap/schema/samba.schema

Guardamos Ctrl+x Si por ultimo reiniciamos ldap: #/etc/init.d/slapd restart

CREACION DEL ARBOL LDAP. CONFIGURACIÓN DE SAMBA #cd /etc/samba #cp smb.conf smb.conf.bkp #nano smb.conf Modificamos el archivo /etc/samba/smb.conf teniendo en cuenta nuestro dominio el archivo debe quedar asi. # # Sample configuration file for the Samba suite for Debian GNU/Linux. # # # This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options most of which # are not shown in this example # # Some options that are often worth tuning have been included as # commented-out examples in this file. # - When such options are commented with ";", the proposed setting #

differs from the default Samba behaviour

# - When commented with "#", the proposed setting is the default #

behaviour of Samba but the option is considered important

#

enough to be mentioned here

# # NOTE: Whenever you modify this file you should run the command # "testparm" to check that you have not made any basic syntactic # errors. # A well-established practice is to name the original file # "smb.conf.master" and create the "real" config file with # testparm -s smb.conf.master >smb.conf # This minimizes the size of the really used smb.conf file # which, according to the Samba Team, impacts performance #

#======================= Global Settings ======================= [global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = mundoredes.com # server string is the equivalent of the NT Description field server string = %h server # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server # wins support = no # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no # What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast #### Networking #### # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred ; interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly.

; bind interfaces only = yes #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Cap the size of the individual log files (in KiB). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. # syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d ####### Authentication ####### # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details. # security = user # You may wish to use password encryption. See the section on # 'encrypt passwords' in the smb.conf(5) manpage before enabling. encrypt passwords = true

# If you are using encrypted passwords, Samba will need to know what # password database type you are using. passdb backend = tdbsam obey pam restrictions = yes # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. unix password sync = yes # For Unix password sync to work on a Debian GNU/Linux system, the following # parameters must be set (thanks to Ian Kahan < for # sending the correct chat script for the passwd program in Debian Sarge). passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. pam password change = yes ########## Domains ########### # Is this machine able to authenticate users. Both PDC and BDC # must have this setting enabled. If you are the BDC you must # change the 'domain master' setting to no # ; domain logons = yes # # The following setting only takes effect if 'domain logons' is set

# It specifies the location of the user's profile directory # from the client point of view) # The following required a [profiles] share to be setup on the # samba server (see below) ; logon path = \\%N\profiles\%U # Another common choice is storing the profile in the user's home directory

# (this is Samba's default) # logon path = \\%N\%U\profile # The following setting only takes effect if 'domain logons' is set # It specifies the location of a user's home directory (from the client # point of view) ; logon drive = H: # logon home = \\%N\%U # The following setting only takes effect if 'domain logons' is set # It specifies the script to run during logon. The script must be stored # in the [netlogon] share # NOTE: Must be store in 'DOS' file format convention ; logon script = logon.cmd # This allows Unix users to be created on the domain controller via the SAMR # RPC pipe. The example command creates a user account with a disabled Unix # password; please adapt to your needs ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u ########## Printing ########## # If you want to automatically load your printer list rather # than setting them up individually then you'll need this # load printers = yes # lpr(ng) printing. You may wish to override the location of the # printcap file

; printing = bsd ; printcap name = /etc/printcap # CUPS printing. See also the cupsaddsmb(8) manpage in the # cupsys-client package. ; printing = cups ; printcap name = cups

############ Misc ############ # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /home/samba/etc/smb.conf.%m # Most people will find that this option gives better performance. # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html # for details # You may want to add the following on a Linux system: #

SO_RCVBUF=8192 SO_SNDBUF=8192

# socket options = TCP_NODELAY # The following parameter is useful only if you have the linpopup package # installed. The samba maintainer and the linpopup maintainer are # working to ease installation and configuration of linpopup and samba. ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' & # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. # domain master = auto # Some defaults for winbind (make sure you're not using the ranges

# for something else.) ; idmap uid = 10000-20000 ; idmap gid = 10000-20000 ; template shell = /bin/bash # The following was the default behaviour in sarge, # but samba upstream reverted the default because it might induce # performance issues in large organizations. # See Debian bug #368251 for some of the consequences of *not*

# having this setting and smb.conf(5) for details. ; winbind enum groups = yes ; winbind enum users = yes # Setup usershare options to enable non-root users to share folders # with the net usershare command. # Maximum number of usershare. 0 (default) means that usershare is disabled. ; usershare max shares = 100 #======================= Share Definitions ======================= [homes] comment = Home Directories browseable = no # By default, the home directories are exported read-only. Change the # next parameter to 'no' if you want to be able to write to them. read only = yes # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775.

create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 # By default, \\server\username shares can be connected to by anyone # with access to the samba server. # The following parameter makes sure that only "username" can connect # to \\server\username # This might need tweaking when using external authentication schemes valid users = %S

# Un-comment the following and create the netlogon directory for Domain Logons # (you need to configure Samba to act as a domain controller too.) ;[netlogon] ; comment = Network Logon Service ; path = /home/samba/netlogon ; guest ok = yes ; read only = yes ; share modes = no # Un-comment the following and create the profiles directory to store # users profiles (see the "logon path" option above) # (you need to configure Samba to act as a domain controller too.) # The path below should be writable by all users so that their # profile directory may be created the first time they log on ;[profiles] ; comment = Users profiles ; path = /home/samba/profiles ; guest ok = no ; browseable = no

; create mask = 0600 ; directory mask = 0700 [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers

[print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no # Uncomment to allow remote administration of Windows print drivers. # Replace 'ntadmin' with the name of the group your admin users are # members of. ; write list = root, @ntadmin # A sample share for sharing your CD-ROM with others. ;[cdrom] ; comment = Samba server's CD-ROM ; read only = yes ; locking = no

; path = /cdrom ; guest ok = yes # The next two parameters show how to auto-mount a CD-ROM when the #

cdrom share is accesed. For this to work /etc/fstab must contain

#

an entry like this:

# #

/dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0

# # The CD-ROM gets unmounted automatically after the connection to the # # If you don't want to use auto-mounting/unmounting make sure the CD #

is mounted on /cdrom

# ; preexec = /bin/mount /cdrom ; postexec = /bin/umount /cdrom NOTA: - el archivo esta ajustado para la configuración de este caso - si copian el archivo directamente hay que darle permisos de lectura al grupo y a others - modificaciones :chmod u-x smb.conf chmod g+r smb.conf chmod o+r smb.conf - ajustar en el smb.conf : hosts allow = 127.0.0.1 169.254.0.0/255.255.255.0 a su red PROBAR LA CONFIGURACIÓN #testparm Load smb config files from /etc/samba/smb.conf Processing section “[netlogon]“ Processing section “[homes]“ Processing section “[profiles]“ Loaded services file OK. Server role: ROLE_DOMAIN_PDC Press enter to see a dump of your service definitions Si nos responde de esta forma entonces todo esta correcto hasta ahora Le damos a contraseña de ldap a samba. #smbpasswd -w carlosem reiniciamos

#/etc/init.d/samba restart VOLVER A PHPLDAPADMIN Y VERIFICAR LA ENTRADA #sambaDomainName=mundoredes Identificar el sid del dominio ejem : S-1-5-21-2942057963-2745721404-394493152

CREACIÓN DE GRUPOS DE DOMINIO. dentro de phpldapadmin en contenedor “groups” elegir crear “new samba3 group mapping” y crear os siguientes grupos: Group Windows Name Gid samba sid sambaadmins Domain Admins 20000 512 sambausers Domain Users 20001 513 sambaguests Domain Guests 20002 514 sambamachines Domain Computers 20003 515

INTEGRACIÓN DE LA AUTENTIFICACION Y LDAP INSTALACIÓN NSS LDAP #apt-get install libnss-ldap #dpkg-reconfigure libnss-ldap Servidor LDAP : 127.0.0.1 Nombre distintivo (DN) : dc=mundoredes,dc=com Vercion de LDAP a utilizar : 3 Hace falta un usuario para acceder a la base de datos ldap : No Dar privilegios especiales de ldap para root : SI Desea hacer que la configuracion solo pueda leer o escribir el propietario : SI Cuenta ldap para root : cn=admin,dc=mundoredes,dc=com contraseña ldap para root : carlosem

CONFIGURACION #nano /etc/nsswitch.conf

Comentar estas lineas. passwd: compat group: compat shadow: compat Agregar estas otras. passwd: compat ldap group: compat ldap shadow: compat ldap Comprobar. #getent group Debe mostrar sambaadmins:*:20000: sambausers:*:20001: sambaguests:*:20002: sambamachines:*:20003:

INSTALACION PAM LDAP

#apt-get install libpam-ldap #dpkg-reconfigure libpam-ldap Servidor ldap : 127.0.0.1

Nombre distintivo : dc=mundoredes,dc=com Vercion de ldap : 3 Make local root Database admin : si Hace falta un usuario para la base de datos LDAP : no Ldap account for root : cn=admin,dc=mundoredes,dc=com contraseña para la cuenta ldap de root : carlosem Local crypt to use when changing passwords : md5 Entrar a estos archivo de configuración. #nano /etc/pam.d/common-account Comentar. account required pam_unix.so Y agregar. account sufficient pam_ldap.so account required pam_unix.so try_first_pass #nano /etc/pam.d/common-auth Comentar. auth required pam_unix.so nullok_secure Y agregar. auth sufficient pam_ldap.so auth required pam_unix.so nullok_secure use_first_pass #nano /etc/pam.d/common-password Comentar. password required pam_unix.so nullok obscure min=4 max=8 md5 Y agregar al final. password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8 md5 use_first_pass

INSTALACION DE NSCD. #apt-get install nscd Reiniciar samba. #/etc/init.d/samba restart

AGREGAR USUARIOS. En la “UO” users crear un nuevo “Samba3 Account” se creara el usuario “administrator” que tendra permisos para ingresar maquinas al dominio y otro usuario “carlos” que pertenecera al grupo adminstradores y otro llamado “sebastian” que solo sera un usuario de dominio , esto se hara de la siguiente forma : Fist Name : Administrator Last Name : Global Comon Name : administrator User ID : administrator UID Number : 0 Samba SID : 512 Password : carlosem Verify Password : carlosem Home Directory : /home/administrator Fist Name : carlos Last Name : User Comon Name : carlos User ID : carlos UID Number : 10000 Samba SID : 512 Password : carlos123 Verify Password : carlos123 Home Directory : /home/carlos Fist Name : Sebastian Last Name : User Comon Name : sebastian User ID : sebastian UID Number : 10001

Samba SID : 513 Password : 147852 Verify Password : 147852 Gid number : sambausers Primary Group ID : sambausers Home Directory : /home/sebastian

VERIFICAR LA CREACIÓN DE USUARIOS EN LINUX

#getent passwd administrator:*:0:20000:administrator:/home/administrator: carlos:*:10000:20000:carlos:/home/carlos: sebastian:*:10001:20001:sebastian:/home/sebastian:

CREACION DE HOME #mkdir /home/carlos #cp /etc/skel/.* /home/carlos/ chown -R carlos /home/carlos chgrp -R sambaadmins /home/carlos

AUTOMATIZANDO INGRESO DE CUENTAS MAQUINA A LDAP #cd /usr/share/doc/smbldap-tools/examples #cp smbldap.conf.gz smbldap_bind.conf /etc/smbldap-tools #cd /etc/smbldap-tools #gunzip smbldap.conf.gz #chown root:root * #chmod 600 * Hay que editar 2 archivos.

#nano /etc/smbldap-tools/smbldap_bind.conf slaveDN=”cn=admin,dc=mundoredes,dc=com” slavePw=”carlosem″ masterDN=”cn=admin,dc=mundoredes,dc=com” masterPw=”carlosem″ smbldap.conf #nano /etc/smbldap-tools/smbldap.conf El archivo smbldap.conf debería quedar así: # $Source: /opt/cvs/samba/smbldap-tools/smbldap.conf,v $ # $Id: smbldap.conf,v 1.18 2005/05/27 14:28:47 jtournier Exp $ # # smbldap-tools.conf : Q & D configuration file for smbldap-tools # This code was developped by IDEALX (http://IDEALX.org/) and # contributors (their names can be found in the CONTRIBUTORS file). # #

Copyright (C) 2001-2002 IDEALX

# # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. #

# You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. # Purpose : #

. be the configuration file for all smbldap-tools scripts

####################################################################### ####### # # General Configuration # ####################################################################### ####### # Put your own SID. To obtain this number do: "net getlocalsid". # If not defined, parameter is taking from "net getlocalsid" return SID="S-1-5-21-94669559-3115132172-2268991497" # Domain name the Samba server is in charged. # If not defined, parameter is taking from smb.conf configuration file # Ex: sambaDomain="IDEALX-NT" sambaDomain="mundoredes" ####################################################################### ####### # # LDAP Configuration # ####################################################################### ####### # Notes: to use to dual ldap servers backend for Samba, you must patch

# Samba with the dual-head patch from IDEALX. If not using this patch # just use the same server for slaveLDAP and masterLDAP. # Those two servers declarations can also be used when you have # . one master LDAP server where all writing operations must be done # . one slave LDAP server where all reading operations must be done # (typically a replication directory) # Slave LDAP server # Ex: slaveLDAP=127.0.0.1 # If not defined, parameter is set to "127.0.0.1" slaveLDAP="127.0.0.1" # Slave LDAP port # If not defined, parameter is set to "389" slavePort="389" # Master LDAP server: needed for write operations # Ex: masterLDAP=127.0.0.1 # If not defined, parameter is set to "127.0.0.1" masterLDAP="127.0.0.1" # Master LDAP port # If not defined, parameter is set to "389" masterPort="389" # Use TLS for LDAP # If set to 1, this option will use start_tls for connection # (you should also used the port 389) # If not defined, parameter is set to "1" ldapTLS="0" # How to verify the server's certificate (none, optional or require) # see "man Net::LDAP" in start_tls section for more details verify="none"

# CA certificate # see "man Net::LDAP" in start_tls section for more details #cafile="/etc/opt/IDEALX/smbldap-tools/ca.pem"

# certificate to use to connect to the ldap server # see "man Net::LDAP" in start_tls section for more details #clientcert="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.pem" # key certificate to use to connect to the ldap server # see "man Net::LDAP" in start_tls section for more details #clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.key" # LDAP Suffix # Ex: suffix=dc=IDEALX,dc=ORG suffix="dc=silcom,dc=com" # Where are stored Users # Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for usersdn usersdn="ou=users,${suffix}" # Where are stored Computers # Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for computersdn computersdn="ou=machines,${suffix}" # Where are stored Groups # Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for groupsdn groupsdn="ou=groups,${suffix}" # Where are stored Idmap entries (used if samba is a domain member server) # Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for idmapdn #idmapdn="ou=Idmap,${suffix}"

# Where to store next uidNumber and gidNumber available for new users and groups # If not defined, entries are stored in sambaDomainName object. # Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}" # Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}" sambaUnixIdPooldn="sambaDomainName=SILCOM,${suffix}"

# Default scope Used scope="sub" # Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT) hash_encrypt="MD5" # if hash_encrypt is set to CRYPT, you may set a salt format. # default is "%s", but many systems will generate MD5 hashed # passwords if you use "$1$%.8s". This parameter is optional! crypt_salt_format="%s" ####################################################################### ####### # # Unix Accounts Configuration # ####################################################################### ####### # Login defs # Default Login Shell # Ex: userLoginShell="/bin/bash" userLoginShell="/bin/bash" # Home directory # Ex: userHome="/home/%U" userHome="/home/%U" # Default mode used for user homeDirectory

userHomeDirectoryMode="700" # Gecos userGecos="System User" # Default User (POSIX and Samba) GID defaultUserGid="512"

# Default Computer (Samba) GID defaultComputerGid="20003" # Skel dir skeletonDir="/etc/skel" # Default password validation time (time in days) Comment the next line if # you don't want password to be enable for defaultMaxPasswordAge days (be # careful to the sambaPwdMustChange attribute's value) #defaultMaxPasswordAge="45" ####################################################################### ####### # # SAMBA Configuration # ####################################################################### ####### # The UNC path to home drives location (%U username substitution) # Just set it to a null string if you want to use the smb.conf 'logon home' # directive and/or disable roaming profiles # Ex: userSmbHome="\\PDC-SMB3\%U" userSmbHome=""

# The UNC path to profiles locations (%U username substitution) # Just set it to a null string if you want to use the smb.conf 'logon path' # directive and/or disable roaming profiles # Ex: userProfile="\\PDC-SMB3\profiles\%U" userProfile="" # The default Home Drive Letter mapping # (will be automatically mapped at logon time if home directory exist) # Ex: userHomeDrive="H:" userHomeDrive="H:" # The default user netlogon script name (%U username substitution)

# if not used, will be automatically username.cmd # make sure script file is edited under dos # Ex: userScript="startup.cmd" # make sure script file is edited under dos userScript="logon.bat" # Domain appended to the users "mail"-attribute # when smbldap-useradd -M is used # Ex: mailDomain="idealx.com" #mailDomain="idealx.com" ####################################################################### ####### # # SMBLDAP-TOOLS Configuration (default are ok for a RedHat) # ####################################################################### ####### # Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but # prefer Crypt::SmbHash library with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd"

# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm) # but prefer Crypt:: libraries with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" # comment out the following line to get rid of the default banner # no_banner="1"

Nota : cuidado si copian directamente smbldap.conf lo que hay que modificar el nro sid de su implementación además por seguridad hay que hacer esto : chmod u-x smbldap.conf ahora copiamos algunos archivos a etc. #cp smbldap_bind.conf /etc/ #cp smbldap.conf /etc/

AGREGANDO OBJECTCLASS. Tenemos que ir al phpldapadmin el atributo sambaunixidpool para el dominio samba así que le damos click a la entrada sambadomainname=silcom y en el espacio de la derecha vamos a buscar donde está el o los atributos tipo objectclass, le damos click en donde dice add value, escogemos sambaunixidpool y en la siguiente página digitamos los valores de uid y gid iniciales con los que vamos a arrancar para nuestros efectos. EL GID 20003 corresponde al grupo sambamachines EL UID 30000 es el número inicial que yo quise utilizar para las cuentas de máquinas. una vez echo esto ya podemos registrar nuestras maquinas win$ al dominio. Creación de homes por defecto, para esto hay que insertar una linea dentro de smb.conf en la seccion [homes]

root preexec = /etc/samba/mk_sambadir “/home/%u” “%u” “%g” Y crear el archivo mk_sambadir con las siguientes lineas. #!/bin/bash if [ ! -d $1 ] then mkdir $1 fi chmod 770 $1 -R chown $2 $1 -R chgrp $3 $1 -R ############### Y reiniciar #/etc/init.d/samba restart

Pasaremos a hacer las pruebas. Primer prueba. Poder validar por ssh al pdc, si bien es cierto los usuarios del dominio no tienen shell deberia ser posible hacer un inicio via SSH #ssh -l administrator 192.168.1.1 #ssh -l carlos 192.168.1.1 Segunda prueba. Poder validar desde un win$ aun asi no se halla unido al dominio, sin pertenecer al dominio debería poder validar como un simple server de archivos \\pdc\carlos

POSTFIX MAS LDAP.

Instalamos el paquete que integra ldap con postfix. #apt-get install postfix-ldap creamos un schema para realizar usuarios y grupos virtuales que ese puedan validar con LDAP. #nano /etc/ldap/slapd.conf agregaremos el siguiente schema. Include

/etc/ldap/schema/postfix.schema

creamos la carpeta que contendra el schema. #touch /etc/ldap/schema/postfix.schema touch postfix.schemaldaptransport_search_base = ou=Transport,dc=mundoredes,dc=com ldaptransport_bind = no ldaptransport_timeout = 30 ldaptransport_query_filter = (&(cn=%s)(!(cn=server.mydomain.com))(objectclass=mailuser)) ldaptransport_result_attribute = maildrop virtual _mailbox_domains=mundoredes.com virtual_mailbox_base=/vmail/correos virtual_mailbox_maps=ldap:/etc/postfix/ldap.conf virtual_uid_maps= stactics:5000 virtual_gid_maps=stactics:5000 #useradd -m -d /vmail -s /bin/false -U -u 5000 vmail (vmail es el nombre de usuario) Con sus respectivo directorio #mkdir /vmail/correos chown 5000:5000 /vmail/correos. Luego agregamos los siguientes schemas.

#Extensions to support Postfix MTA using Openldap experimental OID's attributetype ( 1.3.6.1.4.1.15347.2.102 NAME 'transport' SUP name) attributetype ( 1.3.6.1.4.1.15347.2.101 NAME 'mailRoutingAddress' SUP mail ) attributetype ( 1.3.6.1.4.1.15347.2.110 NAME 'maildest' DESC 'Restricted to send only to local network' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} ) attributetype ( 1.3.6.1.4.1.15347.2.111 NAME 'mailaccess' DESC 'Can be mailed to restricted groups' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} ) attributetype ( 1.3.6.1.4.1.15347.2.100 NAME ( 'maildrop' ) DESC 'RFC1274: RFC822 Mailbox' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} ) attributetype ( 1.3.6.1.4.1.10018.1.1.1 NAME 'mailbox' DESC 'The absolute path to the mailbox for a mail account in a non-default location' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) objectclass ( 1.3.6.1.4.1.15347.2.1 NAME 'mailUser'

DESC 'E-Mail User' SUP top AUXILIARY MUST ( uid $ mail $ maildrop ) MAY ( cn $ mailbox $ maildest $ mailaccess ) ) objectclass ( 1.3.6.1.4.1.15347.2.2 NAME 'mailGroup' DESC 'E-Mail Group' SUP top STRUCTURAL MUST ( cn $ mail ) MAY ( mailRoutingAddress $ member $ description ) ) objectclass ( 1.3.6.1.4.1.15347.2.3 NAME 'transportTable' DESC 'MTA Transport Table' SUP top STRUCTURAL MUST ( cn $ transport ) )

ahora vamos al archivo: #nano /etc/postfix/main.cf # LDAP settings virtual_maps = ldap:ldapgroups, ldap:ldapalias ldapgroups_server_host = localhost

ldapgroups_server_port = 389 ldapgroups_search_base = ou=Groups,dc=mundoredes,dc=com ldapgroups_bind = no ldapgroups_timeout = 30 ldapgroups_query_filter = (&(mail=%s)(objectclass=mailGroup)) ldapgroups_special_result_attribute = member ldapalias_server_host = localhost ldapalias_server_port = 389 ldapalias_search_base = ou=Users,dc=mundoredes,dc=com ldapalias_bind = no ldapalias_timeout = 30 ldapalias_query_filter = (&(mail=%s)(objectclass=mailUser)) ldapalias_result_attribute = maildrop transport_maps = ldap:ldaptransport ldaptransport_server_host = localhost ldaptransport_server_port = 389 ldaptransport_search_base = ou=Transport,dc=mundoredes,dc=com ldaptransport_bind = no ldaptransport_timeout = 30 ldaptransport_query_filter = (&(cn=%s)(!(cn=server.mydomain.com))(objectclass=transportTable)) ldaptransport_result_attribute = transport

Ahora reiniciamos los servicios postfix, slapd. #/etc/init.d/postfix restart #/etc/init.d/slapd restart

ANTIVIRUS Y ANTISPAM.

Función que cumplen: El filtro antispam: examina todo mensaje remitido a las direcciones de correo electrónico de su dominio y les asigna una probabilidad de que sean mensajes de SPAM, aplicando una serie de reglas internas. Posteriormente usted podrá crear unas reglas de actuación en su WebMail para eliminar los mensajes marcados como SPAM. El filtro antivirus: se encarga de eliminar todo mensaje infectado remitido a cualquiera de las direcciones de correo de su dominio de manera que usted solo reciba en sustitución del mensaje infectado y en la misma dirección a la que iba remitido el mismo, un mensaje automático informándole de dicha actuación Primero lo que debemos hacer es mirar si tenemos en nuestros repositorios los paquetes que necesitamos para comensar con la instalación de nuestro antivirus, utilizamos este por que para este anti-virus hay buena documentación : #apt-cache search clamav

Y procedemos a la instalación: #apt-get install clamav Después y de la misma forma como instalmos este paquete instalaremos otros paquetes adicionales que nos facilitara la integración con nuestro servidor anti-virus. #apt-get install clamsmtp Primero lo que debemos hacer es mirar si tenemos en nuestros repositorios los paquetes que necesitamos para comensar con la instalación de nuestro antivirus, utilizamos este por que para este anti-virus hay buena documentación : Y lo mismo haremos con los demas paquetes para no extendernos mucho #apt-get install clamav-freshclam #apt-get install clamav-docs (este ultimo paquete es opcional ya que en el podemos encontrar documentación si queremos lo descargamos y si no buscaremos mas información de otras fuentes en internet ). Listo después de esto ingressaremos al archivo de configuración principal: #nano /etc/clamsmtpd.conf

Después de ingresar al archivo principal de configuración nos dirigimos a modificar la dirección donde van a ser mandados nuestros correos electrónicos por defecto el valor con el que viene este archivo de configuración es el 10025 lo que haremos es modificarla y en vez de esta colocar: OutAddress: 10026

Luego nos dispondremos a cambiar el puerto por el que escucha nuestro servidor antivirus. Listen: 127.0.0.1:10025

Ahora Colocaremos La ruta donde estará el archivo de clamd. ClamAddress: /var/run/clamav/clamd.ctl

Colocaremos un encabezado para saber cuales son los correos que han sido analizados correctamente por nuestro sistema anti virus. Header: X-AV-Checked: ClamAV using ClamSMTP. (En este espacio colocas el mensaje que quieres que salga cuando el antivirus analice tus correos ). Este será la localización del pid (el pidfile es el archivo en el servidor que registra el identificador de proceso del demonio. El PidFile sólo se utiliza en modo autónomo. A menudo es útil para poder enviar la señal de un servidor, de manera que luego se cierra y reabre su ErrorLog y TransferLog, y vuelve a leer sus archivos de configuración. Esto se realiza mediante el envío de un SIGHUP (matar -1) señal para el proceso de identificación del capitán demonio que figuran en el PidFile. PidFile: /var/run/clamsmtp/clamsmtpd.pid Lugar donde dejar los ficheros temporales TempDirectory: /var/spool/clamsmtp El usuario con el que lanzarlo User: clamsmtp

Acción a realizar en caso de detectar virus. VirusAction: /usr/local/bin/virusalert.sh

En este fichero adicionaremos unas líneas las cuales son un script que definirá lo que hará el sistema antivirus en caso de detectar un virus en nuestro servidor de correo. #touch virusalert.sh #nano virusalert.sh Después de que estemos dentro de este archivo lo que haremos será pegar las siguientes líneas: TS MAILER='/usr/sbin/sendmail -it' SUBJECT=`/bin/echo "El correo contiene un virus" | /usr/bin/nkf -jMB` $MAILER <<EOM From: $FROM

To: $TO Subject: =?ISO-2022-JP?B?$SUBJECT?= Se ha detectado codigo malicioso en el adjunto que contenía el correo. Pongase en contacto con el administrador de su sistema mundo redes si está seguro/a de que no es un virus, pida a la persona que le envía el fichero que por favor lo ponga en un fichero comprimido protegido por una contraseña. Que pena con usted. [Virus] $VIRUS [De] $SENDER [Para] $RECIPIENTS EOM exit 0 Al modificar este archivo lo hacemos es con el fin de que si de pronto por algún motivo el sistema anti virus clamav mira que hay algún tipo de archivo sospechoso o algún virus el

automáticamente le hara saber al administrador por medio de un mail, diciéndole simplemente que hay alun archivo sospechoso o un virus y que lo ha detectado, y estos serán almacenados en un lugar especial Después de esto lo que haremos es decirle a postfix que todos los correos que entren y que salgan sean analizados por un sistema antivirus en este caso clamav. Vamos al archivo de configuración del postfix : #nano /etc/postfix/master.cf Después de estar en el final del archivo agregamos estas cuantas lineas : ## FILTRO ANTIVIRUS ## Filtro antivirus usado por content filter scan

unix -

-

n

-

16

smtp

-o smtp_send_xforward_command=yes -o smtp_enforce_tls=no # Para inyectar el correo a postfix una vez analizado 127.0.0.1:10026 inet n -

n

-

16

smtpd

-o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8

Nos dirigimos al archivo main.cf y adicionamos unas cuantas lineas del filtro y el escaneo. #nano /etc/postfix/main.cf content_filter = scan: [127.0.0.1]:10025 reiniciamos para que acepte los cambios. #/etc/init.d/clamsmtp restart #/etc/init.d/postfix restart Llegado a este punto, ya tendremos configurado postfix con un sistema de seguridad completo como es con antivirus y probaremos que los mensajes sean analizados con el mutt.

Related Documents

Postfix En Debian
December 2019 10
Postfix Debian 4 Etch
June 2020 8
Postfix
July 2020 8
Postfix
November 2019 18
Postfix
November 2019 28
Debian
November 2019 29