Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PLATAFORMA DE CORREOS
Presentado por:
Rafael Emiro Vega Tirado.
Jeyson Andrey Henao Alvarez.
Jonathan Andrés Loaiza García.
César Pineda.
Marcela
Presentado a:
Prof. Andrés Mauricio Ortiz.
2008
Proyecto Plataforma de Correos.
INTRODUCCIÓN
2
Proyecto Plataforma de Correos.
OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECÍFICOS
3
Proyecto Plataforma de Correos.
CONCEPTOS TEÓRICOS
MTA
Mail Transportation Agent, Agente de Transporte de Correo. Es una aplicación
que cumple la función de transferir correos electrónicos de una computadora a
otra. En si, éste es el servidor de correos que utiliza el protocolo SMTP. Dentro
de MTA´s están: Microsoft Exchange, Postfix, Sendmail, Qmail, Exim, entre
otros.
MDA
MUA
WEBMAIL
4
Proyecto Plataforma de Correos.
Es un cliente de correo electrónico, el cual provee una interfaz Web con el fin
de acceder a los correos electrónicos; es decir, con ésta aplicación podemos
ingresar, leer, enviar correos electrónicos vía Web.
Postfix.
Dovecot.
5
Proyecto Plataforma de Correos.
AMAVIS-NEW
SASL
SSL Y TLS
SQUIRRELMAIL
6
Proyecto Plataforma de Correos.
Los servidores de correo utilizan uno de los dos tipos de buzones: Mailbox y
Maildir.
MAILBOX:
Es un tipo de buzón que almacena los correos en forma de cola, es decir, éste
almacena todos los correos de un respectivo usuario en un solo archivo; de
ésta forma todo correo, sea spam, enviado o recibido se al macerarán en ese
único archvio. Cada usuario, por lógica tiene su propio archivo. Éste archivo
está ubicado en la siguiente ruta /var/spool/mail/[USUARIO].
MAILDIR:
Es otro tipo de buzón consiste en un directorio, en el cual existen otros
subdirectorios en los que van guardados los mensajes en diferentes archivos.
De ésta forma los mensajes spam, enviados o recibidos se almacenarán en
archivos distintos. Generalmente el archivo Maildir se encuentra en la siguiente
ruta /home/[USUARIO]/Maildir.
7
Proyecto Plataforma de Correos.
8
Proyecto Plataforma de Correos.
9
Proyecto Plataforma de Correos.
Para la instalación del MDS junto con la plataforma de correo se deben instalar
ciertos paquetes, por consiguiente, se deberá realizar una pequeña explicación
de la función de cada paquete.
10
Proyecto Plataforma de Correos.
11
Proyecto Plataforma de Correos.
INSTALACIÓN Y CONFIGURACIÓN
Hostname: server1.grupo9.com
Samba Domain: GRUPO9
IP: 192.168.0.19
Gateway: 192.168.0.1
Passwords Para Todo: sena2008
1.2 Hostname: Editar el archivo hosts con el fin de que nuestra máquina nos
resuelva localmente por ahora.
#pico /etc/hosts
El archive debe quedar de ésta forma:
#reboot
12
Proyecto Plataforma de Correos.
Se debe agregar ACL´s al Filesystem a nuestro punto de montaje “/”, con el fin
de que SAMBA sea capaz de examinar los ficheros ACL dentro de nuestro
servidor y así pueda almacenar los directorios, archivos y home´s de cada
usuario.
Debemos remontar el punto de montaje “/” para que aplique los cambios.
#mount –o remount /
13
Proyecto Plataforma de Correos.
2 REPOSITORIOS
Para instalar los paquetes requeridos para realizar éste trabajo se deben utili-
zar los siguientes repositorios, los cuales habilitamos en el archivo sources.list
#pico /etc/apt/sources.list
# MDS repository
deb http://mds.mandriva.org/pub/mds/debian etch main
# Debian Volatile
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
# Debian Etch Backports
deb http://www.backports.org/debian etch-backports main
#OTROS
deb http://ftp.es.debian.org/debian/ etch main contrib non-free
deb ftp://ftp.us.debian.org/debian sarge main contrib non-free
Antes de actualizar la lista de repositorios, debemos pedir una key para poder
descargar los paquetes Backports.
#apt-get update
14
Proyecto Plataforma de Correos.
15
Proyecto Plataforma de Correos.
16
Proyecto Plataforma de Correos.
Digitar el nombre del grupo de trabajo “GRUPO9”. Éste nombre trabaja como
un nombre Netbios.
17
Proyecto Plataforma de Correos.
18
Proyecto Plataforma de Correos.
19
Proyecto Plataforma de Correos.
20
Proyecto Plataforma de Correos.
Vesión de LDAP a utilizar “3” Se debe utilizar la versión más reciente que esté
disponible.
21
Proyecto Plataforma de Correos.
22
Proyecto Plataforma de Correos.
Make local root Database admin. “<No>”. Indica si solo el root puede ver la
base de datos del LDAP.
23
Proyecto Plataforma de Correos.
Se procede copiar los el esquema del Mail, Samba, MMC, Printer, DNS, DHCP
y agregarlos al squema del LDAP.
Debemos indicarle al LDAP que acepte los esquemas que acabamos de copiar,
para esto editamos el archivo sldap.conf.
#pico /etc/ldap/slapd.conf
24
Proyecto Plataforma de Correos.
De ésta forma, procedemos a incluir las listas de los esquemas que copiamos
anteriormente.
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
Sin embargo, debemos habilitar éstas líneas agregadas, por lo que debemos
incluri la siguiente línea debajo de éstas.
schemacheck on
Abrir el archivo de configuración del LDAP para agregar ésta clave encriptada.
#pico /etc/ldap/sldap.conf
Buscar la línea que dice rootdn, y descoméntela, de tal forma que quede así.
rootdn "cn=admin,dc=grupo9,dc=com"
Y Agrege debajo de ésta la linea rootpw junto con la clave del Admin LDAP
encriptada que originamos anteriormente.
rootpw {SSHA}lPd5OeiUGx4lyZUiQ2MFmzXV0JWyKV9A
25
Proyecto Plataforma de Correos.
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
Debemos definir las listas de acceso que samba tendrá sobre el LDAP. De ésta
forma, buscamos y cambiamos la línea que dice.
access to attrs=userPassword,shadowLastChange
Por ésta.
access to attrs=userPassword,sambaLMPassword,sambaNTPassword
# 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
26
Proyecto Plataforma de Correos.
argsfile /var/run/slapd/slapd.args
# 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
# For the Debian package we use 2MB as default but be sure to update this
27
Proyecto Plataforma de Correos.
# 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
28
Proyecto Plataforma de Correos.
######################################################################
#
# 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>
#pico /etc/ldap/ldap.conf
29
Proyecto Plataforma de Correos.
CONFIGURACIÓN DE SAMBA
#/etc/init.d/samba stop
#pico /etc/samba/smb.conf
workgroup = GRUPO9
netbiosname = SRV-GRUPO9
ldap admin dn = cn=admin,dc=grupo9,dc=com
ldap suffix = dc=grupo9,dc=com
logon path = \\%N\profiles\%U
30
Proyecto Plataforma de Correos.
31
Proyecto Plataforma de Correos.
En la sección [profiles], agregar la siguiente línea, con el fin de que los archivos
de Samba estén ocultos.
path = /home/samba/archives
Además, agregar al final del archivo smb.conf el siguiente bloque [partage] que
no viene por defecto. Esto es si queremos, ya que éste bloque no afecta para
nada la configuración; simplemente se utiliza para publicar algunos servicios.
[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes
[global]
preferred master = yes
os level = 65
wins support = yes
timeserver = yes
socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192
SO_RCVBUF=8192
logon drive = H:
passwd program = /usr/sbin/smbldap-passwd -u %u
32
Proyecto Plataforma de Correos.
[homes]
comment = Home directories
33
Proyecto Plataforma de Correos.
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
hide files = /Maildir/
path = /home/samba/archives
[public]
comment = Public share
path = /home/samba/shares/public
browseable = yes
public = yes
writeable = yes
[archives]
comment = Backup share
path = /home/archives
browseable = yes
public = no
writeable = no
[printers]
comment = All printers
path = /var/spool/samba
public = yes
guest ok = yes
browseable = no
writeable = no
printable = yes
[print$]
comment = Printer Driver Download Area
path = /var/lib/samba/printers
browseable = no
guest ok = yes
read only = yes
write list = Administrador,root,@lpadmin
force group = "Print Operators"
create mask = 0775
directory mask = 0775
[netlogon]
path = /home/samba/netlogon
public = no
writeable = no
browseable = no
[profiles]
path = /home/samba/profiles
writeable = yes
34
Proyecto Plataforma de Correos.
[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes
#testparm
Se procede a darle las credenciales a Samba para que pueda escribir sobre
LDAP.
#smbpasswd –w sena2008
Debe aparecer algo como esto, lo cual indica que las credenciales fueron
asignadas correctamente.
Debemos genera un SID para el grupo de trabajo, con el fin de que el LDAP
reconozca y autorice al Samba con éste identificador.
Debe mostrarnos al final algo como esto. No perdamos éste SID, ya que más
adelante lo debemos utilizar.
35
Proyecto Plataforma de Correos.
Para comprobar que el SID fue registrado por el LDAP, digitamos el siguiente
comando.
dn: sambaDomainName=GRUPO9,dc=grupo9,dc=com
sambaDomainName: GRUPO9
#/etc/init.d/samba start
#pico /etc/smbldap-tools/smbldap_bind.conf
slaveDN="cn=admin,dc=grupo9,dc=com"
slavePw="sena2008"
masterDN="cn=admin,dc=grupo9,dc=com"
masterPw="sena2008"
SID=" S-9-5-21-3159899829-923882392-54889933"
sambaDomain="GRUPO9"
ldapTLS="0"
suffix="dc=grupo9,dc=com"
36
Proyecto Plataforma de Correos.
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=GRUPO9,${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-GRUPO9\%U"
userProfile="\\PDC-SRV-GRUPO9\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="grupo9.com"
smbpasswd="/usr/bin/smbpasswd"
#pico /etc/nsswitch.conf
37
Proyecto Plataforma de Correos.
# /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
#getent group
Debemos cerciorarnos de que al final aparezca algo como esto, lo cual indica
que está visualizando la base de datos LDAP.
Domain Admins:*:512:
Domain Users:*:513:Administrator,mauro,fefe,jona
Domain Guests:*:514:
Domain Computers:*:515:
Administrators:*:544:
Account Operators:*:548:
Print Operators:*:550:
Backup Operators:*:551:
Replicators:*:552:
Ahora debemos crear unos directorios que Samba necesita para alojar sus
archivos. Dichos directorios fueron los bloques que están descritos en el
archivo smb.conf.
#mkdir -p /home/samba/shares/public/
#mkdir /home/samba/netlogon/
#mkdir /home/samba/profiles/
#mkdir /home/samba/partage/
#mkdir /home/samba/archives/
38
Proyecto Plataforma de Correos.
Algunas veces, al reiniciar más adelante la MMC presenta errores, por esto
debemos crear un directorio adicional “archives” en “/home/”.
#mkdir /home/archives
#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.
#
39
Proyecto Plataforma de Correos.
#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
#pico /etc/pam.d/common-password
#
# /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
40
Proyecto Plataforma de Correos.
#pico /etc/pam.d/common-session
#
# /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
#reboot
41
Proyecto Plataforma de Correos.
#pico /etc/resolv.conf
search grupo9.com
nameserver 127.0.0.1
nameserver 192.168.0.19
Configuración DHCP
Procedemos a configurara el servicio DHCP.
#pico /etc/dhcp3/dhcpd.conf
ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=grupo9, dc=com";
ldap-password "sena2008";
ldap-base-dn "dc=grupo9, dc=com";
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";
42
Proyecto Plataforma de Correos.
#pico /etc/ssl/mail.cnf
[ 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 = DE
stateOrProvinceName = Niedersachsen
localityName = Lueneburg
organizationName = Projektfarm GmbH
organizationalUnitName = IT
commonName = server1.grupo9.com
emailAddress = postmaster@grupo9.com
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"
43
Proyecto Plataforma de Correos.
Especificar los derechos de la llave, de tal forma que solo el root pueda leerlo.
Configuración SASL
#mkdir -p /var/spool/postfix/var/run/saslauthd/
START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
#pico /etc/saslauthd.conf
ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=grupo9,dc=com
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))
#pico /etc/postfix/sasl/smtpd.conf
44
Proyecto Plataforma de Correos.
pwcheck_method: saslauthd
mech_list: plain login
#/etc/init.d/saslauthd restart
45
Proyecto Plataforma de Correos.
Configuración Postfix
Copiamos los archivo del Postifx con el fin de poder trabajar con lo Usuarios y
Dominios virtuales.
#pico cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/*
/etc/postfix/
#pico /etc/postfix/main.cf
myhostname = server1.grupo9.com
mydomain = grupo9.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.grupo9.com,grupo9.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
Proyecto Plataforma de Correos.
inet_interfaces = all
# Use Maildir
home_mailbox = Maildir/
# Basics Restrictions
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
47
Proyecto Plataforma de Correos.
smtpd_recipient_restrictions =
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:[localhost]:10024
receive_override_options = no_address_mappings
Editar el archivo ldap.aliases.cf con el fin de definir los álias del LDAP en el
Postfix.
#pico /etc/postfix/ldap-aliases.cf
server_host = 127.0.0.1
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = maildrop
version = 3
48
Proyecto Plataforma de Correos.
#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
49
Proyecto Plataforma de Correos.
50
Proyecto Plataforma de Correos.
#/etc/init.d/postfix restart
Configuración de Dovecot
Debemos borrar todo el contenido del archivo dovecot.conf ya que éste no nos
sirve para lo que queremos realizar.
#pico /etc/dovecot/dovecot.conf
51
Proyecto Plataforma de Correos.
listen = 0.0.0.0
login_greeting = grupo9.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
52
Proyecto Plataforma de Correos.
mode = 0660
user = postfix
group = postfix
}
}
}
Procedemos a editarlo.
#pico /etc/dovecot/dovecot-ldap.conf
hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=grupo9,dc=com
scope = subtree
user_attrs =
homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:stor
age
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 debemos ajustar los derechos para poder autorizar a Dovecot, con el fin
de que éste pueda utilizar los derechos UID y GID cuando se almacena el
mensaje en el Mialdir de cada usuario.
53
Proyecto Plataforma de Correos.
Configuración de Amavis.
Se configurará con el fin de que el Postfix pase los correos a Amavis. Éste, de
igual forma lo pasará a Sapamassassin y a CalmAV para que realicen el
respectivo escaneo contra spam y contra antivirus. Luego de haber aprobado el
mensaje por parte del servicio Amavis, éste debe reinyectar el mensaje a
Postfix.
#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;
#pico /etc/amavis/conf.d/50-user
use strict;
$pax='pax';
1;
54
Proyecto Plataforma de Correos.
#pico /etc/amavis/conf.d/05-domain_id
use strict;
@local_domains_acl = ( ".$mydomain" );
#pico /etc/amavis/conf.d/20-debian_defaults
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
55
Proyecto Plataforma de Correos.
#/etc/init.d/amavis restart
#/etc/init.d/clamav-daemon restart
#/etc/init.d/clamav-freshclam restart
Configuración Spamassassin
Dentro del mismo archivo, agregar las siguientes líneas, las cuales son las ba-
ses de datas que contienen el listado de los spam. Estas bases de datos se en-
cuentran ubicadas en Internet.
# 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
56
Proyecto Plataforma de Correos.
#pico /etc/spamassassin/v310.pre
Asegurarse que las siguientes estén descomentadas.
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
Cetificados SSL
#mkdir /etc/apache2/ssl/
57
Proyecto Plataforma de Correos.
Debemos de darle permisos a la llave server.key, con el fin que solo el root
pueda realizar acción sobre ella.
Se debe tener claro, que para éste caso trabajaremos con Host Virtuales (Un
Vhost para la MMC y otro para el Squirremail).
#pico /etc/apache2/sites-available/mmc
<VirtualHost *:80>
58
Proyecto Plataforma de Correos.
ServerName server1.grupo9.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://server1.grupo9.com/mmc
</VirtualHost>
#pico /etc/apache2/sites-available/mmcs
NameVirtualHost *:443
<VirtualHost *:443>
ServerName server1.grupo9.com
ServerAdmin Administrator@grupo9.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:+eNU
LL
<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>
59
Proyecto Plataforma de Correos.
#pico /etc/apache2/sites-available/webmail
<VirtualHost *:80>
ServerName webmail.grupo9.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://webmail.grupo9.com
</VirtualHost>
#pico /etc/apache2/sites-available/webmails
NameVirtualHost *:80
<VirtualHost *:443>
DocumentRoot /usr/share/squirrelmail
ServerAdmin Administrator@grupo9.com
ServerName webmail.grupo9.com
SSLEngine on
SSLCertificateKeyFile ssl/webmail.key
SSLCertificateFile ssl/webmail.crt
SSLProtocol all
60
Proyecto Plataforma de Correos.
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNU
LL
<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>
</VirtualHost>
Debemos darle la opción a apache2 que además escuche por el puerto 443
(Seguridad). Editar el archivo ports.conf.
#pico /etc/apache2/ports.conf
61
Proyecto Plataforma de Correos.
Agregar la línea Listen 443 de tal forma que el archivo quede de la siguiente
forma.
Listen 80
Listen 443
#a2ensite mmc
#a2ensite mmcs
#a2ensite webmail
#a2ensite webmails
# a2enmod rewrite
Cargar el módulo ssl para que pueda funcionar la seguridad de los sitios Web.
# a2enmod ssl
# /etc/init.d/apache2 restart
#pico /etc/mmc/plugins/base.ini
62
Proyecto Plataforma de Correos.
[ldap]
# LDAP we are connected to
host = 127.0.0.1
# LDAP base DN
baseDN = dc=grupo9, 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 = sena2008
# 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
Editar el plugin mail.ini para poder trabajar con los usuarios y dominios
virtuales.
#pico /etc/mmc/plugins/mail.ini
63
Proyecto Plataforma de Correos.
[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 1
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=grupo9, dc=com
[userDefault]
# For Postfix delivery
mailbox = %homeDirectory%/Maildir/
# For Dovecot delivery
mailbox = maildir:%homeDirectory%/Maildir/
# Default quota (200 MBytes) set for user
#Ésta línea indica la cuota en Disco para el buzón de los correos.
mailuserquota = 204800
#pico /etc/mmc/plugins/network.ini
[main]
disable = 0
[dhcp]
dn = ou=DHCP,dc=grupo9,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=grupo9,dc=com
pidfile = /var/run/bind/run/named.pid
init = /etc/init.d/bind9
logfile = /var/log/daemon.log
bindroot = /etc/bind/
bindgroup = bind
# dnsreader = DNS Reader
# dnsreaderpassword = DNSReaderPassword
#/etc/init.d/mmc-agent start
64
Proyecto Plataforma de Correos.
# /etc/init.d/bind9 restart
Interfaz MMC
65
Proyecto Plataforma de Correos.
clic en “Network”, luego “Add DNS Zone”, llene los campos requeridos, luego
Se debe crear un alias al primer miembro de la zona DNS, de tal forma que el
host virtual del Squirremail sea accesible. Para esto se debe dar clic en “DNS
Digitar “webmail” como alias del host “server1”, luego dar clic en “Confirm” para
confirmar la configuración.
Se debe editar el ámbito DHCP. Para esto, dar clic en "DCHP subnets", luego
Llenar los campos requeridos, de tal forma que sea parecida a la ilustración de
la imagen siguiente, luego dar clic en "Confirm" para guardar los cambios
realizados.
Hasta éste punto la configuración del servicio DHCP está completa, de ésta
forma y se puede iniciar dicho servicio. Para esto se debe hacer clic en
servicio DHCP.
66
Proyecto Plataforma de Correos.
Para poder utilizar la cuenta de correo del Administrador se debe habilitar, Para
esto, dar clic en "Users", luego “List”. Dar clic en el icono de "Lápiz y Papel" en
asigna alguna cuota, ésta cuenta tomará la cuota por defecto (200 MB), Lugo
cuota ilimitada. Quizás deba ingresar la cuota nuevamente (ya que la MMC la
Proceder a crear alguna cuenta de usuario del dominio. Dar clic en "Add". Se
deben llenar los campos requeridos, sin embargo los campos obligatorios que
debemos llenar son: Login, Password, Confirm Password, Name, Mail address.
67