Installare i pacchetti software

Ora il vostro server dovrebbe essere avviato e pronto. Potete accedere tramite console o via SSH (secure shell). Di default il server non permette accessi tramite “root” per ragioni di sicurezza. Usate l’utente “johndoe” (o come lo avete chiamato) per accedere.

Per diventare root ed essere in grado di installare pacchetti software lanciate…

 su -

…ed inserite la password di root. Se preferite accedere come root via SSH allora create la cartella /root/.ssh e mettete la vostra chiave pubblica (di solito si trova in ~/.ssh/id_rsa.pub) nel file /root/.ssh/authorized_keys del server.

A meno che non abbiate appena installato il server è una buona idea installare gli aggiornamenti mancanti prima:

apt update
apt upgrade

Pacchetti

Installiamo i pacchetti necessari per rendere la nostra Debian un vero e proprio server di posta. Installiamo:

  • mariadb-server: Il server MySQL che salverà le informazioni su account mail e domini. Nelle versioni precedenti questo pacchetto era chiamato “mysql-server”. MariaDB è un fork di MySQL che fu comprato da SUN Microsystems e successivamente acquisito da Oracle. Lo sviluppatore originale Monty non era contento di Oracle e così ha deciso di mantenere il software sotto il nuovo nome MariaDB. Maria e My sono nomi dei sui bambini. In pratica MariaDB è ciò che conoscete come MySQL. MySQL è ancora disponibile direttamente da Oracle. Ma francamente non mi fido di un produttore di un database commerciale che sponsorizza un prodotto open source concorrente.
  • postfix: MTA (mail transport agent) che parla SMTP e riceve e spedisce mail.
  • postfix-mysql: Un’estensione che permette a Postfix di ottenere le informazioni da un database MySQL
  • dovecot-mysql: Il server di posta IMAP/POP3 con un’estensione per ottenere le informazioni da un database MySQL
  • dovecot-pop3d: Un’estensione di Dovecot che permette agli utenti di prelevare la posta usando il protocollo POP3. (E’ opzionale. Solo pochi utenti useranno POP3)
  • dovecot-imapd: Un’estensione di Dovecot che permette agli utenti di accedere alla posta usando il protocollo IMAP
  • dovecot-lmtpd: Permette a Dovecot di ricevere connessioni LMTP. Ne avremo bisogno più tardi per permettere la comunicazione mail tramite Postfix e Dovecot.
  • dovecot-managesieved: Un’estensione di Dovecot che permette agli utenti di definire filtri che vengono automaticamente lanciati sul server quando arrivano nuove mail.
  • apache2 and php7.0: Il server web che sostiene l’interfaccia webmail. PHP è il linguaggio di scripting usato per scrivere le webmail Roundcube.
  • phpmyadmin: Un’interfaccia web per gestire il database MySQL.
  • rspamd: Un software di terze parti che tratta spam e malware e che gestisce la firma automatica del domain key.
  • sophos (opzionale): Questo è l’unico software non open source della lista. Può tornare utile se avete client Wind*ws e volete proteggerli da malware come virus, trojan, worm e altri pezzi di software maligni. Naturalmente raccomanderei ClamAV – un antivirus open source. Ma nella realtà il tasso di rilevamento è assurdamente basso. Il tasso di rilevamento di ClamAV è stato di 10%-20% nei test mentre Sophos ha trovato un percentuale prossima al 100% nei test campione. (se sto facendo qualcosa di sbagliato fatemelo sapere nei commenti.) E Sophos al momento offre una versione gratuita per server Linux. Non fatevi ingannare però. Nessun scanner virus vi proteggerà da un attacco mirato alla vostra organizzazione. Probabilmente però filtrerà la maggior parte della marea di allegati dannosi che i vostri utenti possono accidentalmente aprire.
  • pwgen: Uno strumento per creare password random.
  • roundcube: Una webmail basata in PHP. (Opzionale.)
  • roundcube-plugins e roundcube-plugins-extra: Plugin extra che aggiungono funzionalità a Roundcube. (Opzionali.)
  • swaks: The SWiss Army Knife of Smtp. Uno strumento che spedisce mail tramite SMTP per fare dei test.
  • mutt: Un programma per console che parla IMAP e che legge le Maildir direttamente. Molto utile per testare le funzionalità del vostro server di posta.
  • certbot: Uno strumento che comunica con il servizio certificati di LetsEncrypt per creare e rinnovare certificati.
  • ca-certificates: Una serie di certificati dalle autorità pubbliche dei certificati su internet. E’ richiesto per il corretto funzionamento di, per esempio, wget.

MySQL server

Cominciamo con l’utility pwgen. E’ utile per creare password sicure:

apt install pwgen

Creiamo una password per accedere come amministratori a MySQL:

pwgen -s 20 1

Otteniamo una stringa casuale come “W2EzNUFJzjEmA8tQT7A0”. Copiamola negli appunti selezionandola con il mouse.

Adesso installiamo il server MySQL:

apt install mariadb-server

Il server MariaDB (MySQL) è installato. Al contrario dei pacchetti MySQL delle precedenti distribuzioni Debian, MariaDB non chiederà la password per l’amministratore del database (chiamato anch’esso “root”).

Invece saremo in grado di gestire tutti i database semplicemente lanciado “mysql” nella shell di root.

Se tutto è andato bene lanciando il comando “mysql” ci connetteremo al nostro database MySQL:

Usciamo dalla shell MySQL con “exit” oppure premendo CTRL-D.

Postfix

Per i pacchetti di Postfix:

apt install postfix postfix-mysql

Quando ci viene chiesto la tipologia di configurazione del server di posta selezioniamo “Internet site”. Inseriamo il nome del server di posta (Fully Qualified Domain Name) oppure premete semplicemente enter. Il nome host e dominio non devono necessariamente corrispondere ad uno dei vostri domini mail.

Apache e PHP

Per fornire una webmail abbiamo bisogno del server web Apache e del supporto al linguaggio di scripting PHP:

apt install apache2 php7.0

rspamd

Il nostro nuovo modo di affrontare lo spam è usare rspamd. I tutorial precedenti usavano AMaViS o SpamAssassin direttamente. L’installazione di AMaViS era un tormento. SpamAssassin era carino ma non aveva alcune funzionalità ed era relativamente lento causando problemi sui server di posta con un grande volume di posta in arrivo.

rspamd è relativamente nuovo e non ancora molto diffuso. Quando Debian Stretch è stata rilasciata non era ancora incluso. La prossima release Debian lo includerà. Per lo meno il progetto rspamd fornisce un repository APT per noi. Dobbiamo solo aggiungerlo. Siccome i repository APT sono crittografati dobbiamo prima aggiungere la chiave PGP:

wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add -

Creiamo una nuova definizione per il repository APT in /etc/apt/sources.list.d/rspamd.list

echo "deb http://rspamd.com/apt-stable/ stretch main" > /etc/apt/sources.list.d/rspamd.list

Otteniamo la lista dei pacchetti dal nuovo repository:

apt update

Adesso possiamo installare rspamd:

apt install rspamd

swaks

Uno strumento molto utile per testare la consegna della posta è swaks (SWiss Army Knife for Smtp):

apt install swaks

Dovecot

In aggiunta a Postfix (che si occupa della communicazione SMTP) abbiamo bisogno di Dovecot che salva le mail ricevute e permette l’accesso IMAP (e volendo anche POP3) per i nostri utenti:

apt install dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-managesieved dovecot-lmtpd

Roundcube

Se volete offrire un servizio di webmail non posso che raccomandarvi il pacchetto Roundcube. L’installazione è semplice:

apt install roundcube roundcube-plugins roundcube-plugins-extra php-net-sieve

Roundcube crea anche un database MySQL per salvare le sue informazioni di gestione. Ci verrà chiesto se il database deve essere confgurato automaticamente:

Rispondiamo “Yes”.

Poi creerà un utente MySQL non-amministratore per accedere al nuovo database. La password per questo utente non ci interessa quindi premiamo solo “Enter”:


Adesso tutti i pacchetti sono installati. Non sono configuarti però. Questo è ciò di cui ci occuperemo nelle prossime pagine.

ca-certificates

Per evitare errori quando scarichiamo file usando wget dobbiamo installare il set di default di certificati delle autorità pubbliche dei certificati su internet:

apt install ca-certificates

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *