Diferència entre revisions de la pàgina «ASIX/M08/UF3/PT11»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 234: Línia 234:
  
 
Llavors podrem accedir a http://mail.boeck.cat/roundcubemail/installer (havent configurat prèviament el Fedora perquè utilitzi el DNS que hem muntat anteriorment) i començar a posar a punt el Roundcube via web
 
Llavors podrem accedir a http://mail.boeck.cat/roundcubemail/installer (havent configurat prèviament el Fedora perquè utilitzi el DNS que hem muntat anteriorment) i començar a posar a punt el Roundcube via web
{{imatge|M08UF3PT111.png|Verificació de requisits: OK}}
+
{{imatge|M08UF3PT111.png|Verificació de requisits}}
 +
 
 +
Si ens fixem, veurem que ens falta l'extensió PHP per a utilitzar MySQL (o MariaDB). L'haurem d'instal·lar i reiniciar Apache:
 +
yum install php-mysql -y
 +
systemctl restart httpd
 +
 
 +
Un cop fet això, veurem un OK en l'apartat corresponent:
 +
{{imatge|M08UF3PT112.png}}

Revisió del 12:43, 1 des 2018

Enunciat

Seguint les instruccions de l'activitat 1, heu de crear un servidor de correu amb SSL.

Requeriments previs

Començarem amb dues màquines virtuals CentOS 7 minimal netes. Una servirà com a DNS i l'altra serà la que donarà el servei de correu. Podríem instal·lar els 2 serveis a la mateixa màquina per estalviar recursos; però en cas de conflicte o problemes serà més fàcil poder gestionar-ho si per a cada servei fem servir una màquina diferent.

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).

systemctl disable sendmail
systemctl stop sendmail

Procediment

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.

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´inia 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


  • 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

Configuració de Postfix i Dovecot amb SSL

Crear certificat SSL

Primer de tot haurem de crear un certificat SSL amb la seva clau privada:

[root@mail ~]# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/certs/server.key -out /etc/pki/tls/certs/server.crt
Generating a 2048 bit RSA private key
.....+++
................+++
writing new private key to '/etc/pki/tls/certs/server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ES
State or Province Name (full name) []:Catalunya
Locality Name (eg, city) [Default City]:Tona
Organization Name (eg, company) [Default Company Ltd]:Boeck    
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:mail.boeck.cat
Email Address []:guillem@boeck.cat

Configuració

Editarem /etc/postfix/main.cf i afegirem al final:

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

De manera que definim que Postfix faci servir TLS i li passem el certificat i la clau privada que utilitzarà per a xifrar les comunicacions. Aquests certificats són autosignats i generats a l'apartat anterior; per tant, no seran confiables per un tercer.


A l'arxiu /etc/postfix/master.cf:

  • Línia 26-28: descomentar.
smtps     inet  n       -       n       -       -       smtpd
#  -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes


A l'arxiu /etc/dovecot/conf.d/10-ssl.conf:

  • Línia 8: editar.
ssl = yes
  • Línia 14-15: descomentar i editar
ssl_cert = </etc/pki/tls/certs/server.crt
ssl_key = </etc/pki/tls/certs/server.key

RoundCube

Requeriments

El programari de Roundcube necessita un servidor web i un de bases de dades. En el nostre cas instal·larem Apache i MariaDB per a suplir la dependència.

yum install httpd mariadb-server -y

els posarem en marxa i habilitarem l'arrencada on boot amb

systemctl enable httpd
systemctl enable mariadb
systemctl start httpd
systemctl start mariadb

haurem d'obrir el port 80 del firewall per a poder accedir a roundcube des de qualsevol màquina de la xarxa; com ara el nostre Fedora amfitrió:

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

Configuració MySQL

Primer de tot executarem l'script mysql_secure_installation per a definir una contrasenya de root i esborrar taules d'exemple i usuaris anònims.

Després crearem un usuari per a roundcube i una base de dades on tingui tots els permisos. En aquest cas:

  • Usuari: roundcube
  • Contrasenya: password
  • Nom BBDD: roundcube


mysql -uroot -p
create database roundcube character set utf8 collate utf8_bin;
grant all privileges on roundcube.* to roundcube@localhost identified by 'password';

Instal·lació

Instal·larem roundcube des del repositori epel:

yum install epel-release -y
yum install roundcubemail -y

S'instal·la sobre /usr/share/roundcubemail. El següent pas és importar una base de dades inicial:

cd /usr/share/roundcubemail/SQL/
mysql -uroundcube -p -b roundcube < mysql.initial.sql

Configuració

Primer de tot haurem de modificar la configuració de l'Apache perquè ens permeti accedir des de qualsevol màquina remota al directori on es troba la interfície gràfica de Roundcube. Editarem /etc/httpd/conf.d/roundcubemail.conf.

  • Línies 13 i 30: editar.
Require all granted


I farem restart d'Apache per tal d'aplicar els canvis

systemctl restart httpd


Llavors podrem accedir a http://mail.boeck.cat/roundcubemail/installer (havent configurat prèviament el Fedora perquè utilitzi el DNS que hem muntat anteriorment) i començar a posar a punt el Roundcube via web

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


Si ens fixem, veurem que ens falta l'extensió PHP per a utilitzar MySQL (o MariaDB). L'haurem d'instal·lar i reiniciar Apache:

yum install php-mysql -y
systemctl restart httpd

Un cop fet això, veurem un OK en l'apartat corresponent:

M08UF3PT112.png