Professional Documents
Culture Documents
CORREO SEGURO
Realizado por:
Dirigido para:
Fernando quintero
Andrés Mauricio Ortiz
Camilo Zapata
Nicolas Gallego
2008
1
INDICE
1. introducción 3
2. objetivos 4
2.1 objetivo genera 4
2.2 objetivo específicos 4
3. servidor de directorio mandriva 5
4. instalacion 5
4.1 preparación del sistema 5
4.2 sistemas de archivos ACL 7
4.3 repositorios 8
4.4 paquetes necesarios para la configuración 9
5 configuraciones 15
5.1 configuración ldap 15
5.2 configuración samba 20
5.3 configuracion nss ldap 28
5.4 configuracion pam ldap 29
5.5 configuracion bind 34
5.6 configuracion dhcp 34
6 configuracion de los plugins del la mmc 35
6.1 configuracion plugins base 35
6.2 configuracion plugins mail 37
6.3 configuracion plugins network 38
6.4 configuracion del dns por la mmc 40
6.5 configuracion del dhcp por la mmc 42
6.6 unir equipos al dominio. 43
7 configuracion del servidor de correo 44
7.1 configuracion sasl 44
7.2 configuracion postfix 46
7.3 dominios y usuarios virtuales 51
7.4 configuracion dovecot 58
7.5 configuracion amavis 60
7.6 configuracion spammassassim 64
8 configuracion correo seguro 65
8.1 ssl para correo 65
8.2 certificado ssl para la mmc y webmail 67
8.3 mmc de forma segura 68
8.4 webmail de forma segura 69
9 conclusiones 74
10 bibliografías 75
2
INTRODUCCION
El servidor de correo utilizara como MTA postfix integrado con dovecot el cual
provee POP3 Y IMAP. También se implementara con un sistema anti-spam
como los es el spamassassim y un sistema de antivirus como lo es el clamAV.
Además utilizara el SASL para autenticar los usuarios contra el ldap, también
utilizara ssl/tls para cifrar el trafico y muchos componentes mas que hacen del
servidor de correo una opción completa para implementarlo.
3
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
4
SERVIDOR DE DIRECTORIO EN MANDRIVA.
Este manual se debe seguir tal y como esta pues cualquier cambio que se le
haga diferente a los que ya están especificados podría ocasionarle problemas o
fallos con la configuración.
Primero que todo se debe tener tener definido algunos parámetros tales como:
INSTALACION
HOSTNAME
5
pico /etc/hosts
Luego insertar el nombre del host en el archivo hostname para que pueda
resolver el dominio.
Para que coja los cambios de lo que se acabo de realizar debemos reiniciar
con el comando.
reboot
hostname
hostname -f
debian.diensten.com
6
SISTEMA DE ARCHIVOS ACL
Para que samba sea capaz de examinar los ficheros acl entre un servidor Linux
y un cliente Windows lo que necesita es agregar al punto de montaje las acl
para que el usuario pueda hacer uso de sus recursos.
pico /etc/fstab
Ya de haber agregado las acl se remonta el montaje para que los cambios
tengan efecto.
mount -o remount /
7
Con el siguiente comando observamos si los cambios tuvieron efecto.
mount -l
REPOSITORIOS
Ahora para poder descargar los paquetes necesarios para toda la configuración
el mds proporciona el repositorio del cual podemos descargar los paquetes que
van relacionados con el mismo tales como el bin9 y el dhcpd.
Repositorio MDS
deb http://mds.mandriva.org/pub/mds/debian etch main
Debian volatile
Debian backports
Repositorio bacports
deb http://www.backports.org/debian etch-backports main
8
pico /etc/apt/source.list
apt-get update
Postfix-ldap. Es el esquema del postfix para poblar la base de datos del ldap.
9
zoo, gzip , bzip2, unzip, unrar-free, unzoo, arj Estos son los paquetes que permiten
comprimir, descomprimir o empaquetar cualquier fichero.
Estos paquetes son todos los que utilizaremos para la configuración del
servidor de correo seguro con dovecot.
10
Ahora procedemos a descargar los paquetes necesarios por consola.
NOTA: en caso de que cuando se este instalando todos los paquetes donde
nos dice que el paquete ddc-client no esta disponible lo borramos de la lista ya
que este paquete no es necesaria su instalación esto sucede es por que en los
repositorios no se encuentran.
11
Ahora solo debemos dar aceptar en la versión no autoritaria del servidor dhcp.
12
Ahora solo debemos de dar el nombre de la maquina mas el nombre del
dominio ya que este es el nombre que aparecerá al originarse el correo.
Ahora escogemos con que versión del ldap se trabajara .es preferible escoger
las versiones mas recientes en este caso la 3 que ofrece mecanismo de cifrado
y autenticación.
13
Ahora escogeremos que cuenta se utilizará para las consultas nss con
privilegios de root. En la opción cn cambiaremos manager por admin. Ya que
es a este que reconoce como administrador. Y en dc pondremos nuestro
dominio.
Ahora solo daremos aceptar pues lo que nos dicen es que en el archivo
nsswitch no se gestiona automáticamente si no que mas adelante tendremos
que configurarlo. Para que utilice la fuente de datos del ldap y no solo la del
sistema.
Esta opción indica que si el root tiene permisos para ver la base de datos del
ldap. Le decimos que no.
14
En esta opción solo decimos que no ya que no hace falta un usuario para
acceder a la base de datos.
CONFIGURACIONES
CONFIGURACION LDAP
Archivos de esquema
En primer lugar debemos copiar los archivos de esquema para la mmc, mail,
samba, printer (impresora), dns y dhcp en el directorio de esquemas del ldap
de la siguiente manera.
cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/
cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/
zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz >
/etc/ldap/schema/samba.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz >
/etc/ldap/schema/printer.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz >
/etc/ldap/schema/dnszone.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz >
/etc/ldap/schema/dhcp.schema
pico /etc/ldap/slapd.conf
15
Ahora incluimos estas las líneas después del esquema inetorgperson.
Include /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/printer.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema
Configuración básica
slappasswd –s sena2008
16
Nos debe de aparecer algo similar a esto.
{SSHA} n1p2aApis6YIjLOXggSyLx7cJ2bM6P0P
Esa es la forma de cómo queda encriptada ahora debemos tenerla anotada ya
que la necesitaremos mas adelante.
pico /etc/ldap/slapd.conf
NOTA: cuando en la línea del rootdn no aparece nuestro dominio eso significa
que cuando al comienzo de la configuración de las libnss-ldap no se configuro
bien. Eso nos puede traer problemas .por eso se debe seguir paso a paso este
manual.
17
Ahora es necesario modificar las opciones de indexing ya que es allí donde va
y busca los identificadores del esquema. La cual encontraremos en
Index objectClass eq
Ahora agregaremos samba a las listas de acceso para la base de datos del
ldap pero primero debemos de borrar la línea que se muestra continuación.
18
Y agregamos esta linea.
access to attrs=userPassword,sambaLMPassword,sambaNTPassword
19
.Ahora Reiniciaremos el servicio del ldap.
/etc/init.d/slapd restart
CONFIGURACION SAMBA
CONFIGURACION BASICA
/etc/init.d/samba stop
cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/
pico /etc/samba/smb.conf
Primeros debemos de establecer algunos valores en la sección global del
samba donde especificaremos:
• El Workgroups(grupo de trabajo )
• Netbiosname Este parámetro fija en nombre NetBIOS por el cual es
conocido el servidor samba.
• El ldapadmin que es el parámetro que define el DN que usa samba para
contactar el servidor ldap.
• El ldapsuffix se usa como la base dn para todas las búsquedas ldap.
• El logon path que indica el directorio home donde se guardan los
ficheros de los perfiles.
20
Luego en la misma sección global añadiremos las siguientes línea las cuales
son la que nos permiten que el samba se pueda integrar con el ldap.
21
En el mismo archivo samba en la sección homes añadiremos la siguiente linea.
Este parámetro específica donde va ocultar los archivos en este caso en maildir
que es un formato de almacenamiento.
22
Ahora en la sección profile añadimos la siguiente linea. La cual es para ocultar
la carpeta de profile.
23
Si todo ha ido bien con el comando testparm veremos toda la configuración del
samba y nos debería de mostrar errores. Nos debería de mostrar algo similar a
esto.
Con este comando daremos las credenciales al samba para que pueda escribir
sobre el ldap.
smbpasswd -w (contraseña)
24
Ahora para nuestro grupo de trabajo debemos de crearle un SID el cual es un
identificador de nuestro grupo de trabajo. con el siguiente comando lo
crearemos.
25
Ahora iniciaremos el samba
/etc/init.d/samba start
Directorio ldap
Ahora crearemos los archivos que nos permiten definir como el samba se
comunicara con el ldap.
pico /etc/smbldap-tools/smbldap_bind.conf
slaveDN="cn=admin,dc=diensten,dc=com"
slavePw="sena2008"
masterDN="cn=admin,dc=diensten,dc=com"
masterPw="sena2008"
pico /etc/smbldap-tools/smbldap.conf
Este archivo debe de tener este aspecto y en el SID cambiamos el que viene
por el que creamos.
SID="S-1-5-21-3159899821-123882392-54881133"
sambaDomain="DIENSTEN"
26
ldapTLS="0"
suffix="dc=diensten,dc=com"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=DIENSTEN,${suffix}"
scope="sub"
hash_encrypt="SSHA"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\\PDC-SRV-DIENSTEN\%U"
userProfile="\\PDC-SRV-DIENSTEN\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="diensten.com"
smbpasswd="/usr/bin/smbpasswd"
Ahora procedemos a poblar la base de datos del ldap y a crear una cuenta para el
administrador .luego de haberla creado le damos una contraseña la cual va ser la del
administrador.
smbldap-populate -m 512 -a Administrator
27
Ahora procedemos a cambiar el uid para poder utilizar el servidor de correo
además añadir a esta cuenta los usuarios de dominio. De la siguiente manera.
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
28
DIRECTORIOS SAMBA
mkdir -p /home/samba/shares/public/
mkdir /home/samba/netlogon/
mkdir /home/samba/profiles/
mkdir /home/samba/partage/
mkdir /home/samba/archives/
En este paso añadiremos el modulo ldap al pam los cuales se utilizaran para
que los usuarios puedan autenticarse contra el ldap.
Ahora en el archivo.
pico /etc/pam.d/common-account
#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system. The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
account required pam_unix.so
account sufficient pam_ldap.so
29
Ahora en el archivo.
pico /etc/pam.d/common-auth
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
30
En el archivo.
pico /etc/pam.d/common-password
31
En el archivo.
pico /etc/pam.d/common-session
32
Ahora reiniciaremos el sistema.
NOTA: en caso de que nos salga un error donde nos dice que no se puede
conectar con el 127.0.0.1 puede ser por varias cosas como la contraseña no es
la correcta o por que es a veces necesario reiniciar ciertos servicios. O también
en los archivo de configuración del smbldap tools no esta bien definido tanto la
contraseña como el dominio.
33
CONFIGURACIÓN DEL DNS
BIND
Ahora haremos una copia del archivo de configuración al directorio bind. El cual
se encuentra en las librerías que se descargaron anteriormente del python.
cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/
Haremos que el slapd cambie el punto de partida para que inicie primero que el
bind con el comando.
Editamos en el archivo
pico /etc/resolv.conf
CONFIGURACIÓN DHCP
cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
pico /etc/dhcp3/dhcpd.conf
34
ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=diensten, dc=com";
ldap-password "sena2008";
ldap-base-dn "dc=diensten, dc=com";
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";
CONFIGURACION PLUGIN-BASE
pico /etc/mmc/plugins/base.ini
[ldap]
# LDAP we are connected to
35
host = 127.0.0.1
# LDAP base DN
baseDN = dc=example, dc=com
# Users location in the LDAP
baseUsersDN = ou=Users, %(basedn)s
# Groups location in the LDAP
baseGroupsDN = ou=Groups, %(basedn)s
# Computers Locations
baseComputersDN = ou=Computers, %(basedn)s
# LDAP manager
rootName = cn=admin, %(basedn)s
password = howtoforge
# If enabled, the MMC will create/move/delete the home of the users
# Else will do nothing, but only write user informations into LDAP
userHomeAction = 1
# Skeleton directory to populate a new home directory
skelDir = /etc/skel
# If set, all new users will belong to this group when created
defaultUserGroup = Domain Users
# Default home directory for users
defaultHomeDir = /home
# user uid number start
uidStart = 10000
# group gid number start
gidStart = 10000
# LDAP log file path
logfile = /var/log/ldap.log
# FDS log file path
# logfile = /opt/fedora-ds/slapd-hostname/logs/access
# you can specify here where you can authorized creation of your homedir
# default is your defaultHomeDir
# example:
# authorizedHomeDir = /home, /home2, /mnt/depot/newhome
[backup-tools]
# Path of the backup tools
path = /usr/lib/mmc/backup-tools
# Where are put the archives
destpath = /home/samba/archives
36
CONFIGURACION PLUGIN – MAIL
pico /etc/mmc/plugins/mail.ini
[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 0
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=example, dc=com
[userDefault]
# For Postfix delivery
# mailbox = %homeDirectory%/Maildir/
# For Dovecot delivery
mailbox = maildir:%homeDirectory%/Maildir/
# Default quota (200 MBytes) set for user
mailuserquota = 204800
37
CONFIGURACIÓN PLUGIN-NETWORK
En es el archivo de red el cual permite que los servicios tanto del dhcp como el
dns puedan cargar la mmc.
pico/mmc/plugins/network.ini
En este archivo solo agregaremos nuestro dominio .el archivo deberá tener un
aspecto similar a este.
[main]
disable = 0
[dhcp]
dn = ou=DHCP,dc=example,dc=com
pidfile = /var/run/dhcpd.pid
init = /etc/init.d/dhcp3-server
logfile = /var/log/daemon.log
leases = /var/lib/dhcp3/dhcpd.leases
[dns]
dn = ou=DNS,dc=example,dc=com
pidfile = /var/run/bind/run/named.pid
init = /etc/init.d/bind9
logfile = /var/log/daemon.log
bindroot = /etc/bind/
binduser = bind
# dnsreader = DNS Reader
# dnsreaderpassword = DNSReaderPassword
38
Ahora reiniciaremos el mmc-agent
/etc/init.d/mmc-agent restart
39
CONFIGURACION DEL DNS POR LA MMC
Ahora crearemos una zona en el dns primero nos iremos para network y luego
para add DNS zone y llenamos todos los parámetros necesarios
40
Listo esto significa que nos creo bien la zona dns.
41
CONFIGURACION DEL DHCP POR LA MMC
42
Minimum lease time: tiempo mínimo de lo que va tener la ip..
Default lease time: tiempo por defecto de lo que va tener la ip.
Maximum lease time: tiempo máximo de lo que va tener la ip.
Ip range start: ip desde donde va a entregar
Ip range end: hasta donde va entregar
43
Ahora ingreso con la cuenta de usuario administrador y la contraseña la cual es
sena2008.
Nota: en caso tal de que no se pueda unir al dominio nos vamos para la
configuración de red y en la opción wins ponemos la ip del nuestro dominio.
CONFIGURACION SASL
mkdir -p /var/spool/postfix/var/run/saslauthd/
44
Postfix corre en chroot, entonces, para que pueda ver el socket del sasl
debemos de agregar en el archivo.
pico /etc/default/saslauthd
Líneas a agregar:
START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
.
pico /saslauthd.conf
ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=diensten
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))
pico /postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
Reiniciaremos el sasl
/etc/init.d/saslauthd restart
45
CONFIGURACIÓN POSTFIX
Postfix
cp /usr/share/doc/python-mmc-base/contrib/postfix/no-virtual-domain/*
/etc/postfix/
pico /etc/postfix/main.cf
Editar el archivo para que se ajuste a nuestro dominio el cual debe quedar de la
siguiente forma:
myhostname = debian.diensten.com
mydomain = diensten.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.diensten.com,diensten.com,localhost.localdomain,localhost
mail_destination_recipient_limit = 1
mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN"
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
46
inet_interfaces = all
# Use Maildir
home_mailbox = Maildir/
# Basics Restrictions
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
47
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# SSL/TLS
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_cert_file = /etc/ssl/certs/mail.pem
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
# Amavis
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
Como los alias del correo están almacenados en el directorio ldap hay que
decirle al postfix donde y como realiza la búsqueda
.
Ahora editaremos la configuración del ldap aliases en el archivo
pico /etc/postfix/ldap-aliases.cf
server_host = 127.0.0.1
search_base = ou=Users,dc=diensten,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = maildrop
Version = 3
En el archivo.
48
pico /etc/postfix/master.cf
# SMTPS
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# Dovecot
dovecot unix - n n - - pipe
flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient
# Mail to Amavis
amavis unix - - - - 10 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
Reiniciemos el postfix
/etc/init.d/postfix restart
49
apt-get install squirrelmail
Ya con el instalado haremos un enlace simbólico para que los archivos del
squirremail queden en el apache.
ln -s /usr/share/squirremail/config/apache.conf/ /etc/apache2.conf
pico /etc/apache2/apache.conf
/etc/ini.d/apache2 restart
50
DOMINIOS Y USUARIOS VIRTUALES
Estas líneas son las que me permiten poder trabajar con los dominios virtuales
en el postfix .estas son las líneas que agrego el main.cf
51
Ahora todos estos archivos los cuales se encuentran en la ruta
/usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains.
Debemos de copiarlos en el postfix los cuales son:
Ldap-domains.cf
Ldap-account.cf
Ldap-aliases.cf
Ldap-maildrop.cf
Ldap-uid.cf
Ldap-gid.cf
Ldap –transport.cf
52
En el archivo ldap-aliases.cf aquí se encuentran las tablas de los alias.
53
El ldap-uid.cf es el identificador del usuario que permite escribir e el mailbox
.
54
Ya con todo esto configurado ahora podemos crear nuestros dominios y
usuarios virtuales.
Para crear los dominios virtuales nos vamos para la consola administrativa del
mandriva y en los servicios de correo escogemos la opción add a domain
Ahora damos el nombre de el dominio virtual que deseamos crear en este caso
grupo3.com.
55
Ya nos queda creado nuestro dominio virtual.
Ahora procedemos a crear usuarios virtuales en primer lugar nos vamos para
users que es allí donde se crearan y a el usuario que queramos crearle un
usuario virtual escogemos la opción que se muestra marcada ya que es allí
donde entramos a agregarlo.
56
Ahora en la plantilla donde se creo el usuario real o sea luisa .
57
Ya nos quedo creado tanto el dominio como los usuarios virtuales. Ahora
podemos enviar mensajes al usuario real por medio del dominio y usuario
virtual normalmente. y nos funcionara igual.
CONFIGURACIÓN DOVECOT
Configuración principal
Ahora entramos al archivo en el cual esta definido los protocolos con los que
dovecot trabajara.
pico /etc/dovecot/dovecot.conf
El contenido que debe tener debe ser igual a este solo cambiaremos el
dominio.
58
login_greeting = diensten.com mailserver ready.
mail_location = maildir:~/Maildir
disable_plaintext_auth = no
ssl_cert_file = /etc/ssl/certs/mail.pem
ssl_key_file = /etc/ssl/private/mail.key
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log
# IMAP configuration
protocol imap {
mail_plugins = quota imap_quota
}
# POP3 configuration
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}
# LDA configuration
protocol lda {
postmaster_address = postmaster
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = quota
}
# LDAP authentication
auth default {
mechanisms = plain login
passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = dovecot
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
59
user = postfix
group = postfix
}
}
}
Configuración ldap
Ahora entramos al archivo el cual es donde esta definido todos los parámetros
del servidor ldap.
pico /etc/dovecot/dovecot-ldap.conf
hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=diensten,dc=com
scope = subtree
user_attrs =
homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:stora
ge
user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
default_pass_scheme = CRYPT
user_global_gid = mail
Ahora ajustaremos los derechos para emitir el dovecot.a fin de que el dovecot
Utilice el derecho uid y gid cuando se almacenan los mensajes en maildir.
Reiniciaremos el dovecot.
/etc/init.d/dovecot restart
CONFIGURACION AMAVIS
60
En el archivo.
pico /etc/amavis/conf.d/15-content_filter_mode
use strict;
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1;
Ahora en el archivo.
pico /etc/amavis/conf.d/50-user
Use strict;
$pax='pax';
1;
Ahora en el archivo
pico /etc/amavis/Conf./05-domain_id
61
Ahora en el archivo
pico /etc/amavis/conf.d/20-debian_default
En la parte donde nos dice ***** SPAM****** modificaremos los valores ya que
estos son los que me definen que tanto queremos que nuestros correos sean
tomados como spam.
62
En otra parte del mismo archivo agregaremos las siguientes líneas
63
Ahora agregaremos el usuario clamav al grupo amavis y reiniciaremos tanto el
amavis como el clamav.
CONFIGURACIÓN SPAMASSASSIN
Ahora en el archivo.
pico /etc/spamassassin/local.cf
# dcc
use_dcc 1
dcc_path /usr/bin/dccproc
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf
#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
Las cual especifica que todo mensaje que sea considerado spam se marcara
así ****SPAM**** y el nivel con el que trabajara el spam.
64
En el archivo.
pico /etc/spamassassin/v310.pre
´
Plugins:
loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor
loadplugin Mail::SpamAssassin::Plugin::Razor2
loadplugin Mail::SpamAssassin::Plugin::SpamCop
loadplugin Mail::SpamAssassin::Plugin::AWL
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
pico /etc/default/spamassassin
ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
PIDFILE="/var/run/spamd.pid"
#NICE="--nicelevel 15"
CRON=0
/etc/init.d/spamassassin start
/etc/init.d/amavis restart
65
Ahora crearemos una entidad certificadora para obtener los certificados y las
llaves para la seguridad de nuestro sitio Web.
pico /etc/ssl/mail.cnf
e = Niedersachsen
localityName = Lueneburg
organizationName = Projektfarm GmbH
organizationalUnitName = IT
commonName = debian.diensten.com
emailAddress = postmaster@diensten.com
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"
66
Ahora crearemos el certificado ssl de la siguiente forma:
openssl req -x509 -new -config /etc/ssl/mail.cnf -out /etc/ssl/certs/mail.pem -keyout
/etc/ssl/private/mail.key -days 365 -nodes -batch
Y ajustar los derechos de la clave para que solo el root pueda leerlo.
mkdir /etc/apache2/ssl/
67
Ahora pediremos el certificado para la mmc
En primer lugar vamos a crear host virtuales tanto para las conexiones http y
https
De la siguiente forma:
pico /etc/apache2/sites-available/mmc
<VirtualHost 192.168.0.10:80>
ServerName debian.diensten.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
De la siguiente forma
pico /etc/apache2/sites-available/mmcs
NameVirtualHost 192.168.0.10:443
68
<VirtualHost 192.168.0.10:443>
ServerName debian.diensten.com
ServerAdmin Administrator@diensten.com
DocumentRoot /usr/share/mmc/
SSLEngine on
SSLCertificateKeyFile ssl/mmc.key
SSLCertificateFile ssl/mmc.crt
SSLProtocol all
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
<Directory /usr/share/mmc/>
AllowOverride None
Order allow,deny
Allow from all
php_flag short_open_tag on
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
</Directory>
ErrorLog /var/log/apache2/mmc_error.log
CustomLog /var/log/apache2/mmc_access.log combined
LogLevel warn
</VirtualHost>
En primer lugar vamos a crear host virtuales tanto para las conexiones correo
y correos de esa forma llamaremos los archivos.
De la siguiente forma:
pico /etc/apache2/sites-available/correo
69
<VirtualHost 192.168.0.10:80>
ServerName debian.diensten.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
De la siguiente forma
pico /etc/apache2/sites-available/correo
<VirtualHost *:80>
ServerName correo.diensten.com
RewriteEngine On
RewriteCond %{ HTTPS} off
RewriteRule (.*) https://correo.diensten.com
</VirtualHost>
70
<IfModule mod_php5.c>
php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
pico /etc/apache2/ports.conf
listen 80
listen 443
a2ensite http
a2ensite https
a2enmod rewrite
Ahora de procederá a cargar los módulos de ssl par que así pueda funcionar la
seguridad de los sitios creados.
a2enmod ssl
71
/etc/ini.d/apache2 restart
72
Aquí me estoy conectando a mi mmc de forma segura.
Ahora ya tenemos listos nuestro servidor correo integrado con todos los
componentes necesarios. Y funcionando perfectamente.
73
CONCLUSIONES
El manual es una gran ayuda para toda aquella persona que deba implementar
un servidor de correo ya que aquí podrá encontrar todas las herramientas
necesarias para hacerlo y además se especifica para qué es cada componente.
74
BIBLIOGRAFIA
Para la realización de este manual se utilizo varios sitios Web los cuales fueron
de gran ayuda. Pues a partir de estos sitios se pudo se plasmar una completa
información de lo significa instalar tanto un servidor de correo como un servidor
de directorio como lo es mandriva.
• http://www.howtoforge.com/mandriva-directory-server-on-debian-etch
• http://www.google.com.co
• http://www.wikipedia.org
• http://es.kioskea.net/
75