Skip to content

TP7 cmd

PasRP-Theo edited this page Jun 8, 2025 · 9 revisions

TP7 COMPLET - Configuration serveur mail sécurisé pour l2-2.ephec-ti.be

CONTAINER_NAME = mailserver_l2-2

=============================================================================

PARTIE 1 : MISE EN PLACE DU SERVICE MAIL

=============================================================================

ÉTAPE 1.1 : Configuration DNS (à faire AVANT de commencer)

- Record MX : l2-2.ephec-ti.be → mail.l2-2.ephec-ti.be

- Record A : mail.l2-2.ephec-ti.be → [IP de votre VPS]

- PTR : Contacter M. Van den Schrieck

ÉTAPE 1.2 : Préparation et configuration initiale

cd /home/anzeyima/tp7

Vérifier les fichiers téléchargés

ls -la cat compose.yaml cat mailserver.env

Éditer le fichier compose.yaml - ajuster le hostname

sed -i 's/hostname: .*/hostname: mail.l2-2.ephec-ti.be/' compose.yaml

Éditer le fichier mailserver.env - configurer SSL

sed -i 's/#SSL_TYPE=/SSL_TYPE=letsencrypt/' mailserver.env sed -i 's/SSL_TYPE=.*/SSL_TYPE=letsencrypt/' mailserver.env

ÉTAPE 1.3 : Certificats SSL/TLS

Générer le certificat Let's Encrypt si nécessaire

sudo certbot certonly --standalone -d mail.l2-2.ephec-ti.be

Vérifier la configuration des volumes dans compose.yaml

grep -A 5 -B 5 "letsencrypt" compose.yaml

ÉTAPE 1.4 : Démarrage et création utilisateurs

Démarrer le serveur mail

docker compose up -d

Vérifier que le container fonctionne

docker ps

URGENT : Créer les utilisateurs dans les 2 minutes

docker exec -it mailserver_l2-2 setup email add user1@l2-2.ephec-ti.be docker exec -it mailserver_l2-2 setup email add user2@l2-2.ephec-ti.be docker exec -it mailserver_l2-2 setup alias add postmaster@l2-2.ephec-ti.be user1@l2-2.ephec-ti.be

Lister les utilisateurs créés

docker exec -it mailserver_l2-2 setup email list

Tests de base

docker compose logs -f & docker exec -it mailserver_l2-2 bash -c "echo 'Test mail interne' | mail -s 'Test' user2@l2-2.ephec-ti.be"

Vérifier les ports ouverts

netstat -tlnp | grep -E '(25|587|993|995)'

Test DNS

dig MX l2-2.ephec-ti.be dig A mail.l2-2.ephec-ti.be

Test MXToolbox initial

Aller sur https://mxtoolbox.com/SuperTool.aspx → Test Email Server → l2-2.ephec-ti.be

=============================================================================

PARTIE 2 : SÉCURISATION DU SERVICE MAIL

=============================================================================

ÉTAPE 2.1 : Analyse du chiffrement TLS

Vérifier les ports TLS

docker exec -it mailserver_l2-2 netstat -tlnp

Configuration pour TLS implicite uniquement (optionnel - testez d'abord)

Modifier compose.yaml pour exposer seulement les ports TLS implicites

Ports recommandés : 465 (SMTP TLS), 993 (IMAP TLS), 995 (POP3 TLS)

ÉTAPE 2.2.1 : Vérification alignement MX-PTR-A

Tester sur MXToolbox si MX, A et PTR sont alignés

ÉTAPE 2.2.2 : Configuration SPF

Ajouter ce record TXT dans votre zone DNS :

l2-2.ephec-ti.be. IN TXT "v=spf1 mx -all"

Test SPF après ajout du record

dig TXT l2-2.ephec-ti.be

Vérifier sur MXToolbox → SPF Record Lookup → l2-2.ephec-ti.be

ÉTAPE 2.2.3 : Configuration DKIM

Générer les clés DKIM

docker exec -it mailserver_l2-2 setup config dkim

Récupérer la clé publique DKIM

docker exec -it mailserver_l2-2 cat /tmp/docker-mailserver/opendkim/keys/l2-2.ephec-ti.be/mail.txt

Copier la clé publique vers l'hôte

docker cp mailserver_l2-2:/tmp/docker-mailserver/opendkim/keys/l2-2.ephec-ti.be/mail.txt ./dkim_public_key.txt cat dkim_public_key.txt

IMPORTANT : Ajouter le record DKIM dans votre zone DNS

Format : mail._domainkey.l2-2.ephec-ti.be. IN TXT "v=DKIM1; k=rsa; p=VOTRE_CLE_PUBLIQUE"

Redémarrer le serveur après configuration DKIM

docker compose down docker compose up -d

Test DKIM

dig TXT mail._domainkey.l2-2.ephec-ti.be

Vérifier sur MXToolbox → DKIM Lookup → l2-2.ephec-ti.be:mail

Test DKIM Validator

Aller sur https://dkimvalidator.com/ et envoyer un mail à l'adresse fournie

ÉTAPE 2.2.4 : Configuration DMARC

Ajouter ce record TXT dans votre zone DNS :

_dmarc.l2-2.ephec-ti.be. IN TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@l2-2.ephec-ti.be"

Test DMARC

dig TXT _dmarc.l2-2.ephec-ti.be

Vérifier sur MXToolbox → DMARC Lookup → l2-2.ephec-ti.be

ÉTAPE 2.3 : Filtrage du spam - Activation SpamAssassin

Modifier le fichier mailserver.env

sed -i 's/#ENABLE_SPAMASSASSIN=/ENABLE_SPAMASSASSIN=1/' mailserver.env sed -i 's/ENABLE_SPAMASSASSIN=.*/ENABLE_SPAMASSASSIN=1/' mailserver.env

Optionnel : Ajuster les paramètres SpamAssassin

echo "SPAMASSASSIN_SPAM_TO_INBOX=1" >> mailserver.env echo "SA_TAG=2.0" >> mailserver.env echo "SA_TAG2=6.31" >> mailserver.env echo "SA_KILL=10.0" >> mailserver.env

Redémarrer le serveur

docker compose down docker compose up -d

Test SpamAssassin - Envoyer un mail de test

docker exec -it mailserver_l2-2 bash -c 'echo -e "Subject: Test Spam\n\nXJSC4JDBQADN1.NSBN32IDNENGTUBE-STANDARD-ANTI-UBE-TEST-EMAILC.34X" | sendmail user1@l2-2.ephec-ti.be'

=============================================================================

COMMANDES DE VÉRIFICATION ET TEST FINAL

=============================================================================

Vérifier la configuration complète

docker exec -it mailserver_l2-2 setup config dkim domain l2-2.ephec-ti.be

Voir les logs complets

docker logs mailserver_l2-2 | tail -50

Test complet de santé email

MXToolbox → Email Health Check → l2-2.ephec-ti.be

Test SpamAssassin score

DKIM Validator → Envoyer un mail et vérifier le score SpamAssassin

Vérifier les en-têtes des emails reçus

docker exec -it mailserver_l2-2 ls -la /var/mail/l2-2.ephec-ti.be/user1/cur/

Explorer la structure des emails

docker exec -it mailserver_l2-2 bash cd /var/mail/l2-2.ephec-ti.be/user1/cur/ ls -la

Regarder le contenu d'un email pour voir les headers X-Spam

cat [nom_du_fichier_email] exit

=============================================================================

COMMANDES DE MAINTENANCE ET DIAGNOSTIC

=============================================================================

Redémarrer le serveur mail

docker compose restart

Voir les statistiques

docker stats mailserver_l2-2

Vérifier la configuration DKIM

docker exec -it mailserver_l2-2 cat /etc/opendkim/opendkim.conf

Vérifier la configuration Postfix

docker exec -it mailserver_l2-2 postconf | grep -i tls

Test de connectivité externe

telnet mail.l2-2.ephec-ti.be 25 telnet mail.l2-2.ephec-ti.be 587 telnet mail.l2-2.ephec-ti.be 993

Arrêter le serveur mail

docker compose down

=============================================================================

RÉSUMÉ DES RECORDS DNS À AJOUTER

=============================================================================

1. MX : l2-2.ephec-ti.be. IN MX 10 mail.l2-2.ephec-ti.be.

2. A : mail.l2-2.ephec-ti.be. IN A [VOTRE_IP]

3. SPF : l2-2.ephec-ti.be. IN TXT "v=spf1 mx -all"

4. DKIM : mail._domainkey.l2-2.ephec-ti.be. IN TXT "v=DKIM1; k=rsa; p=[CLE_PUBLIQUE]"

5. DMARC : _dmarc.l2-2.ephec-ti.be. IN TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@l2-2.ephec-ti.be"

6. PTR : [VOTRE_IP] → mail.l2-2.ephec-ti.be (via M. Van den Schrieck)

=============================================================================

TESTS FINAUX RECOMMANDÉS

=============================================================================

1. MXToolbox Email Health Check

2. DKIM Validator

3. Mail-tester.com (pour score spam)

4. Test envoi/réception avec Gmail, Outlook

5. Vérification des headers X-Spam dans les emails reçus

Clone this wiki locally