ee989e3541 | ||
---|---|---|
attacker | ||
console | ||
dns | ||
frontend | ||
recipient | ||
sender | ||
INSTRUCTIONS.md | ||
README.md | ||
docker-compose.yml |
README.md
Démonstrateur SPF, DKIM et DMARC
Ce démonstrateur est un support pédagogique pour apprendre à sécuriser ses courriels avec SPF, DKIM et DMARC. Le but est d’illustrer le fonctionnement de ces protocoles, de proposer un cas pratique de déploiement et montrer comment ils peuvent éventuellement être contournés.
Ce système est conçu pour pouvoir alterner entre trois points de vue :
-
d’une entreprise qui cherche à se protéger contre l’usurpation d’identité dans les courriels ;
-
d’une « personne lambda » qui reçoit à la fois des courriels de cette entreprise mais aussi des tentatives de hameçonnage ;
-
d’un attaquant, muni d’outils pour envoyer des courriels frauduleux convaincants.
Prise en main
Munissez-vous d’une machine sous Linux dotée de Docker qui soit accessible en SSH.
Clonez le dépôt. Placez-vous dans le répertoire racine du dépôt, puis générez ensuite les conteneurs Docker avec la commande :
$ docker compose build
Démarrez ensuite le démonstrateur avec :
$ docker compose up
Suivez ensuite les instructions détaillées.
L’infrastructure est conçue pour que toute modification qui y est apportée soit éphémère. Pour réinitialiser la plate-forme à l’état d’origine, tapez les deux commandes suivantes :
$ docker compose down
$ docker compose up
Architecture
Ce démonstrateur est composé de six conteneurs Docker :
-
frontend : un simple proxy inversé donnant l’accès à l’interface Web du démonstrateur ;
-
console : contient l’interface Web du démonstrateur proprement dite ;
-
dns : contient un résolveur DNS (unbound) et un serveur faisant autorité (nsd), dont les fichiers de zone peuvent être édités pour introduire SPF, DKIM et DMARC
-
sender : le système mail de l’entreprise, émetteur de mails authentiques ;
-
attacker : le système mail de l’attaquant ;
-
recipient : le système mail destinataire des mails de l’entreprise et de l’attaquant ;
Hormis le conteneur frontend, aucun de ces conteneurs n’a accès à Internet.