Debian – configuration serveur de mail (postfix)

Installer postfix : #

Apt install postfix

Editer le fichier /etc/postfix/mail.cf

Verifier que myhostname = FQDN du serveur mail

Verifier que myhostname = nomreseau.lan, hostname et FQDN srvmail

Ajouter : home_mailbox = Mail/

Redémarrer Postfix et regarder si le port 25 est en écoute à l’aide d’un nmap et telnet

Effectuer un test d’envoi de mail :

telnet localhost 25
ehlo SrvMail
mail from :<test123@test.fr>
250.2.1.0 Ok
Rcpt to : <root@grp3.lan>
250 2.1.5 Ok
Data
354 End data with <CR><LF>.<CR><LF>
Message de test.
250 2.0.0 Ok : Queued as A44562127A
exit

Installation de dovecot: #

apt install dovecot-core dovecot-pop3d dovecot-imapd

Verifier que le port 110 écoute avec la commande :

ss -lntp

Changer l’endroit ou dovecot va chercher les mail dans le fichier : /etc/dovecot/conf.d/10-mail.conf :

Remplacer la ligne mail_location par :

mail_location = maildir :~/Maildir

Faire un test de la lecture de mail :

telnet localhost 110
user mailadmin
-OK
pass mailadmin
-OK Logged in.
List
-OK 2 messages :
1 394
2 402
retr 1
-OK 394 octets

Le mail 1 doit s’afficher

Creation des certificats : #

Apt install openssl

Créer le dossier /etc/postfix/certs/ca et se mettre dedans

openssl genrsa –des3 –out ca.key 2048
openssl req –new –x509 –days 3650 –key ca.key –out ca.crt

-Entrer la passphrase puis les informations du certficat.

-Pour le Common name rentrer le FQDN souhaité : ca.grp3.lan

-Créer le dossier /etc/postfix/certs/mail et taper :

Openssl genrsa –des3 –out mail.key 2048

-Entrer la passphrase puis taper :

openssl req –new –key mail.key –out mail.csr

-Rentrer les informations du certificat.

-Pour le Common Name (FQDN), rentrer le FQDN du srvmail : srvmail.grp3.lan

Création d’un fichier d’extension, afin d’ajouter les autres noms DNS et l’IP (mail.ext) #

Créer un fichier mail.ext au même endroit avec le contenu suivant :

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = srvmail.grp3.lan
DNS.2 = smtp.grp3.lan
DNS.3 = pop.grp3.lan
DNS.4 = imap.grp3.lan
IP.1 = 172.19.0.248

Signature du certificat du serveur de messagerie par l’autorité de certification: #

openssl x509 -req -in mail.csr -out mail.crt -CA /etc/postfix/certs/ca/ca.crt -CAkey /etc/postfix/certs/ca/ca.key -CAcreateserial -days 3650 -extfile /etc/postfix/certs/mail/mail.ext

Création d’une clé non sécurisée pour le serveur de messagerie: #

openssl rsa -in mail.key -out mail.key.insecure

Modifier les fichiers de conf : #

/etc/postfix/main.cf :

smtpd_tls_cert_file=/etc/postfix/certs/mail/mail.crt
smtpd_tls_key_file=/etc/postfix/certs/mail/mail.key.insecure
smtpd_tls_CAfile=/etc/postfix/certs/ca/ca.crt

/etc/postfix/master.cf

/etc/dovecot/conf.d/10-ssl.conf :

ssl = yes
ssl_cert = </etc/postfix/certs/mail/mail.crt
ssl_key = </etc/postfix/certs/mail/mail.key.insecure
ssl_ca = </etc/postfix/certs/ca/ca.crt

Tester la connexion sur les differents ports: #

Envoi d’un mail via SMTP sécurisé (port 587 Soumission TLS)

openssl s_client -connect smtp.grp3.lan:587 -starttls smtp

Lecture d’un mail sécurisé via POP3S (port 995)

openssl s_client -connect pop.grp3.lan:995

Utiliser le protocole IMAPS (port 993) – simple test de connexion/déconnexion

openssl s_client –connect imap.grp3.lan
1 login cdupont P@ssw0rd
6 logout

ALIASES : #

Regarder dans le fichier /etc/postfix.main.cf vers quel fichier pointe la ligne :

Dans mon cas : /etc/aliases.

Modifier le fichier /etc/aliases avec le format suivant :

nomUser: user1@domain.lan, user2@domain.lan

Pour qu’ils soient pris en compte taper la commande suivante:

newaliases

Configuration de thunderbird: #

Installer Thunderbird, importer le certificat, se connecter et tester l’envoi et la réception de mail

Installation anti virus : #

apt install clamav

Modifier le fichier de conf dans /etc/clamav/freshclam.conf afin d’y ajouter le proxy :

HTTPProxyServer proxy.grp3.lan
HTTPProxyPort 3128

Mettre à jour la bdd de l’AV avec la commande :

freshclam

Créer un fichier « infecté » en lui donnant ce contenu :

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Tester le scan AV:

clamscan --infected  --recursive /home  

 En ajoutant –remove les fichiers infectés seront détruits

Installez amavisd et clamav server :

apt install clamav-daemon amavisd-new

Décommentez ces lignes dans le fichier /etc/amavis/conf.d/15-content_filter_mode pour activez la recherche des virus

@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

Updated on 15 May 2025