Professional Documents
Culture Documents
PROYECTO 1
CUARTO TRIMESTRE
TITULACION
GRUPO # 2
INTEGRANTES
SENA
CENTRO DE SERVICIOS Y GESTION EMPRESARIAL
REGIONAL ANTIOQUIA
MEDELLIN
2008
1
Plataforma de correo segura
INDICE
Pág.
Portada 1
Indice 2
Indice de Imágenes 3
Introducción 5
Objetivo general 6
Objetivos Específicos 6
Nombre del hosts y del Dominio 7
Descarga de paquetes para MDS 8
Configuración del Slapd 9
Samba Server 11
Configuración Postfix 12
Configuración de libnss-ldap 13
Configuración libpam-ldap 14
Configuración de libpam-ldap 16
Configuración LDAP 18
LDAP 18
OpenLDAP 18
Configuración Básica 19
Samba 23
Configuración Básica 23
Que es samba 23
Directorio LDAP 27
Configuración del NNS LDAP 28
Directorios Samba 29
Configuración del PAM LDAP 29
Configuración del Postfix 33
Dovecot 36
Deliver 38
Configuración amavis, clamav y spamassassin 39
Configuración del BIND 42
Configuración del DHCP 43
MMC plugins 43
Configuración del plugin mmc network 44
Configuración del plugin mmc mail 45
Configuración del plugin mmc samba 45
MMC web interface 47
Primeros pasos para la configuración DNS 48
Primeros pasos para la configuración DHCP 50
Pasos para crear usuarios 53
Como unir un equipo Windows XP a un dominio 59
Configuración Squirrelmail 63
Que es Squirrelmail 63
Como crear usuarios y dominios virtuales 67
Dominios virtuales y usuarios virtuales 67
Certificados digitales y conexiones seguras 79
Conclusiones 89
Netgrafia 89
2
Plataforma de correo segura
INDICE DE IMÁGENES
3
Plataforma de correo segura
4
Plataforma de correo segura
INTRODUCCION
5
Plataforma de correo segura
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
6
Plataforma de correo segura
MANUAL
PARA LA IMPELMENTACION DE UNA PLATAFORMA DE CORREO SEGURA CON
ADMINISTRACION EN MANDRIVA DIRECTORY SERVER EN LINUX DEBIAN
Nano /etc/hosts
Para que samba sea capaz de mapear los ficheros ACL (lista de control de
acceso) entre el servidor Linux y los clientes Windows, es necesario
añadir acl en el archivo de configuración /etc/fstab (en el determinaremos
dónde deben montarse los sistemas de ficheros, en qué orden y cuales
deben comprobarse (por fallos de integridad) antes de montarse).
nano /etc/fstab
7
Plataforma de correo segura
nano /etc/sources.list
#
# deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib $
#deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib m$
# Line commented out by installer because it failed to verify:
deb http://security.debian.org/ etch/updates main contrib
# Line commented out by installer because it failed to verify:
deb-src http://security.debian.org/ etch/updates main contrib
#deb http://10.3.64.195:81/debian sarge main contrib non-free
8
Plataforma de correo segura
Configuración de slapd
Nos pedirá que introduzcamos la contraseña para la entrada de administrador
de su directorio LDAP.
Damos aceptar.
9
Plataforma de correo segura
10
Plataforma de correo segura
Samba Server
En el siguiente recuadro nos pedirá que ingresemos el nombre de nuestro
dominio.
11
Plataforma de correo segura
Configuración Postfix
Luego nos muestra unos términos relacionados con la configuración Postfix.
Damos aceptar.
12
Plataforma de correo segura
Configuración de libnss-ldap
Introducimos el URI (Identificador uniforme de recursos), para el servidor
LDAP.
Seria la dirección IP “127.0.0.1”.
Damos aceptar.
Imagen 9- Identificador de recursos
13
Plataforma de correo segura
14
Plataforma de correo segura
15
Plataforma de correo segura
Configuración de libpam-ldap
Seleccionamos "Sí" cuando nos pregunte sí local root debe ser la base de
datos del administrador.
16
Plataforma de correo segura
17
Plataforma de correo segura
Configuración de LDAP
OpenLDAP
Se trata de una implementación libre del protocolo que soporta múltiples
esquemas por lo que puede utilizarse para conectarse a cualquier otro LDAP
18
Plataforma de correo segura
En primer lugar copiamos los archivos del esquema MMC, correo, Samba,
DNS y DHCP, que fueron suministrados por los paquetes del MDS
anteriormente descargados del repositorio
deb http://mds.mandriva.org/pub/mds/debian etch main.
Y que se encuentran en la ruta por defecto /usr/share/doc/python-mmc-
base/contrib/ldap/ y seran copiados al esquema del directorio LDAP.
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/
nano /etc/ldap/slapd.conf
Incluir el esquema de archivos después de (inetorgperson schema).
include /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema
Configuración Básica
En este paso necesitaremos la contraseña de administrador ldap (que
hemos definido anteriormente en el paso 4) la cual vamos a cifrar en
forma encriptada (SSHA).
Ejecutamos:
slappasswd -s "contraseña"
19
Plataforma de correo segura
rootdn "cn=admin,dc=sergio,dc=com"
(Esta línea establece el nodo ("usuario") que tiene privilegios globales para
modificar la "base de datos" LDAP, en este caso cn=Admin,)
rootpw {SSHA}Zdn+Zec1IhobOTBuGzwJWdSndPSNr9xA
(Indica la contraseña para el usuario Admin)
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq
access to attrs=userPassword,shadowLastChange
# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.
#######################################################################
# Global Directives:
# Features to permit
#allow bind_v2
20
Plataforma de correo segura
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema
schemacheck on
# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1
#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend bdb
checkpoint 512 30
#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend <other>
#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database bdb
21
Plataforma de correo segura
# For the Debian package we use 2MB as default but be sure to update this
# value if you have plenty of RAM
dbconfig set_cachesize 0 2097152 0
# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057
# for more information.
# Save the time that the entry gets modified, for database #1
lastmod on
22
Plataforma de correo segura
#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database <other>
host 127.0.0.1
base dc=sergio,dc=com
SAMBA
Configuración Básica
cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/
nano /etc/samba/smb.conf
Establecer los siguientes valores en la sección global
workgroup = SERGIO
23
Plataforma de correo segura
netbiosname = PDC-SRV-SERGIO
ldap admin dn = cn=admin,dc=sergio,dc=com
ldap suffix = dc=sergio,dc=com
logon path = \\%N\profiles\%U
[global]
workgroup = SERGIO
netbiosname = PDC-SRV-SERGIO
server string = Mandriva Directory Server - SAMBA %v
log level = 3
null passwords = yes
# unix charset = ISO8859-1
name resolve order = bcast host
domain logons = yes
24
Plataforma de correo segura
[homes]
comment = Home directories
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
hide files = /Maildir/
[public]
comment = Public share
path = /home/samba/shares/public
browseable = yes
public = yes
25
Plataforma de correo segura
writeable = yes
[archives]
comment = Backup share
path = /home/samba/archives
browseable = yes
public = no
writeable = no
[netlogon]
path = /home/samba/netlogon
public = no
writeable = no
browseable = no
[profiles]
path = /home/samba/profiles
writeable = yes
create mask = 0700
directory mask = 0700
browseable = no
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes
smbpasswd -w contraseña
Debe salir algo similar a esto, que nos indica que las credenciales fueron
bien asignadas.
Setting stored password for "cn=admin,dc=sergio,dc=com"in sec rets.tdb
26
Plataforma de correo segura
Directorio LDAP
Lo primero que necesitamos crear es el archivo de configuración
smbldap-tools. Y dentro de el crearemos los ficheros configuración
smbldap_bind.conf y smbldap.conf. Que definen la manera de
comunicarse con el servidor LDAP.
nano /etc/smbldap-tools/smbldap_bind.conf
El contenido debe ser similar a este
slaveDN="cn=admin,dc=sergio,dc=com"
slavePw="contraseña"
masterDN="cn=admin,dc=sergio,dc=com"
masterPw="contraseña"
nano /etc/smbldap-tools/smbldap.conf
El contenido debe ser similar a este (Sustituimos el SID por el nuestro)
SID="S-1-5-21-3647057178-929924568-909873380"
sambaDomain="SERGIO"
ldapTLS="0"
suffix="dc=sergio,dc=com"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=SERGIO,${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-SERGIO\%U"
userProfile="\\PDC-SRV-SERGIO\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="sergio.com"
smbpasswd="/usr/bin/smbpasswd"
27
Plataforma de correo segura
Configuración del NSS LDAP (El NNS permite autenticar usuarios vía LDAP).
Editamos el nsswitch
Que define el orden de la búsqueda de las bases de datos en la red.
nsswitch.conf es el nombre del archivo de configuración para modificar el
servicio de nombres, generalmente está ubicado en el directorio /etc. Su
propósito es decirle al sistema en qué orden debería consultar los distintos
servicios de nombres para resolver información acerca de los usuarios,
resolución de nombres, y grupos de red.
Ejemplo hosts: files dns (Esto le dice al sistema que primero busque la
información de host en el archivo hosts y si no lo encuentra allí que realice una
consulta DNS.
nano /etc/nsswitch.conf
El contenido debe ser parecido a este.
# /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
Plataforma de correo segura
Directorios Samba.
Crearemos los directorios necesarios para el servidor samba
mkdir -p /home/samba/shares/public/
mkdir /home/samba/netlogon/
mkdir /home/samba/profiles/
mkdir /home/samba/partage/
mkdir /home/samba/archives/
#
# /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
En el archivo
nano /etc/pam.d/common-auth
El contenido debe ser igual al siguiente
#
# /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
29
Plataforma de correo segura
En el archivo
nano /etc/pam.d/common-password
El contenido debe ser igual al siguiente
#
# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
#used to change user passwords. The default is pam_unix
# The "nullok" option allows users to change an empty password, else
# empty passwords are treated as locked accounts.
#
# (Add `md5' after the module name to enable MD5 passwords)
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs. Also the "min" and "max" options enforce the length of the
# new password.
password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password sufficient pam_ldap.so use_first_pass use_authtok
password required pam_deny.so
# Alternate strength checking for password. Note that this
# requires the libpam-cracklib package to be installed.
# You will need to comment out the password line above and
# uncomment the next two in order to use this.
# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
#
# password required pam_cracklib.so retry=3 minlen=6 difok=3
# password required pam_unix.so use_authtok nullok md5
En el archivo
nano /etc/pam.d/common-session
El contenido debe ser igual al siguiente
#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive). The default is pam_unix.
#
session required pam_unix.so
session optional pam_ldap.so
30
Plataforma de correo segura
nano /etc/ssl/mail.cnf
Agregamos el siguiente contenido
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
prompt = no
string_mask = nombstr
x509_extensions = server_cert
[ req_distinguished_name ]
countryName = CO
stateOrProvinceName = Antioquia
localityName = Medellin
organizationName = Sena
organizationalUnitName = IT
commonName = debian.sergio.com
emailAddress = postmaster@sergio.com
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"
Y ajustar los derechos de la clave con el fin de que sólo el root tenga
permisos para leerlo.
chmod 600 /etc/ssl/private/mail.key
Tenemos que cambiar algunas cosas para que funcione correctamente. Porque
Postfix se ejecuta chroot en /var/spool/postfix cambio tenemos un par de
caminos a vivir en las falsas raíz. (Es decir, /var/run/saslauthd se convierte en
/var/spool/postfix/var/run/saslauthd).
31
Plataforma de correo segura
Creamos el directorio con el –p (el –p es para crear cada directorio padre que
falten para cada directorio)
Ejecutamos
mkdir -p /var/spool/postfix/var/run/saslauthd/
Vamos a:
nano /etc/default/saslauthd
Debe tener un aspecto como este.
#
# Settings for saslauthd daemon
#
El archivo de configuración
nano /etc/saslauthd.conf
32
Plataforma de correo segura
ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=sergio,dc=com
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))
El archivo de configuración
nano /etc/postfix/sasl/smtpd.conf
Debe quedar asi.
pwcheck_method: saslauthd
mech_list: plain login
Y reiniciamos SASL
/etc/init.d/saslauthd restart
cp /usr/share/doc/python-mmc-base/contrib/postfix/no-virtual-domain/* /etc/postfix/
33
Plataforma de correo segura
myhostname = debian.sergio.com
mydomain = sergio.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.sergio.com,sergio.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 = +
inet_interfaces = all
# Use Maildir
home_mailbox = Maildir/
# Basics Restrictions
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
34
Plataforma de correo segura
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
permit
# 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
Vamos al archivo
/etc/postfix/ldap-aliases.cf
Que contiene la lista de alias del LDAP, en el se especifica al inicio un nombre
ó alias de correo.
Vamos al archivo
nano /etc/postfix/master.cf (En este archivo se definen los parámetros de
configuración de los servicios que trabajan en conjunto con el postfix, se define
por ejemplo si se va a trabajar con spamassassin, clamav , y amavis)
35
Plataforma de correo segura
# 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
Reiniciamos el postfix
/etc/init.d/postfix restart
Configuracion principal
Ejecutamos:
echo " " > /etc/dovecot/dovecot.conf
Para limpiar este archivo
36
Plataforma de correo segura
# 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
user = postfix
group = postfix
}
}
37
Plataforma de correo segura
Configuración de LDAP
Para configurar Dovecot, para utilizar LDAP editamos este archivo contiene
detalles acerca de su servidor LDAP.
Ejecutamos
echo "" > /etc/dovecot/dovecot-ldap.conf
Para limpiar este archivo
hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=sergio,dc=com
scope = subtree
user_attrs =
homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage
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
DELIVER.
(Termino que define al dovecot como agente de entrega de correos).
Ahora ajustamos los derechos para el dovecot deliver.
Entonces dovecot usara los derechos uid (identificador de usuario) y gid
(identificador de grupos de usuarios), Cuando almacene los mensajes en los
maildirs (Maildir es un formato de spool, Operación On Line y Simultánea con
Periféricos) 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 con tres subdirectorios
llamados tmp, new, y cur. Todos los subdirectorios deben residir en el mismo
sistema de archivos
Luego cedemos los derechos para poder autorizar al Dovecot, de modo que
este pueda administrar los indicadores relativos de usuarios y de grupos,
cuando sean guardados los correos en la carpeta Mialdir de los usuarios.
38
Plataforma de correo segura
Configuremos Amavis de forma tal que los correos pasen por este y los
revise estrictamente y los descomprima si es necesario.
Vamos al archivo
nano /etc/amavis/conf.d/15-content_filter_mode
Debe tener un aspecto como este
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 vamos a
nano /etc/amavis/conf.d/50-user
Debe tener un aspecto como este
use strict;
$pax='pax';
1;
39
Plataforma de correo segura
Ejecutamos:
adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart
Spamassassin
En este paso tendremos que habilitar plugins adicionales para aumentar
la detención de spam.
#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
40
Plataforma de correo segura
nano /etc/amavis/conf.d/20-debian_defaults
$sa_tag_level_deflt = 0.2; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 0.2; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 0.1; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;
Esto lo hacemos para comprobar el acierto, es decir, para ver si detecta todos
los mensajes con spam o falla en algunos.
$sa_spam_subject_tag.
Y modificamos la siguiente línea para que pasen los mensajes con spam
(aunque la cabecera del mensaje nos lo dirá, si hemos puesto la directiva).
D_REJECT
Por
D_PASS
chomp($mydomain = `sergio.com`);
41
Plataforma de correo segura
required_score 5.0
Por
required_score 0.3
En el archivo de configuración
nano /etc/postfix/main.cf
content_filter = amavis:[127.0.0.1]:10024
Por
content_filter = amavis:[localhost]:10024
/etc/init.d/spamassassin start
/etc/init.d/amavis restart
Ejecutamos el comando
cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/
42
Plataforma de correo segura
search sergio.com
nameserver 127.0.0.1
nameserver 192.168.0.10
cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
MMC PLUGINS
43
Plataforma de correo segura
[ldap]
# LDAP we are connected to
host = 127.0.0.1
# LDAP base DN
baseDN = dc=sergio, 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 = contraseña
# 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
44
Plataforma de correo segura
[dhcp]
dn = ou=DHCP,dc=sergio,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=sergio,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
[main]
disable = 0
# Computers Locations
baseComputersDN = ou=Computers, dc=sergio, dc=com
45
Plataforma de correo segura
sambaConfFile = /etc/samba/smb.conf
sambaInitScript = /etc/init.d/samba
sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so
# Default SAMBA shares location
defaultSharesPath = /home/samba
# You can specify authorized paths for share creation
# Default value is the defaultSharesPath value
# authorizedSharePaths = /shares, /opt, /srv
/etc/init.d/mmc-agent start
/etc/init.d/bind9 restart
46
Plataforma de correo segura
47
Plataforma de correo segura
48
Plataforma de correo segura
Ahora podemos ver como quedo creada la zona DNS, con el dominio y su
identificador de red, y luego damos clic en la lupa que aparece en la parte
derecha de la pantalla.
49
Plataforma de correo segura
50
Plataforma de correo segura
51
Plataforma de correo segura
52
Plataforma de correo segura
53
Plataforma de correo segura
54
Plataforma de correo segura
55
Plataforma de correo segura
Lo mismo hacemos para crear el otro usuario, damos clic "Add" en el menu de
la izquierda. Y llenamos los campos necesarios como aparecen el la imagen
inferior. Y por ultimo damos clic en “confirm” para crear el usuario.
56
Plataforma de correo segura
57
Plataforma de correo segura
58
Plataforma de correo segura
59
Plataforma de correo segura
Después de que nos aparezca la consola o Símbolo del sistema, pedimos una
asignación de IP al DHCP que se en encuentra en el dominio sergio.com, con
el siguiente comando.
ipconfig /renew
60
Plataforma de correo segura
61
Plataforma de correo segura
Y nos pedirá que reiniciemos el Equipo para que los cambios tengan efectos.
Damos aceptar.
62
Plataforma de correo segura
Configuración Squirrelmail
Para poder ver el entorno grafico del squirrelmail hay que descargar unos
paquetes.
El archivo de configuración
Squirrelmail-configure
63
Plataforma de correo segura
Ahora hemos entrado al buzón del correo electrónico del usuario alexis y
damos clic en compose para enviar un correo de prueba al otro usurio creado.
64
Plataforma de correo segura
65
Plataforma de correo segura
66
Plataforma de correo segura
Y veremos una serie de parámetros que nos dice por quien fue enviado, la hora
y fecha que fue enviado, a quien se dirigía y con su respectivo mensaje. En
este caso es “Hola este es un correo de practica”.
Dominios virtuales.
Una opción muy común en la configuración de servidores de correo electrónico
es hospedar las cuentas de correo de varios dominios. Estos dominios son,
efectivamente, tratados como dominios virtuales pero, a diferencia de los alias
virtuales, es preciso disponer de un buzón de correo para las cuentas de cada
dominio. El uso de dominios virtuales y alias virtuales es complementario, no
exclusivo.
Usuarios virtuales.
Es una cuenta adicional o un alias de un usuario real perteneciente a un
dominio, con el fin de que cuando se solicite esta cuenta adicional (correo
electrónico) esta sea redirigida al buzón del usuario real, de este modo el
usuario real se podrá solicitar ya sea por su nombre o por su alias (usuario
virtual).
Vamos a:
nano /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains/main.cf
67
Plataforma de correo segura
El archivo /etc/postfix/main.cf
debe quedar de la siguiente manera
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
myhostname = debian.sergio.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.sergio.com,sergio.com,localhost.localdomain,localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Use Maildir
home_mailbox = Maildir/
# Basics Restrictions
68
Plataforma de correo segura
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
# 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
69
Plataforma de correo segura
#receive_override_options = no_address_mappings
y ejecutamos
ls -l
para que nos muestre los archivos de configuracion, que vamos a copiar
a la ruta /etc/postfix
cp ldap-accounts.c /etc/postfix/
cp ldap-aliases.cf /etc/postfix/
cp ldap-domains.cf /etc/postfix/
cp ldap-gid.cf /etc/postfix/
cp ldap-maildrop.cf /etc/postfix/
cp ldap-transport.cf /etc/postfix/
cp ldap-uid.cf /etc/postfix/
nano ldap-accounts.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = mailbox
version = 3
expansion_limit = 1
nano ldap-aliases.cf
debe tener un aspecto similar a este.
70
Plataforma de correo segura
server_host = 127.0.0.1
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = mail
version = 3
nano ldap-domains.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=mailDomains,dc=sergio,dc=com
query_filter = (&(objectClass=mailDomain)(virtualdomain=%s))
result_attribute = virtualdomain
version = 3
nano ldap-gid.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))
result_attribute = gidNumber
version = 3
expansion_limit = 1
nano ldap-maildrop.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = maildrop
version = 3
nano ldap-transport.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = mailhost
result_format = smtp:[%s]
version = 3
71
Plataforma de correo segura
nano ldap-uid.cf
debe tener un aspecto similar a este.
server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=sergio,dc=com
query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))
result_attribute = uidNumber
version = 3
expansion_limit = 1
Ahora vamos a
nano /etc/mmc/plugins/mail.ini
y hacemos unas modificaciones y el archivo debe ser parecido a este.
[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 1
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=sergio, 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
reiniciamos el MMC-AGENT
/etc/init.d/mmc-agent restart
72
Plataforma de correo segura
73
Plataforma de correo segura
Ahora vamos a la pestaña “Users”, y como podemos ver hemos creado dos
nuevos usuarios para hacer la prueba de los dominios y usuarios virtuales.
Damos clic en el usuario (balbin@sergio.com).
74
Plataforma de correo segura
75
Plataforma de correo segura
76
Plataforma de correo segura
77
Plataforma de correo segura
78
Plataforma de correo segura
Y como podemos ver los dos correos tanto el del usuario virtual como el del
dominio virtual han llegado al buzon del usuario (balbin@sergio.com).
Crearemos dos host virtuales - uno para las conexiones http y otro para
las conexiones https.
ServerName debian.sergio.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://debian.sergio.com/mmc
79
Plataforma de correo segura
</VirtualHost>
<VirtualHost *:443>
ServerName debian.sergio.com
ServerAdmin Administrator@sergio.com
DocumentRoot /usr/share/mmc/
SSLEngine on
SSLCertificateKeyFile ssl/server.key
SSLCertificateFile ssl/server.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>
80
Plataforma de correo segura
Copiamos lo siguiente.
cp /etc/apache2/sites-available/http /etc/apache2/sites-available/http/webmail
Webmail
Vamos archivo nano /etc/apache2/sites-available/webmail.
Modificamos las siguientes líneas.
<VirtualHost *:80> para que escuche por todos y
RewriteRule (.*) https:// webmail.sergio.com para que redireccione las
peticiones a modo seguro.
<VirtualHost *:80>
ServerName webmail.sergio.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://webmail.sergio.com
</VirtualHost>
Webmails
Vamos al archivo nano /etc/apache2/sites-available/webmails
El archivo debería quedar de la siguiente forma
Alias /squirrelmail /usr/share/squirrelmail
# users will prefer a simple URL like http://webmail.example.com
NameVirtualHost *:80
<VirtualHost *:443>
DocumentRoot /usr/share/squirrelmail
ServerName webmail.sergio.com
ServerAdmin Administrator@sergio.com
SSLEngine on
81
Plataforma de correo segura
SSLCertificateKeyFile ssl/webmail.key
SSLCertificateFile ssl/webmail.crt
SSLProtocol all
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
<IfModule mod_php4.c>
php_flag register_globals off
</IfModule>
<IfModule mod_php5.c>
php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
nano /etc/apache2/ports.conf
Agregamos la siguiente linea:
82
Plataforma de correo segura
Listen 443
Por ultimo habilitaremos los sitios anteriormente configurados.
a2ensite http
a2ensite https
a2ensite webmail
a2ensite webmails
83
Plataforma de correo segura
84
Plataforma de correo segura
Ahora tendremos que crear un alias para nuestro sitio Web (squirrelmail).
Vamos al modulo network.
85
Plataforma de correo segura
86
Plataforma de correo segura
87
Plataforma de correo segura
88
Plataforma de correo segura
CONCLUCIONES
NETGRAFIA
http://www.howtoforge.com/mandriva-directory-server-on-debian-etch
http://www.wikipedia.org
http://wiki.red-sena.net
Agradecimientos especiales al
Intructor del SENA
Andres Mauricio Ortiz
89