From 9c8b6e30347ee180d1ca8dd07dbac731bc9edfe6 Mon Sep 17 00:00:00 2001 From: Marc van der Wal Date: Wed, 25 Oct 2023 15:50:31 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20page=20d=E2=80=99accueil/attente=20et?= =?UTF-8?q?=20dashboard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Une démonstration ne commence jamais à l’heure, mais un petit écran qui permet d’attendre le début et qui permet à l’auditeur de se mettre en situation n’est jamais de refus. On ajoute aussi une petite dashboard qui résume la situation du système. --- console/web-api/lib/Email/SpoofingDemo/Web.pm | 23 ++++- console/web-api/views/dashboard.tt | 84 +++++++++++++++++++ console/web-api/views/index.tt | 46 ++++++++++ console/web-api/views/layouts/_nav.tt | 5 +- console/web-api/views/layouts/main.tt | 2 + 5 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 console/web-api/views/dashboard.tt diff --git a/console/web-api/lib/Email/SpoofingDemo/Web.pm b/console/web-api/lib/Email/SpoofingDemo/Web.pm index 4dd0972..d8da572 100644 --- a/console/web-api/lib/Email/SpoofingDemo/Web.pm +++ b/console/web-api/lib/Email/SpoofingDemo/Web.pm @@ -39,7 +39,28 @@ sub call_api { } get '/' => sub { - template 'index' => { 'title' => 'Accueil' }; + template 'index' => { + 'title' => 'Démonstration de SPF, DKIM et DMARC', + 'no_nav' => 1 + }; +}; + +get '/dashboard' => sub { + my $sender_domain = 'expediteur.example'; + my ($sender_spf, undef) = call_api(GET => 'dns', "/zone/$sender_domain/spf"); + my ($sender_dkim, undef) = call_api(GET => 'dns', "/zone/$sender_domain/domainkey"); + my ($sender_dmarc, undef) = call_api(GET => 'dns', "/zone/$sender_domain/dmarc"); + my ($recipient_status, undef) = call_api(GET => 'recipient', '/status'); + + template 'dashboard' => { + 'title' => 'Tableau de bord', + 'sender' => { + 'spf_policies' => $sender_spf, + 'dkim_domains' => [keys(%$sender_dkim)], + 'dmarc_policies' => $sender_dmarc + }, + 'recipient' => $recipient_status + }; }; get '/dns/zone-edit/:zone' => sub { diff --git a/console/web-api/views/dashboard.tt b/console/web-api/views/dashboard.tt new file mode 100644 index 0000000..8d27f8c --- /dev/null +++ b/console/web-api/views/dashboard.tt @@ -0,0 +1,84 @@ +[% sender_domain = 'expediteur.example' %] + +
+
+
+

Bienvenue sur la plate-forme de démonstration SPF, DKIM et DMARC !

+

Faites votre choix dans le menu « Attaquant », « Expéditeur » ou « Destinataire ».

+
+
+ +
+
+

État des systèmes

+
+
+ +
+
+
+
Expéditeur
+
    +
  • + SPF : + [% IF sender.spf_policies.size %] + actif (politique en vigueur pour [% sender_domain %] : [% sender.spf_policies.item(sender_domain) | html %]) + [% ELSE %] + pas de politique publiée + [% END %] +
  • +
  • + DKIM : + [% IF sender.dkim_domains.size %] + + actif pour [% sender.dkim_domains.size %] domaine[% "s" if sender.dkim_domains.size > 1 %] + + [% ELSE %] + non configuré + [% END %] +
  • +
  • + DMARC : + [% IF sender.dmarc_policies.size %] + actif (politique en vigueur pour [% sender_domain %] : [% sender.dmarc_policies.item(sender_domain) | html %] + [% ELSE %] + pas de politique publiée + [% END %] +
  • +
+
+
+ +
+
+
Destinataire
+
    +
  • + Contrôle de la politique SPF de l’expéditeur : + [% IF recipient.spf == 'enabled' %] + activé + [% ELSE %] + désactivé + [% END %] +
  • +
  • + Contrôle de la signature DKIM des courriels envoyés par l’expéditeur : + [% IF recipient.dkim == 'enabled'%] + activé + [% ELSE %] + désactivé + [% END %] +
  • +
  • + Contrôle de la politique DMARC de l’expéditeur : + [% IF recipient.dmarc == 'enabled' %] + activé + [% ELSE %] + désactivé + [% END %] +
  • +
+
+
+
+
diff --git a/console/web-api/views/index.tt b/console/web-api/views/index.tt index e69de29..e6e91a7 100644 --- a/console/web-api/views/index.tt +++ b/console/web-api/views/index.tt @@ -0,0 +1,46 @@ +
+
+
+
+

Démonstration de SPF, DKIM et DMARC

+

+ Apprenez à vous protéger de l’usurpation d’identité dans les courriels avec cette démonstration multi-points de vue. +

+ Commencer +
+
+
+ +
+
+
+

Expéditeur

+

+ Une personne mal intentionnée usurpe l’identité de votre entreprise + pour faire du hameçonnage et nuire à votre réputation. Comment faire + pour l’arrêter ? +

+
+
+
+
+

Destinataire

+

+ On vous critique car les utilisateurs de votre service de messagerie + reçoivent des tombereaux de courriels malveillants. Que faire pour + protéger vos utilisateurs ? +

+
+
+
+
+

Attaquant

+

+ Vous n’en pouvez plus de ces amateurs qui ne prennent pas la peine + d’appliquer les bonnes pratiques de cybersécurité. Il va falloir leur + apprendre une bonne leçon ! +

+
+
+
+
diff --git a/console/web-api/views/layouts/_nav.tt b/console/web-api/views/layouts/_nav.tt index ec11acf..2380442 100644 --- a/console/web-api/views/layouts/_nav.tt +++ b/console/web-api/views/layouts/_nav.tt @@ -5,12 +5,15 @@ [% END %]