================= = Roundcube SSL = ================= Il sera plus aisé d'utiliser les fichiers .htaccess prévus par Roundcube pour Apache que celui que nous avons créé manuellement. Désactiver la configuration manuelle que nous avons créé pour Roundcube : # a2disconf roundcube Le fichier /etc/apache2/conf-available/roundcube.conf peut être effacé. Modifier la ligne 714 de /srv/http/roundcube/config/defaults.inc.php : $config['create_default_folders'] = true; Utilisation des fichiers .htaccess : ------------------------------------ Dans le fichier de configuration /etc/apache/sites-available/000-default.conf, remplacer le paramètre de configuration 'DocumentRoot /var/www/html' par 'DocumentRoot /srv/http' De même pour le fichier /etc/apache/sites-available/default-ssl.conf Modifier le fichier de configuration d'Apache : # nano /etc/apache2/apache2.conf Décommenter ces lignes : <Directory /srv/http> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> Ajouter ces lignes : <Directory /srv/http/roundcube> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> Modifer le fichier /srv/http/roundcube/.htaccess : --------------------------------------------------- A la ligne 2, remplacer <IfModule mod_php5.c> par <IfModule mod_php7.c> A la fin de la partie concernant mod_rewrite (ligne 38?), ajouter 2 lignes : RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Activation de SSL pour Apache : ------------------------------- # a2enmod ssl # a2ensite default-ssl # systemctl restart apache2 Activation de SSL pour Postfix : -------------------------------- Décommenter les paramètres TLS dans /etc/postfix/main.cf Remplacer 'localhost' par 'tls://localhost' dans les paramètres SMTP du fichier /srv/http/roundcube/config/config.inc.php Redémarrer Postfix =============================================================== = Installation d'une solution Antispam/Antivirus pour Postfix = (Amavis, Spamassassin, Clamav) =============================================================== # apt install amavisd-new spamassassin clamav-daemon # apt install libnet-dns-perl libmail-spf-perl arj bzip2 cabextract cpio file gzip lhasa nomarch pax rar unrar unzip # apt install zip libclamunrar7 unrar-free zoo p7zip-full lrzip lzop liblz4-1 rpm2cpio liblz4-tool Configuration de clamav ----------------------- Ajouter l'utilisateur 'clamav' au groupe 'amavis' et vice versa pour que clamav puisse accéder aux fichiers scannés : # adduser clamav amavis # adduser amavis clamav Configuration de spamassassin ----------------------------- # nano /etc/default/spamassassin Trouver la ligne CRON=0, et remplacer le '0' par un '1': CRON=1 Activer spamassassin : # systemctl enable spamassassin.service Démarrer spamassassin : # systemctl start spamassassin Configuration d'Amavis ---------------------- Activer la détection des spams et virus dans Amavis en éditant /etc/amavis/conf.d/15-content_filter_mode : # nano /etc/amavis/conf.d/15-content_filter_mode Décommenter les lignes suivantes : @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); Indiquer à amavis le nom du serveur sur lequel il est installé : # nano /etc/amavis/conf.d/05-node_id Modifier la ligne : $myhostname = "mail.fij.name"; Modifier les réglages par défaut : Il n'est pas intéressant de répondre à des spams par des 'bounces'. De manière générale, il ne faut pas répondre aux spams, même par des messages d'avertissement ou d'erreur. Une configuration plus avancée redirigera les spams vers la boîte de 'Courrier Indésirable' des utilisateurs. # vim /etc/amavis/conf.d/20-debian_defaults Modifier quatres lignes afin d'obtenir les lignes suivantes : $QUARANTINEDIR = "/var/virusmails"; $syslog_priority = 'info'; $sa_spam_subject_tag = undef; $final_spam_destiny = D_DISCARD; Créer un dossier où Amavis ira placer les mails/spams/virus lorsqu'ils auront été scannés: # mkdir /var/virusmails # chown -R amavis:amavis /var/virusmails/ Redémarrer Amavis: # systemctl restart amavis Configurer Postfix afin qu'il active POSTSCREEN : ------------------------------------------------- Modifier le fichier /etc/postfix/master.cf Décommenter les lignes (en début de fichier) : smtp inet n - - - 1 postscreen smtpd pass - - - - - smtpd dnsblog unix - - - - 0 dnsblog tlsproxy unix - - n - 0 tlsproxy Configurer Postfix afin qu'il puisse s'interfacer avec Amavis : --------------------------------------------------------------- Modifier le fichier 'master.cf' (ensemble des processus lancés et gérés par postfix). Amavis recevra les mails par postfix sur le port 10024 et les renverra une fois scannés sur le port 10025. # nano /etc/postfix/master.cf Ajouter en fin de fichier (bien conserver l'identation des '-o') : smtp-amavis unix - - n - 8 lmtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes -o smtp_send_xforward_command=yes -o max_use=20 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_unknown_recipient_checks -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o smtpd_recipient_restrictions=permit_mynetworks,reject Remplacer le fichier /etc/postfix/main.cf par celui fourni. (il contient une configuration pour Postcreen, Anvil, des restrictions SMTP et une ligne d'interfaçage avec Amavis) Bien penser à adapter les lignes 35, 39, 40. Recharger la configuration de Postfix et redémarrer Clamav : # systemctl restart postfix # systemctl restart clamav-daemon Vérification qu'Amavis est bien à l'écoute sur le port 10024 : # apt install telnet # telnet localhost 10024 ^] pour clôturer la connection quit pour quitter telnet Commandes utiles pour vérifier les logs du serveur mail : # cat /var/log/mail.log # tail -f /var/log/mail.log Lister de façon récursive tous les fichiers contenus dans le répertoire 'home' d'Amavis : # ls -lhR /var/lib/amavis/ Ils doivent bien appartenir à l'utilisateur et au groupe système créés pour Amavis. ============= = Exercices = ============= - Vérifier à l'aide GTUBE (http://spamassassin.apache.org/gtube/) et de EICAR (http://www.eicar.org/86-0-Intended-use.html) que l'antispam et l'antivirus fonctionnent. - Installer mailgraph et queuegraph (cgi serveur web : ils génèrent des statistiques sous forme de graphes à partir des logs du serveur mail [mails reçus, envoyés, refusés, considérés comme spam ; mails se trouvant dans les queues de postfix, ...])