You are on page 1of 8

Taller 19: Correo Electrnico

################################################################################
######################################
Configurar el Servidor DNS
---------------------------------------------$> vim /etc/sysconfig/network-scripts/ifcfg-br0
DNS1=192.168.100.4
$> systemctl restart NetworkManager
$> dig MX dominioX.com
$> dig MX dominio2.com
$> ping mail.dominioX.com
$> ping mail.dominio2.com
Configurar el Hostname
-----------------------------$> hostnamectl set-hostname mail.dominioX.com
$> su $> hostnamectl
Editar la Ip del Host
----------------------------------------$> vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.130.X mail.dominioX.com mail
192.168.130.X www.dominioX.com www
Instalar Epel
------------------------------------------------------------$> yum -y install epel-release
Deshabilitar rpmforge, si est instalado
$> vim /etc/yum.repos.d/rpmforge.repo
-----------------------------------------------------------[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
------------------------------------------------------------Instalar los paquetes necesarios
################################################################################
########################
2) Instalar Paquetes (Postfix,Dovecot,Amavis,SASL,Clamav,Spamassassin)
$> yum -y install postfix cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5 dovecot ama
visd-new spamassassin clamd clamav
Configurar Postfix
$> cd /etc/postfix
$> vim main.cf
------------------------------------------------------------------75:myhostname = mail.dominioX.com

83:mydomain = dominioX.com
98:myorigin = $myhostname
116:inet_interfaces = all
164:mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
264:mynetworks = 192.168.130.169/32, 127.0.0.0/8
296:relay_domains = $mydestination
397:alias_database = hash:/etc/aliases
419:home_mailbox = Maildir/
# Agregar al final del archivo
680:# Habilitando opciones de SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
# Restriccion de los recipientes de correo
# le da permiso de envio a la red local
smtpd_recipient_restrictions = permit_mynetworks
# permte el envio de correos de usuarios autenticados con sasl
permit_sasl_authenticated
# rechaza intentos de envio que no estan autenticados
reject_unauth_destination
# configuracion de listas negras revisar http://multirbl.valli.org/
#
reject_rbl_client zen.spamhaus.org
#
reject_rbl_client b.barracudacentral.org
#
reject_rbl_client dnsbl.sorbs.net
#
# Rechaza un nombre de Host no valido ej: ,_esto.--reject_invalid_hostname
# Rechaza si el dominio de que envia no existe
reject_unknown_sender_domain
# Rechaza si el hostname de usuario que envia correo no tiene PTR
reject_unknown_client
# Rechaza si el nombre de cuenta que envia no es valido (ej: soyspammer@)
reject_non_fqdn_sender
# permite finalmente la recepcion del correo
permit
# Hablitamos la opcin de filtro de contenidos
content_filter = amavis:[127.0.0.1]:10024
----------------------------------------------------------------------Configuracion de dovecot
-------------------------------------------$> vim /etc/dovecot/dovecot.conf
24:protocols = imap pop3 lmtp
30:listen = *, ::
$> vim /etc/dovecot/conf.d/10-auth.conf
10:disable_plaintext_auth = no
$> vim /etc/dovecot/conf.d/10-mail.conf
30:mail_location = maildir:~/Maildir
Prueba del SMTP y del servidor mailbox
-----------------------------------------$> yum -y install cyrus-sasl

$>
$>
$>
$>
$>
$>

systemctl
systemctl
systemctl
systemctl
systemctl
systemctl

restart saslauthd
restart postfix
restart dovecot
enable saslauthd
enable postfix
enable dovecot

Visualizacin de logs (postfix, amavis, dovecot)


----------------------------------------------$> tail -f /var/log/maillog

Configuracin Amavis
---------------------------------------------$> vim /etc/amavisd/amavisd.conf
20:$mydomain = 'dominioX.com';
## Niveles de marcado y asesinato mas positvo es mas SPAM,
94:$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that lev
el
95:$sa_tag2_level_deflt = 3.0; # add 'spam detected' headers at that level
96:$sa_kill_level_deflt = 5.0; # triggers spam evasive actions (e.g. blocks mai
l
## Etiqueta que se le pone al SUbject los correos que son considerados SPAM
141:$sa_spam_subject_tag = '***SPAM*** ';
### Destino final de los correos que son SPAM, virus o baneados por extension
157:$final_virus_destiny
= D_DISCARD;
158:$final_banned_destiny
= D_BOUNCE;
159:$final_spam_destiny
= D_PASS;
160$final_bad_header_destiny = D_PASS;
### Extensiuones de archivo bloquedas
233: qr'.\.(exe|vbs|pif|scr|cpl)$'i,

# banned extension - basic

#### Lista Blanca de correos


'clusternews@linuxnetworx.com'
=> -3.0,
304 'tuxito@hotmail.com'
=> -3.0,
305 '.sunat.gob.pe'
=> -3.0,
306 '.dominioX.com'
=> -3.0,
### Lista negra de correos
313 '.soyspammer.com'
314 '.facebook.com'

=> 5.0,
=> 5.0,

#### Habiltacin del Antivirus


387: ['ClamAV-clamd',
388: \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],
389: qr/\bOK$/m, qr/\bFOUND$/m,
390: qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
Configurar en postfix el filtro de contenido
-----------------------------------------------------------$> vim /etc/postfix/main.cf (verificar este valor en la ltima lnea)
content_filter = amavis:[127.0.0.1]:10024
Agregar el el master.cf el demonio amavis
$> vim /etc/postfix/master.cf (agregar al final)

ifmail
unix n
n
pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp
unix n
n
pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_chec
ks
-o smtpd_bind_address=127.0.0.1
Configuracin de Clamav
###############################################################33
$> yum -y install clamav-update
Comentar la linea EXAMPLE
$> vim /etc/freshclam.conf
8:#Example
Actualizar la data de virus
------------------------------------------------$> freshclam
Archivo de configuracion de servicio
---------------------------------------$> cp /usr/share/doc/clamav-server*/clamd.sysconfig /etc/sysconfig/clamd.amavisd
$> vim /etc/sysconfig/clamd.amavisd
CLAMD_CONFIGFILE=/etc/clamd.d/amavisd.conf
CLAMD_SOCKET=/var/run/clamd.amavisd/clamd.sock
$> vim /etc/tmpfiles.d/clamd.amavisd.conf
---------------------------------------------# create new
d /var/run/clamd.amavisd 0755 amavis amavis ---------------------------------------------$> vim /usr/lib/systemd/system/clamd@.service (Agregar al final)
[Install]
WantedBy=multi-user.target
Inicio de los Servicios
----------------------------------------------------$> systemctl restart saslauthd
$> systemctl restart postfix

$>
$>
$>
$>

systemctl
systemctl
systemctl
systemctl

start clamd@amavisd
restart spamassassin
restart amavisd
restart dovecot

$>
$>
$>
$>
$>
$>

systemctl
systemctl
systemctl
systemctl
systemctl
systemctl

enable
enable
enable
enable
enable
enable

saslauthd
postfix
clamd@amavisd
spamassassin
amavisd
dovecot

Verificar que nuestro host no est autenticando con LDAP


---------------------------------------------------------$> authconfig-tui
Desmarcar:
Utilizar LDAP
Utilizar Autenticacion LDAP
Marcar:
La autenticacin local es suficiente
Creando un usuario de correo
----------------------------------------------------------$> useradd -md /home/tuxito1 tuxito1 -s /bin/false
$> passwd tuxito1
clave:alumno
* Creamos su Maildir y le cambiamos de contexto para que no haya problemas con s
elinux
$> mkdir /home/tuxito1/Maildir
$> chown tuxito1 -R /home/tuxito1/Maildir
$> chmod 755 -R /home/tuxito1/Maildir
$> chcon -R system_u:object_r:mail_home_rw_t:s0 /home/tuxito1/Maildir
* Creamos el Maildir de root
$> mkdir /root/Maildir
$> chcon -R system_u:object_r:mail_home_rw_t:s0 /root/Maildir
Prueba de envio local
--------------------------------------------------------$> yum -y install mailx
$> echo "hola mundo" | mail -s "es un test" root@dominio0.com
Prueba de envio al nuevo usuario del dominio local
$> echo "hola mundo" | mail -s "es un test" tuxito1@dominio0.com
Verificar los archivos de correo recepcionados
$> ls -la /home/tuxito1/Maildir/new
$> ls -la /root/Maildir/new
Prueba de envio de correo a otro dominio
----------------------------------------------------------Se debe tener conexion al puerto 25
Ej:
$> telnet mail.dominio3.com 25

Si hay conexion podemos enviarle un correo


$> echo "hola mundo" | mail -s "es un test" tuxito1@dominio3.com
Si la conezion es rechazada el servidor de mail.dominio3.com tiene que habilitar
el puerto 25
$> vim firewall-bastion (agregar)
echo "permitiendo acceso a los puerto del servidor de correo y webmail desde cua
lquier origen "
iptables -A INPUT -p tcp -m multiport --dports 25,80,110,143 -m state --state NE
W,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 25,80,110,143 -m state --state E
STABLISHED,RELATED -j ACCEPT
echo "permitiendo a nuestro host enviar correo"
iptables -A OUTPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
iptables -A INPUT -p tcp --sport 25 -m state --state ESTABLISHED,RELATED -j ACCE
PT
$> ./firewall-bastion
Verificar las reglas
$> iptables -S
Ver los Logs
-------------------------------------$> tail -f /var/log/maillog
MUA Evolution (cliente de correo)
########################################################
$> yum -y install evolution
Abrir evolution y poner los siguientes parmetros
Nombre: Tuxito1
correo: tuxito1@dominio0.com
Recepcion de Correo
---------------------IMAP
Servidor: mail.dominio0.com
Usuario: tuxito1
Mtodo de cifrador: STARTTLS
Click en Comprobar tipos soportados
Envio de Correo
-----------------Tipo de Servidor SMTP
Servidor: mail.dominio0.com
Marcar: El servidor requiere autenticacin
Autenticacion Tipo: PLAIN
usuario: tuxito1

Gestion de Cola de correos


----------------------------------------------------------------------Ver la cola de correos
$> mailq
Reenviar la cola de correos
$> postqueue -f
$> postsuper -r ALL
Borrar toda la cola de correos
$> postsuper -d ALL
Borrar algunos correos de la cola de correos
$> vim /usr/bin/borracola
#!/usr/bin/perl
$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.co
m)!";
@data = qx<postqueue -p>;
for (@data) {
if (/^(\w+)(\*|\!)?\s/) {
$queue_id = $1;
}
if($queue_id) {
if (/$REGEXP/i) {
$Q{$queue_id} = 1;
$queue_id = "";
}
}
}
#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;
foreach (keys %Q) {
print POSTSUPER "$_\n";
};
close(POSTSUPER);
$> chmod 755 /usr/bin/borracola
Borrar todos los correos de pepito que estan en la cola
$> borracola pepito
Borrar todos los correos de la cola con "Connection Time Out"
$> borracola "Connection Time Out"
Squirrelamil (Webmail)
--------------------------------------------------Instalar apache, php y mySQL
$> yum -y install httpd mariadb-server php php-cli php-pear php-mysql php-imap p
hp-ldap php-gd
$> systemctl restart httpd
$> cd /var/www/html
$> wget http://ufpr.dl.sourceforge.net/project/squirrelmail/stable/1.4.21/squirr
elmail-1.4.21.tar.gz

$> tar -zxvf squirrelmail-1.4.21.tar.gz


$> mv squirrelmail-1.4.21 webmail
$> cd webmail
$> wget http://ufpr.dl.sourceforge.net/project/squirrelmail/locales/1.4.18-20090
526/all_locales-1.4.18-20090526.tar.gz
$> tar -zxvf all_locales-1.4.18-20090526.tar.gz
#### Configurar Squirrelmail
$> cd /var/www/html/webmail
$> config/conf.pl
1
1 Mi Empresa
R
2
1 dominioX.com
B
7 y
login
N
R
4
1 /var/www/html/webmail/data
2 /var/www/html/webmail/attach
R
10
1 es_ES
R
8
1
3
6
8
12
R
S
Q
Habilitar el boleano de conexion en red de apache
$> setsebool -P httpd_can_network_connect 1
Ejecutar
$> mkdir
$> chmod
$> chmod
$> chcon
ta/
$> chcon
tach

para poder escribir en los directorios


/var/www/html/webmail/attach
-R 777 /var/www/html/webmail/attach
-R 777 /var/www/html/webmail/data
-R system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/webmail/da
-R system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/webmail/at

Acceder Finalmente per web a


www.dominioX.com/webmail
usuario: tuxito
clave: tuxito

You might also like