Skip to content

TP7 cmd

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

Commandes pour la sécurisation du service mail

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 votre FQDN (ex: mail.lx-y.ephec-ti.be)

# É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.lx-y.ephec-ti.be

# Ou avec nginx si déjà configuré
sudo certbot certonly --nginx -d mail.lx-y.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 <CONTAINER_NAME> setup email add user1@votre-domaine.com
docker exec -ti <CONTAINER_NAME> setup email add user2@votre-domaine.com

# Créer l'alias postmaster
docker exec -ti <CONTAINER_NAME> setup alias add postmaster@votre-domaine.com user1@votre-domaine.com

# Voir toutes les commandes disponibles
docker exec -ti <CONTAINER_NAME> 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 <CONTAINER_NAME> 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.lx-y.ephec-ti.be
  • IP du serveur
  • Nom DNS actuel (vps-xxx.vps.ovh.net)

2.2.2 Configuration SPF

# Ajouter ce record TXT dans votre zone DNS :
votre-domaine.com.    IN TXT    "v=spf1 mx -all"

2.2.3 Configuration DKIM

# Générer les clés DKIM
docker exec -it <CONTAINER_NAME> 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.votre-domaine.com.    IN TXT    "v=DMARC1; p=quarantine; rua=mailto:postmaster@votre-domaine.com"

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 <CONTAINER_NAME>

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 <CONTAINER_NAME>

# Suivre les logs en temps réel
docker logs -f <CONTAINER_NAME>

# Logs spécifiques
docker exec -ti <CONTAINER_NAME> tail -f /var/log/mail/mail.log

4.2 Vérification de la configuration

# Entrer dans le container
docker exec -ti <CONTAINER_NAME> bash

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

# Vérifier la configuration Postfix
docker exec -ti <CONTAINER_NAME> postconf -n

# Vérifier la configuration Dovecot  
docker exec -ti <CONTAINER_NAME> doveconf -n

4.3 Tests de connectivité

# Test SMTP
telnet mail.lx-y.ephec-ti.be 25
telnet mail.lx-y.ephec-ti.be 587
telnet mail.lx-y.ephec-ti.be 465

# Test IMAP
telnet mail.lx-y.ephec-ti.be 143
telnet mail.lx-y.ephec-ti.be 993

# Test avec openssl pour TLS
openssl s_client -connect mail.lx-y.ephec-ti.be:465
openssl s_client -connect mail.lx-y.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 <CONTAINER_NAME> tar -czf /tmp/maildata-backup.tar.gz /var/mail/
docker cp <CONTAINER_NAME>:/tmp/maildata-backup.tar.gz ./

Notes importantes :

  • Remplacez <CONTAINER_NAME> par le nom réel de votre container
  • Remplacez votre-domaine.com par votre domaine réel
  • Remplacez lx-y par vos identifiants réels
  • Attendez la propagation DNS entre chaque étape (quelques minutes à quelques heures)
  • Testez chaque étape avant de passer à la suivante

Clone this wiki locally