Skip to content

TP7 cmd

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

Commandes pour la sécurisation du service mail - L2-2

1. Mise en place du service mail

1.1 Configuration DNS

Ajoutez ces enregistrements dans votre zone DNS :

# Record MX
ephec-ti.be.    IN MX 10 mail.l2-2.ephec-ti.be.

# Record A pour le serveur mail
mail.l2-2.ephec-ti.be.    IN A    54.36.181.95

1.2 Récupération des fichiers

# Télécharger les fichiers de configuration
DMS_GITHUB_URL="https://raw.githubusercontent.com/docker-mailserver/docker-mailserver/master"
wget "${DMS_GITHUB_URL}/compose.yaml"
wget "${DMS_GITHUB_URL}/mailserver.env"

1.3 Configuration des fichiers

# Éditer le fichier compose.yaml
nano compose.yaml
# Modifier la ligne hostname: vers mail.l2-2.ephec-ti.be
# Ajouter le nom du container: mailserver-l2-2

# Éditer le fichier mailserver.env
nano mailserver.env
# Changer SSL_TYPE=letsencrypt

1.4 Génération des certificats TLS

# Si pas encore de certificat pour ce nom d'hôte
sudo certbot certonly --standalone -d mail.l2-2.ephec-ti.be

# Ou avec nginx si déjà configuré
sudo certbot certonly --nginx -d mail.l2-2.ephec-ti.be

1.5 Démarrage et configuration des utilisateurs

# Démarrer le serveur mail
docker compose up -d

# Créer des utilisateurs (dans les 2 minutes après le démarrage)
docker exec -ti mailserver-l2-2 setup email add user1@l2-2.ephec-ti.be
docker exec -ti mailserver-l2-2 setup email add user2@l2-2.ephec-ti.be

# Créer l'alias postmaster
docker exec -ti mailserver-l2-2 setup alias add postmaster@l2-2.ephec-ti.be user1@l2-2.ephec-ti.be

# Voir toutes les commandes disponibles
docker exec -ti mailserver-l2-2 setup help

1.6 Vérification des ports

# Vérifier les ports ouverts
docker ps
# ou
netstat -tlnp | grep docker

2. Sécurisation du service mail

2.1 Analyse du chiffrement TLS

# Capturer le trafic avec Wireshark sur votre poste client
# Puis envoyer/recevoir des mails pour analyser les ports utilisés

# Vérifier les ports d'écoute du serveur
docker exec -ti mailserver-l2-2 netstat -tlnp

2.2 Authentification du domaine

2.2.1 Vérification MX-PTR-A

Contactez M. Van den Schrieck pour configurer le PTR avec :

  • Nom souhaité : mail.l2-2.ephec-ti.be
  • IP du serveur : 54.36.181.95
  • Nom DNS actuel (vps-xxx.vps.ovh.net)

2.2.2 Configuration SPF

# Ajouter ce record TXT dans votre zone DNS :
l2-2.ephec-ti.be.    IN TXT    "v=spf1 mx -all"

2.2.3 Configuration DKIM

# Générer les clés DKIM
docker exec -it mailserver-l2-2 setup config dkim

# Les clés seront dans le dossier config/dkim
# Consulter le contenu du fichier mail.txt
cat config/dkim/mail.txt

# Redémarrer le serveur après avoir ajouté le record DNS
docker compose down
docker compose up -d

2.2.4 Configuration DMARC

# Ajouter ce record TXT dans votre zone DNS (exemple basique) :
_dmarc.l2-2.ephec-ti.be.    IN TXT    "v=DMARC1; p=quarantine; rua=mailto:postmaster@l2-2.ephec-ti.be"

2.3 Filtrage du spam

# Éditer le fichier mailserver.env
nano mailserver.env

# Ajouter ou modifier cette ligne :
ENABLE_SPAMASSASSIN=1

# Redémarrer le serveur
docker compose down
docker compose up -d

# Vérifier les logs
docker logs mailserver-l2-2

3. Tests et vérifications

3.1 Tests MXToolbox

Utilisez les outils suivants sur https://mxtoolbox.com/ :

  • Test Email Server
  • SPF Record Lookup
  • DKIM Lookup
  • DMARC Lookup
  • Email Health Check

3.2 Test DKIM Validator

Rendez-vous sur https://www.mail-tester.com/ ou un équivalent pour tester vos emails.

3.3 Test anti-spam

# Créer un fichier de test spam
cat > test_spam.txt << 'EOF'
Subject: Test SPAM
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
FREE MONEY!!! CLICK HERE NOW!!!
This is a test email to trigger spam filters.
EOF

# Envoyer ce contenu par email pour tester le filtrage

4. Commandes de diagnostic

4.1 Vérification des logs

# Voir les logs du container
docker logs mailserver-l2-2

# Suivre les logs en temps réel
docker logs -f mailserver-l2-2

# Logs spécifiques
docker exec -ti mailserver-l2-2 tail -f /var/log/mail/mail.log

4.2 Vérification de la configuration

# Entrer dans le container
docker exec -ti mailserver-l2-2 bash

# Explorer la structure
ls -la /var/mail/
ls -la /etc/postfix/
ls -la /etc/dovecot/

# Vérifier la configuration Postfix
docker exec -ti mailserver-l2-2 postconf -n

# Vérifier la configuration Dovecot  
docker exec -ti mailserver-l2-2 doveconf -n

4.3 Tests de connectivité

# Test SMTP
telnet mail.l2-2.ephec-ti.be 25
telnet mail.l2-2.ephec-ti.be 587
telnet mail.l2-2.ephec-ti.be 465

# Test IMAP
telnet mail.l2-2.ephec-ti.be 143
telnet mail.l2-2.ephec-ti.be 993

# Test avec openssl pour TLS
openssl s_client -connect mail.l2-2.ephec-ti.be:465
openssl s_client -connect mail.l2-2.ephec-ti.be:993

5. Sauvegarde et restauration

# Sauvegarder la configuration
tar -czf mail-backup-$(date +%Y%m%d).tar.gz compose.yaml mailserver.env config/

# Sauvegarder les données
docker exec mailserver-l2-2 tar -czf /tmp/maildata-backup.tar.gz /var/mail/
docker cp mailserver-l2-2:/tmp/maildata-backup.tar.gz ./

Modifications du fichier compose.yaml

version: '3.8'
services:
  mailserver:
    container_name: mailserver-l2-2
    hostname: mail.l2-2.ephec-ti.be
    # ... autres configurations

Notes importantes :

  • Nom du container : mailserver-l2-2
  • Domaine configuré : l2-2.ephec-ti.be
  • FQDN du serveur mail : mail.l2-2.ephec-ti.be
  • IP du serveur : 54.36.181.95
  • Attendez la propagation DNS entre chaque étape (quelques minutes à quelques heures)
  • Testez chaque étape avant de passer à la suivante

Clone this wiki locally