M08 Rec UF3. Servidor de correu + webmail amb Squirrelmail

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca

Enunciat

Al servidor instal·leu el servidor de correu (no s'ha de fer servir SSL). Per comprovar el funcionament heu d'utilitzar el webmail Squirrelmail. Les proves es faran des de l'amfitrió.

Procediment

Previ

Per a tenir un servidor de correu electrònic necessitarem tenir 2 servidors: el primer serà un SMTP per a enviar correus. El segon, serà un servidor POP/IMAP que serà el servidor que rebi els correus. L'SMTP el muntarem amb Postfix i el POP/IMAP amb Dovecot.

Per al servidor DNS podrem utilitzar la nostra documentació per a crear un servidor DNS separat o bé instal·lar-lo a la mateixa màquina que servirà de correu electrònic.

També haurem de deshabilitar sendmail com a MTA per a evitar conflictes amb postfix si és que aquest està instal·lat (en versions noves de CentOS ja no ve preinstal·lat i no caldrà fer aquest pas).

systemctl disable sendmail
systemctl stop sendmail

Postfix (SMTP)

Instal·lació

Començarem instal·lant el paquet necessari amb yum en cas que no estigui instal·lat.

yum install postfix -y

Configuració

L'arxiu de configuració principal de Postfix és /etc/postfix/main.cf. L'haurem d'editar de la següent manera per a quadrar els paràmetres del nostre servidor amb els de la configuració:

  • Línia 75: la descomentarem i escriurem el nom de domini corresponent al servidor de correu.
myhostname = mail.boeck.cat


  • Línia 83: descomentarem i escriurem només el domini de la nostra xarxa.
mydomain = boeck.cat


  • Línia 99: descomentem.
myorigin = $mydomain


  • Línia 113: descomentem.
inet_interfaces = all


  • Línia 116: comentem
#inet_interfaces = localhost


  • Línia 164: comentem
#mydestination = $myhostname, localhost.$mydomain, localhost


  • Línia 165: descomentem
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain


  • Línia 264: descomentem i editem de manera que s'hi reflexin les xarxes del servidor; en aquest cas corresponen a la xarxa vboxnet0, la loopback del servidor i la NAT de VirtualBox, respectivament.
mynetworks = 192.168.56.0/24, 127.0.0.0/8, 10.0.2.0/24, [::1]/128


  • Línia 419: descomentem.
home_mailbox = Maildir/


  • Línia 572: descomentem i editem.
smtpd_banner = $myhostname ESMTP


  • Línia 681-688: afegim.
message_size_limit=10485760
mailbox_size_limit=1073741824
smtpd_sasl_type= dovecot
smtpd_sasl_path= private/auth
smtpd_sasl_auth_enable= yes
smtpd_sasl_security_options= noanonymous
smtpd_sasl_local_domain= $myhostname
smtpd_recipient_restictions=permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject


També haurem de modificar l'arxiu /etc/postfix/header_checks i afegir al principi aquestes directives per rebutjar correus que no tinguin adreça de correu al remitent.

/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT


A l'arxiu /etc/postfix/body_checks afegirem una directiva de rebuig si en el cos del correu electrònic s'hi troba el text example.com.

/^(|[^>].*)example.com/ REJECT

Posada en marxa

Com tots els serveis, els habilitarem a l'engegada i els posarem en marxa amb enable i start; o bé restart si aja estava funcionant i volem aplciar els canvis de la configuració.

systemctl enable postfix
systemctl start postfix

Dovecot (POP/IMAP)

Dovecot és el servei que permet recuperar els correus electrònics per a llegir-los, ja sigui utilitzant el protocol POP o IMAP.

Instal·lació

L'instal·larem amb yum.

yum install dovecot -y

Configuració

Haurem de modificar 3 arxius:

  • 1. /etc/dovecot/conf.d/10-auth.conf
Línia 10: descomentar i editar.
disable_plaintext_auth = no 
Línia 100: editar.
auth_mechanisms = plain login


  • 2. /etc/dovecot/conf.d/10-mail.conf
Línia 30: descomentar i editar.
mail_location =maildir:~/Maildir


  • 3. /etc/dovecot/conf.d/10-master.conf
Línia 95-100: descomentar i editar.
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
 mode = 0666
 user = postfix
 group = postfix
}

Posada en marxa

Com qualsevol servei.

systemctl enable dovecot
systemctl start dovecot

En aquest punt ja tenim a punt el servidor de correu per enviar i rebre. Falta instal·lar el client de webmail per a poder fer la prova de funcionament.

Squirrelmail

Requeriments

Apache
yum install httpd -y
systemctl enable httpd
systemctl start httpd
PHP

Des de la pàgina del programari es menciona que es necessiten uns patches en el cas d'utilitzar PHP 5.4. Podem, per tant, recórrer a la instal·lació de PHP 7 per a evitar problemes:

yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo

Podem verificar la versió instal·lada amb la comanda següent:

php -v
PHP 7.2.19 (cli) (built: May 29 2019 11:04:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Firewall + SELinux
firewall-cmd --add-service=httpd --permanent
firewall-cmd --reload
setenforce 0

Nota: Si ho volem fer permanent, haurem d'editar l'arxiu /etc/selinux/config


Instal·lació

yum install squirrelmail -y

Configuració

cd /usr/share/squirrelmail/config/
./conf.pl

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color off
S   Save data
Q   Quit

Command >> 

Des d'aquest menú haurem d'accedir als següents punts i editar-los de manera que corresponguin amb la nostra configuració; en aquest cas:

  • 2: Server Settings
  • 1: Domain → boeck.cat
  • 3: Sendmail or SMTP → SMTP
  • 8: Server Software → dovecot

Llavors teclejarem S per a desar les modificacions que hem fet i, una vegada desat, teclejarem Q per a sortir de l'assistent.


Per simplificar, deshabilitarem l'accés forçat per HTTPS al client webmail des de l'arxiu que genera perquè el servidor web Apache serveixi el contingut. Editem l'arxiu /etc/httpd/conf.d/squirrelmail.conf i editarem la secció des de la línia 19 cap avall per deixar-la de la següent manera:

# this section makes squirrelmail use https connections only, for this you
# need to have mod_ssl installed. If you want to use unsecure http
# connections, just remove this section:
<Directory /usr/share/squirrelmail>
#  RewriteEngine  on
#  RewriteCond    %{HTTPS} !=on
#  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  <IfModule mod_authz_core.c>
    # Apache 2.4
    Require all granted
  </IfModule>
  <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order allow,deny
    Allow from all
  </IfModule>
</Directory>

Bàsicament, comentem les directives que fan que es reescrigui la URL com a https:// de manera que es mantingui http://.

Com que hem modificat configuració d'Apache, reiniciem el servei per aplicar els canvis

systemctl restart httpd

Usuari de correu

Afegirem un usuari al sistema que serà el que farem servir per enviar correu

useradd guillem
passwd guillem
S'està canviant la contrasenya de l'usuari guillem.
Nova contrasenya de : 
CONTRASENYA INCORRECTA: The password is shorter than 8 characters
Torneu a escriure la nova contrasenya de : 
passwd: tots els testimonis d'autenticació s'han actualitzat amb èxit.

Prova de funcionament

Accedirem a l'adreça del servidor amb el subdirectori /webmail http://192.168.56.100/webmail i se'ns presentarà la pàgina de login

M08UF3juny1.png


Ens autenticarem amb l'usuari i password que hem creat abans

S'ha produït un error en crear la miniatura: No es pot desar la miniatura a la destinació


Veurem la nostra bústia d'entrada per a aquell usuari

M08UF3juny3.png


Amb el botó Compose podem escriure un nou correu electrònic a una adreça de gmail per a provar d'enviar correu a través d'Internet

M08UF3juny4.png


Una vegada enviat, si anem a la bústia de Gmail on hem enviat el correu veurem que ha arribat (ha aparegut a SPAM perquè Google detecta que prové d'un domini no registrat, entre altres incongruències)

M08UF3juny5.png


M08UF3juny6.png