Postfix en Debian

84
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.

Transcript of Postfix en Debian

Page 1: Postfix en Debian

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-freedeb 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.

Page 2: Postfix en Debian

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.

Page 3: Postfix en Debian

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

Page 4: Postfix en Debian

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.

Page 5: Postfix en Debian

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.

Page 6: Postfix en Debian

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

Page 7: Postfix en Debian

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

Page 8: Postfix en Debian

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

Page 9: Postfix en Debian

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.

Page 10: Postfix en Debian

Aquí

escribimos el Asunto del mensaje.

Este sera el

mensaje que llegara al usuario al cual se lo enviamos.

Page 11: Postfix en Debian

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.

Page 12: Postfix en Debian

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

Page 13: Postfix en Debian

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

Page 14: Postfix en Debian

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

Page 15: Postfix en Debian

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].

Page 16: Postfix en Debian

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.

Page 17: Postfix en Debian

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

Page 18: Postfix en Debian

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.

Page 19: Postfix en Debian

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

Page 20: Postfix en Debian

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.

Page 21: Postfix en Debian

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”.

Page 22: Postfix en Debian

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

Page 23: Postfix en Debian

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

Page 24: Postfix en Debian

#/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

Page 25: Postfix en Debian

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

Page 26: Postfix en Debian

#apt-cache search slapd

Ahora instalamos los paquetes.

#apt-get install ldap-utils

#apt-get install migrationtools

#apt-get install slapd

Page 27: Postfix en Debian

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

Page 28: Postfix en Debian

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í

Page 29: Postfix en Debian

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.

Page 30: Postfix en Debian

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

Page 31: Postfix en Debian

#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/

Page 32: Postfix en Debian

El

nombre distintivo (DN) de la base de búsquedas

dc=mundoredes,dc=com

Versión de LDAP a utilizar 3

Page 33: Postfix en Debian

Crear un administrador de la base de datos local SI

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

Page 34: Postfix en Debian

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”

Page 35: Postfix en Debian

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

Page 36: Postfix en Debian

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

Page 37: Postfix en Debian

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

Page 38: Postfix en Debian

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

Page 39: Postfix en Debian

#

# 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.

Page 40: Postfix en Debian

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

Page 41: Postfix en Debian

# 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 <<[email protected]> for

Page 42: Postfix en Debian

# 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

Page 43: Postfix en Debian

# 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

Page 44: Postfix en Debian

# 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

Page 45: Postfix en Debian

# 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

Page 46: Postfix en Debian

# 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

Page 47: Postfix en Debian

[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

Page 48: Postfix en Debian

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.confProcessing section “[netlogon]“Processing section “[homes]“Processing section “[profiles]“Loaded services file OK.Server role: ROLE_DOMAIN_PDCPress 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:

Page 49: Postfix en Debian

Group Windows Name Gid samba sidsambaadmins Domain Admins 20000 512sambausers Domain Users 20001 513sambaguests Domain Guests 20002 514sambamachines 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.1Nombre distintivo (DN) : dc=mundoredes,dc=comVercion de LDAP a utilizar : 3Hace falta un usuario para acceder a la base de datos ldap : NoDar privilegios especiales de ldap para root : SIDesea hacer que la configuracion solo pueda leer o escribir el propietario : SICuenta ldap para root : cn=admin,dc=mundoredes,dc=comcontraseña ldap para root : carlosem

CONFIGURACION

#nano /etc/nsswitch.conf

Comentar estas lineas.

passwd: compat group: compat shadow: compat

Agregar estas otras.

passwd: compat ldapgroup: compat ldapshadow: compat ldap

Page 50: Postfix en Debian

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.1Nombre distintivo : dc=mundoredes,dc=comVercion de ldap : 3Make local root Database admin : siHace falta un usuario para la base de datos LDAP : noLdap account for root : cn=admin,dc=mundoredes,dc=comcontraseña para la cuenta ldap de root : carlosemLocal 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

Page 51: Postfix en Debian

#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

Page 52: Postfix en Debian

permisos para ingresar maquinas al dominioy 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 : AdministratorLast Name : GlobalComon Name : administratorUser ID : administratorUID Number : 0Samba SID : 512Password : carlosemVerify Password : carlosemHome Directory : /home/administrator

Fist Name : carlosLast Name : UserComon Name : carlosUser ID : carlosUID Number : 10000Samba SID : 512Password : carlos123Verify Password : carlos123Home Directory : /home/carlos

Fist Name : SebastianLast Name : UserComon Name : sebastianUser ID : sebastianUID Number : 10001Samba SID : 513Password : 147852Verify Password : 147852Gid number : sambausersPrimary Group ID : sambausersHome 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:

Page 53: Postfix en Debian

CREACION DE HOME

#mkdir /home/carlos #cp /etc/skel/.* /home/carlos/

chown -R carlos /home/carloschgrp -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

Page 54: Postfix en Debian

# 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".

Page 55: Postfix en Debian

# 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"

Page 56: Postfix en Debian

# 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"

Page 57: Postfix en Debian

# 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!

Page 58: Postfix en Debian

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"

Page 59: Postfix en Debian

# 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

Page 60: Postfix en Debian

# 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/

Page 61: Postfix en Debian

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 sambamachinesEL 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/bashif [ ! -d $1 ]thenmkdir $1fichmod 770 $1 -Rchown $2 $1 -Rchgrp $3 $1 -R###############

Y reiniciar

#/etc/init.d/samba restart

Page 62: Postfix en Debian

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

Page 63: Postfix en Debian

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'

Page 64: Postfix en Debian

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

Page 65: Postfix en Debian

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

Page 66: Postfix en Debian

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

Page 67: Postfix en Debian

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

Page 68: Postfix en Debian

#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 anti-virus.

Listen: 127.0.0.1:10025

Page 69: Postfix en Debian

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

Page 70: Postfix en Debian

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

Page 71: Postfix en Debian

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

Page 72: Postfix en Debian

-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.