Classement
Contenu populaire
Affichage du contenu avec la meilleure réputation le 12/26/21 dans toutes les zones
-
1. Qu'est-ce qu'Authelia ? Authelia est un serveur d'authentification open-source proposant une authentification unique ou à deux facteurs à la demande. C'est donc un moyen de venir appliquer une couche de sécurité supplémentaire sur une application critique ou sur une application qui en serait dépourvue d'élément d'authentification. L'authentification deux facteurs peut se faire via : TOTP (Time-based One-Time Password) : l'authentification à deux facteurs telle que Synology la propose, un code valable x secondes à valider après la saisie du mot de passe. Notifications PUSH : via l'application DuoAPI, on va pouvoir recevoir des notifications push sur notre téléphone pour valider la connexion. Clés de sécurité avec jeton type Yubikey. OpenID Connect (en beta) : Vous vous servez de votre ID OpenID pour vous connecter à vos applications. Seuls les points 1 et 2 seront développés dans ce tutoriel. 2. Prérequis Difficulté : moyenne-avancé Vous devez disposer d'un NAS compatible Docker, vous pouvez en retrouver la liste mise à jour à cette adresse : https://www.synology.com/fr-fr/dsm/packages/Docker Avoir mis en place SWAG (proxy inversé multi-fonctionnel) dont un tutoriel de mise en route est disponible sur ce forum : Disposer d'une instance MySQL (ou MariaDB) Savoir se connecter en SSH en root Savoir éditer les différents fichiers de configuration par la méthode de votre choix (nano, vim, WinSCP, File Station, etc...) Utiliser Docker-compose NOTE : Certaines notions sont longuement explicitées dans le tutoriel pour la mise en place de SWAG, une double astérisque ** sera présente à côté des points concernés. 3. Principe Lorsque Nginx reçoit une requête vers exemple.ndd.tld et que ce sous-domaine est l'objet d'une entrée de proxy inversé, il vérifie si un appel à Authelia est demandé. Si c'est le cas, la demande est transférée à ce dernier, qui va exiger une authentification (ou pas) afin de poursuivre. Suivant les ACL (Access Control Lists) qu'on aura défini dans sa configuration, l'accès peut être : refusé autorisé autorisé sous réserve d'authentification par login et mot de passe autorisé sous réserve d'authentification à deux facteurs On peut donc en résumer le principe suivant ce schéma (dans notre cas, nous détaillerons l'installation pour Nginx uniquement, mais Traefik et HAProxy sont également compatibles) : Authelia doit être vu comme un complément de Nginx, même si les deux permettent un filtrage par ACL (et Nginx un blocage GeoIP de surcroît, qu'Authelia n'intègre pas). Il utilise le port 9091, qui n'est pas un port utilisé par défaut par DSM, comme pouvaient l'être les ports 80 et 443, raison pour laquelle SWAG est déployé sur un réseau macvlan. Il sera donc déployé sur un réseau bridge. 4. Hypothèses Quelques conventions pour s'y retrouver par la suite : IP de l'hôte : 192.168.1.100 IP virtuelle de l'hôte : : 192.168.1.200 Réseau bridge personnalisé : 172.25.0.0 Les commandes via SSH sont exécutées en tant que root. 5. Création d'un réseau bridge personnalisé A priori, on pourrait utiliser le réseau bridge par défaut (172.17.0.0/16), néanmoins afin de garantir un minimum de changement au cas où vous souhaiteriez utiliser Redis (voir fonctionnalités avancées) en conjonction avec Authelia, on va créer un réseau bridge personnalisé qui facilitera la communication inter-conteneurs. mkdir -p /volume1/docker/networks && cd $_ nano net-db.sh On y insère le code suivant : docker network create -d bridge \ --subnet=172.25.0.0/16 \ --gateway=172.25.0.1 \ --opt "com.docker.network.bridge.name"="br_net-db" \ net-db On rend le script exécutable : chmod u+x net-db.sh On l'exécute : bash net-db.sh Si la commande se termine avec succès, un identifiant composé de lettres et de chiffres s'affiche à l'écran. 6. Installation 6-A. Fichier docker-compose Voici une proposition de fichier docker-compose adapté aux versions 2.x, libre à vous de vous inspirer de ce qui est recommandé dans la documentation d'Authelia : version: '2.1' services: authelia: image: authelia/authelia container_name: authelia networks: - net-db environment: - AUTHELIA_JWT_SECRET_FILE=/config/secrets/jwt - AUTHELIA_STORAGE_MYSQL_PASSWORD_FILE=/config/secrets/mysql - AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE=/config/secrets/smtp - AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE=/config/secrets/encryption - TZ=Europe/Brussels ports: - 9091:9091/tcp volumes: - /volume1/docker/authelia/config:/config restart: unless-stopped networks: net-db: external: true NOTE : Pour l'instant on ne crée pas le conteneur via la commande docker-compose, cela n'interviendra que bien plus tard. 6-B. Secrets Authelia ne permet pas de stocker des credentials (login et mot de passe) directement en clair dans les variables, ni même dans un fichier .env. On peut donc soit utiliser la fonctionnalité secrets de Docker (compatible sur les implémentations de Docker pour DSM 7 et +), soit définir les variables dans des fichiers et les monter au moyen de variables d'environnement, c'est cette seconde méthode que nous privilégierons (voir docker-compose ci-avant). On crée les dossiers où seront stockées nos données en s'y plaçant dans la foulée : mkdir -p /volume1/docker/authelia/config/secrets && cd $_ Puis on crée les fichiers contenant les mots de passe que le fichier de configuration d'Authelia utilisera. N'hésitez pas à utiliser des mots de passe longs (privilégiez la longueur du mot de passe sur la présence abusive de caractères spéciaux). 30 caractères par exemple est une valeur satisfaisante : echo 'MOT_DE_PASSE_1' > jwt echo 'MOT_DE_PASSE_2' > mysql ## Le mot de passe pour MySQL doit conteneur au moins 1 caractere special !! echo 'MDP_SMTP_MAIL' > smtp ## Correspond au mot de passe du serveur SMTP qu'Authelia utilisera echo 'MOT_DE_PASSE_3' > encryption ## Minimum 20 caracteres, idealement 64 On vérifie la présence de nos fichiers : ls -l Ce qui devrait vous donner ceci : total 12 -rwxr-xr-x+ 1 root root 31 Jul 25 00:15 jwt -rwxr-xr-x+ 1 root root 31 Jul 25 00:16 mysql -rwxr-xr-x+ 1 root root 14 Jul 26 00:09 smtp -rwxr-xr-x+ 1 root root 14 Jul 26 00:09 encryption Comme on peut le constater, malgré le fait que les fichiers appartiennent à l'utilisateur et au groupe root, DSM applique ses ACL (le "+" à la fin des permissions UNIX), ce qui fait que n'importe quel utilisateur possédant des droits de lecture et ou d'écriture dans le dossier partagé docker pourra consulter le contenu de ces fichiers. On sécurise donc les fichiers : chmod 660 ./* chown your-personal-user:root ./* NOTE : Il faut évidemment remplacer l'utilisateur your-personal-user par l'utilisateur dont vous souhaitez qu'il soit propriétaire des dits fichiers. 6-C. Configuration 6-C-1. Génération du fichier configuration.yml d'Authelia On va exécuter une première fois le conteneur, qui s'arrêtera aussitôt, mais dont l'exécution permettra de générer un fichier de configuration, il a l'avantage d'être entièrement commenté et vous sera d'une aide précieuse si vous souhaitez creuser plus amplement les possibilités d'Authelia. On exécute la commande suivante : docker run --rm -v /volume1/docker/authelia/config:/config authelia/authelia A la suite de quoi on a un fichier configuration.yml dans /volume1/docker/authelia/config 6-C-2. Préparation de SWAG Le cadre d'utilisation par défaut prévu pour SWAG est d'être dans le même réseau bridge personnalisé qu'Authelia, ce n'est pas le cas ici vu que SWAG est déployé sur un réseau macvlan. 6-C-2-a. Modification de la configuration serveur On va devoir éditer les fichiers de configuration pour Authelia dans SWAG, notamment le fichier authelia-server.conf : cd /volume1/docker/swag/config/nginx && nano authelia-server.conf Ce qui donne : ## Version 2021/05/28 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/authelia-server.conf # Make sure that your authelia container is in the same user defined bridge network and is named authelia location ^~ /authelia { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_authelia 192.168.1.200; ## On remplace "authelia" par l'IP virtuelle du NAS proxy_pass http://$upstream_authelia:9091; } location = /authelia/api/verify { internal; if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]]) { return 401; } include /config/nginx/resolver.conf; set $upstream_authelia 192.168.1.200; ## On remplace "authelia" par l'IP virtuelle du NAS proxy_pass_request_body off; proxy_pass http://$upstream_authelia:9091; proxy_set_header Content-Length ""; [...] } ATTENTION : Avec DSM 7, les appels API pour le bureau DSM comprennent des caractères normalement ignorés par Authelia (des accolades), il faut les ajouter dans la ligne : if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]]) { devient if ($request_uri ~ [^a-zA-Z0-9_+-=\!@$%&*?~.:#'\;\(\)\[\]\{\}]) { On valide les modifications. 6-C-2-b. Modification des entrées de proxy inversé** Pour que Nginx prenne Authelia en compte, il suffit d'éditer une entrée de proxy inversé existante, et de décommenter les deux lignes suivantes : #include /config/nginx/authelia-server.conf; [...] #include /config/nginx/authelia-location.conf; Il faudra ensuite que le domaine correspondant à cette entrée soit pris en charge dans les ACL d'Authelia (voir point 6-C-3-f.) 6-C-2-c. Création d'entrée pour Authelia** On va également en profiter pour créer une entrée de proxy inversé pour la page d'Authelia, dont on va se servir pour configurer nos accès : cd /volume1/docker/swag/config/nginx/proxy-confs cp authelia.subdomain.conf.sample authelia.subdomain.conf nano authelia.subdomain.conf Puis on adapte à notre besoin : ## Version 2021/05/18 # make sure that your dns has a cname set for authelia # the default authelia-server and authelia-location confs included with letsencrypt rely on # subfolder proxy at "/authelia" and enabling of this proxy conf is not necessary. # But if you'd like to use authelia via subdomain, you can enable this proxy and set up your own # authelia-server and authelia-location confs as described in authelia docs. server { listen 443 ssl; listen [::]:443 ssl; server_name authelia.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app 192.168.1.200; ## On utilise l'IP virtuelle du NAS set $upstream_port 9091; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } _______________________ Une fois ceci fait, on redémarre le conteneur SWAG, on n'aura plus besoin d'y toucher. docker restart swag 6-C-3. Personnalisation du fichier de configuration d'Authelia Le fichier regorge d'options, parcourons-le donc et voyons ce qu'il convient de faire au fur et à mesure. Les parties que je ne mentionne pas ne sont pas sensées être modifiées (du moins pour l'application qu'on en fera ici (voir la documentation pour une utilisation plus experte)) ou ont un intérêt évident/trivial (theme par exemple). 6-C-3-a. server # Configuration options specific to the internal http server server: [...] path: "authelia" Donner la valeur "authelia" à path est un prérequis du bon fonctionnement de l'application suivant la configuration embarquée dans SWAG. 6-C-3-b. log log: level: info [...] file_path: /config/logs/authelia.log keep_stdout: true Le niveau info est déjà suffisamment verbeux, n'utiliser debug ou trace qu'en cas de problème à résoudre. Pour file_path et keep_stdout : préférence personnelle, j'aime bien avoir un fichier log, et garder pour autant l'output sur les logs du conteneur. Faites comme il vous plaît. 6-C-3-c. jwt_secret jwt_secret: Il est important de noter que jwt_secret n'ait aucune valeur, afin que le secret défini dans le fichier jwt soit pris en compte. Si vous laissez la chaîne de caractères par défaut "a_very_important_secret", le contenu du fichier jwt ne sera pas utilisé. NOTE : Cette remarque est valable pour toutes les autres clés faisant appel au contenu des fichiers définis par avant (jwt, mysql, etc...). 6-C-3-d. default_redirection_url default_redirection_url: https://ndd.tld Authelia est directement accessible par proxy inversé, c'est un des templates de fichier conf de SWAG. Lorsque vous vous identifierez sur cette page, vous serez redirigé vers la page définie par default_redirection_url. 6-C-3-e. authentication_backend Deux possibilités existent : l'utilisation d'un annuaire LDAP ou un fichier d'utilisateurs défini localement. Nous utiliserons la seconde option. Il faut par conséquent commenter toutes les clés, listes, etc... liées à la configuration du serveur LDAP : ## ## LDAP (Authentication Provider) ## ## This is the recommended Authentication Provider in production ## because it allows Authelia to offload the stateful operations ## onto the LDAP service. # ldap: [...] # implementation: custom [...] # url: ldap://127.0.0.1 ## Use StartTLS with the LDAP connection. # start_tls: false # tls: [...] # skip_verify: false ## Minimum TLS version for either Secure LDAP or LDAP StartTLS. # minimum_version: TLS1.2 [...] # base_dn: dc=example,dc=com [...] # additional_users_dn: ou=users [...] # users_filter: (&({username_attribute}={input})(objectClass=person)) [...] # additional_groups_dn: ou=groups [...] # groups_filter: (&(member={dn})(objectclass=groupOfNames)) [...] ## The username and password of the admin user. # user: cn=admin,dc=example,dc=com # password: password Nous utiliserons la deuxième option disponible : la définition locale d'utilisateurs dans une liste, cela se fait au moyen d'un fichier users_database.yml. On utilise le modèle disponible sur GitHub : cd /volume1/docker/authelia/config wget https://raw.githubusercontent.com/authelia/authelia/master/examples/compose/local/authelia/users_database.yml Qu'on personnalisera de la sorte : --- ############################################################### # Users Database # ############################################################### # This file can be used if you do not have an LDAP set up. # List of users users: toto: displayname: "Thomas" password: "$argon2id$v=19$m=65536,t=1,p=8$VmFaM3FKckFRZVY5TUJ5eg$81mBJ3QSw8WQM2rm4yNJeS7j2YQMra183gHCxGALOAs" email: mail@ndd.tld groups: [] # - admins # - dev ... toto sera le nom d'utilisateur qui sera utilisé pour l'authentification simple ou double facteur. De préférence choisissez un nom d'utilisateur plus long et complexe. 🙂 Thomas sera le nom d'affichage. <PASSWORD> sera le mot de passe utilisé pour s'authentifier, mais il ne sera pas lisible en clair, Authelia utilise un algorithme de chiffrement en ce sens. On va utiliser la commande suivante : docker run --rm authelia/authelia:latest authelia hash-password 'MOT_DE_PASSE' Suivant votre modèle de NAS et la complexité de votre mot de passe, cette opération pourrait prendre un certain temps, mais à la fin de quoi vous devriez obtenir un renvoi de la sorte : $argon2id$v=19$m=65536,t=1,p=8$aC8raDhGRWh4eDlmRmp5aw$PsiuwaVbWsXkIThpLLeI3JZdT3NCe3CUeAXORQzsSpg C'est cette ligne qu'il vous faut mettre à la place de <PASSWORD>. Pour l'email, c'est l'adresse qui sera utilisée en cas de demande de renouvellement de mot de passe, etc..., à personnaliser. Pour les groupes, je conseille de ne pas vous en servir dans un premier temps, il vous suffit de modifier ainsi : groups: [] # - admins # - dev NOTE : Le fichier ne donnant pas d'information sensible, et afin de permettre aux différents utilisateurs de modifier éventuellement leur mot de passe, on peut laisser les permissions par défaut (celles de DSM avec les ACL). _______________________ On décommente la section file : authentication_backend: # Disable both the HTML element and the API for reset password functionality disable_reset_password: false [...] refresh_interval: 5m [...] file: path: /config/users_database.yml password: algorithm: argon2id iterations: 1 key_length: 32 salt_length: 16 memory: 1024 parallelism: 8 6-C-3-f. access_control Une des parties les plus importantes, elle concerne les contrôles d'accès et la manière dont Authelia va se comporter en fonction de l'IP d'origine et le domaine demandé lors de la requête. Pour plus d'information, la documentation est consultable à cette adresse. On va se placer dans le cas (pour exemple) où on autorise tous les accès en local et VPN, et on limite ensuite de façon granulaire au gré des sous-domaines : access_control: # Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. # It is the policy applied to any resource if there is no policy to be applied # to the user. default_policy: deny networks: - name: local networks: # LAN network - 192.168.1.0/24 # Docker network - 172.16.0.0/12 - name: openvpn networks: # OpenVPN subnet - 10.0.8.0/24 rules: # Bypass 2FA when connected to VPN on pfSense or being connected to the LAN - domain: - ndd.tld - "*.ndd.tld" policy: bypass networks: - local - openvpn # Open public access - domain: - public.ndd.tld - public2.ndd.tld policy: bypass # Single authentication for applications lacking authentication system - domain: semi-private.ndd.tld policy: one_factor # 2FA for sensitive services - domain: private.ndd.tld policy: two_factor NOTES : Dans la partie networks, on définit des alias pour faciliter la définition des règles et rendre moins fastidieuse leur rédaction. Dans la partie rules, je définis les sites qui auront un accès publique (sans protection supplémentaire que celle dont ils disposent déjà), ceux qui devront faire l'objet d'une simple authentification, et ceux qui doivent être soumis à la 2FA. Si l'accès à un sous-domaine vous est refusé sans raison, c'est qu'aucune des règles définies ne répond à la situation présente, dans ce cas Authelia rejette la demande (par le paramètre default_policy: deny). Vous pouvez temporairement ne pas mettre "*.ndd.tld" dans les domaines by-passés, le temps de mettre en route Authelia. Ou alors faire le test d'authentification depuis une connexion 4G. 6-C-3-g. session session: ## The name of the session cookie. name: authelia_session [...] domain: ndd.tld On pensera à renseigner le domaine racine qu'on souhaite protéger dans la valeur de la clé domain. ATTENTION : Authelia ne peut pas protéger plusieurs domaines racines simultanément. La mise en place de Redis est détaillée dans la partie Fonctionnalités avancées, on va s'en passer pour notre cas d'utilisation et commenter les paramètres qui y ont trait : ## ## Redis Provider ## ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html ## # redis: # host: 127.0.0.1 # port: 6379 ## Use a unix socket instead # host: /var/run/redis/redis.sock ## Username used for redis authentication. This is optional and a new feature in redis 6.0. # username: authelia ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html # password: authelia ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). # database_index: 0 ## The maximum number of concurrent active connections to Redis. # maximum_active_connections: 8 ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. # minimum_idle_connections: 0 6-C-3-h. storage Depuis la version 4.33.0 d'Authelia, il est nécessaire de définir une clé de chiffrement (encryption key) pour éviter les corruptions de base de données. C'est la chaîne de caractères définie dans le fichier encryption créé plus tôt (voir les prérequis ici : https://www.authelia.com/configuration/storage/introduction/#encryption_key) storage: ## The encryption key that is used to encrypt sensitive information in the database. Must be a string with a minimum ## length of 20. Please see the docs if you configure this with an undesirable key and need to change it. encryption_key: ## ## MySQL / MariaDB (Storage Provider) ## mysql: host: 192.168.1.200 port: 3307 database: authelia username: authelia ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html password: Par défaut, Authelia suggère d'utiliser MySQL, ce que nous allons faire car le paquet MariaDB 10 est disponible dans le centre de paquets. On spécifie l'IP virtuelle du NAS, ainsi que le port de MariaDB (3307 pour MariaDB 10). On se connecte ensuite à phpMyAdmin (paquet) via le menu DSM avec le compte root, et on crée notre utilisateur : On choisit un nom d'utilisateur, on reprend le mot de passe défini dans le fichier mysql créé précédemment et on coche "Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base." On clique sur Exécuter en bas à droite de la page, si l'opération est un succès vous verrez le contenu de la requête affiché en vert dans le haut de la page. Notre base de données est maintenant prête à accueillir les données d'Authelia. 6-C-3-i. notifier notifier: ## You can disable the notifier startup check by setting this to true. disable_startup_check: false [...] smtp: username: mail@ndd.tld ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html password: host: ssl0.ovh.net port: 587 sender: mail@ndd.tld ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost. identifier: localhost ## Subject configuration of the emails sent. {title} is replaced by the text from the notifier. subject: "[Authelia] {title}" ## This address is used during the startup check to verify the email configuration is correct. ## It's not important what it is except if your email server only allows local delivery. startup_check_address: mail@ndd.tld disable_require_tls: false disable_html_emails: false [...] ## Sending an email using a Gmail account is as simple as the next section. ## You need to create an app password by following: https://support.google.com/accounts/answer/185833?hl=en # smtp: # username: myaccount@gmail.com # ## Password can also be set using a secret: https://www.authelia.com/docs/configuration/secrets.html # password: # sender: myaccount@gmail.com # host: smtp.gmail.com # port: 587 Authelia propose par défaut l'utilisation d'un SMTP externe (type OVH dans l'exemple ci-dessus) ou de passer par un compte Gmail. Dans ce dernier cas, pensez à autoriser les applications moins sécurisées dans les réglages de votre compte Google, sinon l'envoi de mails ne se fera pas. 7. Création et utilisation du code TOTP Le plus dur est fait, il reste maintenant à se logger avec le compte qu'on a créé, on va sur la page https://authelia.ndd.tld (on s'assurera que l'entrée DNS de type A ou CNAME existe déjà, en local ou/et publique) : On entre le nom de l'utilisateur, ici toto, et le mot de passe qu'on lui a attribué. On clique sur Sign In, on arrive sur la page suivante : En cliquant sur Not registered yet?, un email sera envoyé à l'adresse renseignée pour l'utilisateur toto dans le fichier users_database.yml. Dans ce mail, on clique sur l'hyperlien Register, qui nous amène à une page avec un QR-CODE. Si vous possédez déjà une application 2FA, il vous suffit de scanner le code. Sinon vous pouvez suivre les liens pour Play Store et iOS. A titre personnel, j'utilise andOTP sur Fdroid, le store alternatif pour Android. Une fois le code ajouté dans l'application, il suffit de cliquer sur Done et on peut se connecter : Si le code est bon, vous verrez le statut authentifié en vert, et vous serez redirigé vers la page que vous aviez précédemment définie dans default_redirection_url au point 6-C-3-d. Maintenant, vous pouvez accéder à toutes vos applications en choisissant vous-même le curseur de sécurité. 😉 8. Fonctionnalités avancées 8-A. Redis A venir... 8-B. DuoAPI A venir... 9. FAQ Q : J'ai perdu le mot de passe de mon utilisateur, comment retrouver l'accès à mes sous-domaines ? A : A l'écran de login, vous pouvez cliquer sur Reset password?. Q : J'ai perdu mon code accès TOTP, que faire ? A : Une fois loggé, vous pouvez cliquer sur Lost your device?. Vous recevrez alors un mail vous proposant un nouveau QR-CODE. Q : Puis-je désactiver la possibilité pour les utilisateurs de récupérer leur mot de passe ? A : Oui, il faut modifier la valeur de la clé disable_reset_password dans la section authentication_backend à true. Q : J'obtiens une erreur 502 en accédant à mes entrées de proxy inversé, pourquoi ? A : Il y a plusieurs raisons possibles, mais dans le cas présent il se peut que l'interface virtuelle du NAS ait disparu, suite à un arrêt, un redémarrage ou une mise à jour du paquet Docker. Vous avez normalement déjà mis en place un script qui permet de la recréer automatiquement au démarrage du NAS. Mais en cas de perte de l'interface il faudra simplement relancer la tâche manuellement depuis le planificateur de tâches. Màj : 07/08/20231 point
-
Bonjour, Objectif de ce tutoriel : Pouvoir gérer de façon centralisée votre propre messagerie électronique sur votre NAS Synology lorsque vous disposez d’une adresse IP externe dite « dynamique » chez un Fournisseur d’Accès Internet (FAI) tel que ORANGE. L’idée est donc de vous permettre de créer votre propre messagerie électronique sur la base de votre propre domaine « votredomaine.tld » afin que vous puissiez recevoir et envoyer des eMAILs vers tous les fournisseurs tels que GMAIL et autres sans que ces eMAILs ne puissent être déclarés comme du SPAM (courrier indésirable non sollicité). En clair être autonome de ce point de vue ! Pour cela (et surtout pour faire simple) nous allons utiliser un outil à notre disposition sur nos NAS Synology qui n’est autre que le package Synology « MailPus Server » (« MPS »). Avec ce package notre NAS devient alors un système de messagerie prenant en charge les protocoles « SMTP », « POP3 » et « IMAP ». Les comptes d'utilisateurs et les eMails y sont également gérés et archivés de manière centralisée ce qui répond déjà à une partie de l’objectif fixé. En outre, associé à ce serveur, le package « MailPlus » va fournir aux utilisateurs du NAS, un client de messagerie basé sur un navigateur facile à utiliser pour afficher, gérer et envoyer leurs messages. Alors pourquoi s’en priver ? Autant aussi être d’entrée très clair, vous constaterez que ce tutoriel présente beaucoup de similitudes avec l’excellent tutoriel « [TUTO] Serveur MailPlus DSM6 » proposé par @unPixel sur le présent forum. Ceci est normal : on va utiliser le même outil logiciel (à la version près, celle décrite ici est la dernière à la date de rédaction du présent tutoriel), c’est juste que le tutoriel de @unPixel ne s’adresse qu’aux « chanceux » possesseurs d’une @IP externe fixe, cette condition est expressément explicitée dès le début de celui-ci. En conséquence et théoriquement, ce tutoriel ne s’avère pas applicable aux possesseurs d’une @IP externe dite « dynamique ». Mais, et bien heureusement il y a un « MAIS », on peut contourner le problème de l’@IP externe fixe et ainsi s’en affranchir, pour disposer au final d’un serveur de messagerie bien opérationnel tout en utilisant une @IP dynamique. Il faut donc voir le présent tutoriel comme un complément qui répond à un autre besoin. Chacun, toujours selon son besoin, s’adaptera et suivra l’un ou l’autre de ces tutoriels. Oh, j’entends déjà d’ici des voix qui vont dire que le serveur de messagerie ainsi configuré, va tout au plus « marchoter » et que sans @IP fixe il n’y a point de salut viable. Eh bien, la configuration décrite ci-après devrait en prouver le contraire. Cela étant, il convient cependant en préalable, de garder en mémoire quelques points : Tous les NAS Synology ne sont pas compatibles avec le package « MPS ». Je vous invite donc avant toute chose, à contrôler que votre NAS figure bien dans la liste de compatibilité établie par Synology. Faute de quoi et j’en suis désolé pour vous, ce présent tutoriel ne sera pas applicable. Le package « MPS » ne fournit GRATUITEMENT en standard, la possibilité de créer que 5 @MAIL pour nos propres besoins. Il est vrai que c’est peu mais c’est déjà cela en termes de gratuit. Cependant, si vous souhaitez acquérir des @MAIL supplémentaires pour vos propres besoins, sachez que c’est possible mais que ces licences Synology ne sont disponibles que par lot de 5 ou lot de 20, à un prix que personnellement, je trouve prohibitif pour un particulier du moins. Si vous êtes un « Pro », c’est un autre débat ... En tous cas, voyez et jugez vous-même par exemple ICI (à la date de la présente rédaction) pour un simple lot de 5 licences (je vous laisse découvrir vous-même le coût de 20 licences !). Maintenant pour être complet, vous pouvez aussi vous rabattre sur l’ancienne version du package Synology « MailServer » qui est à ce jour encore disponible et opérationnelle et qui elle, certes, ne limite pas le nombre d’@MAIL créables. Cependant ses fonctionnalités sont bien moindres que celles de l’actuel « MPS ». Ceci dit, cet ancien package peut aussi très bien suffire à certains. À vous de voir selon vos besoins … En toute rigueur dans le processus de configuration de votre serveur de messagerie, il faudrait pouvoir paramétrer le « rDNS » d’Orange. Entendez par là, le « reverse DNS », c’est-à-dire la possibilité d’obtenir le nom de domaine correspondant à une @IP, ce que font automatiquement les serveurs d’Orange (mais aussi les autres FAI) pour vérifier que l'eMAIL émis, provient bien de l’enregistrement « MX » associé à ce domaine auquel cas l’eMAIL est rejeté. Or, cette inscription ne peut normalement se faire que chez le propriétaire de l’@IP externe en l’occurrence ici : Orange. Mais voilà, là c’est impossible chez eux (a priori, et à ma connaissance il semblerait que seul Free le permette). Bon, heureusement il semble qu’à l’usage ce ne soit finalement pas un problème bloquant dans notre affaire comme on le verra plus loin (au § 7 ci-dessous) lors du test « mail-tester.com ». Il faut juste le savoir. Il est également nécessaire que le port 25, qui est un port de communication entre serveurs MAIL, ne soit pas bloqué ni en entrée, ni en sortie. En fait chez Orange, il n’est pas bloqué comme on pourrait le croire et comme le croient certains, mais c’est juste qu’un serveur SMTP Orange ignore les connexions provenant d'un autre réseau si elles lui arrivent sur le port 25. Sachez que ce comportement est devenu le standard et tous les opérateurs appliquent ce type de restriction. Pour mémoire, Il semblerait que Free bloque aussi par défaut le port 25 mais au moins chez eux il serait possible toutefois, de débloquer cette fonction via l’interface de leur box. Donc au final, pour contourner ce « blocage » du port 25, il suffit et il est même impératif de passer par le serveur SMTP du FAI pour émettre des eMAILs et si on ne veut pas se les faire rejeter. Par conséquent et c’est là toute l’astuce que l’on va mettre en œuvre dans la configuration décrite ci-après, on va utiliser : · un serveur SMTP d’Orange (ce qu’on appellera par la suite un relais SMTP) où l’on a un compte, · via le protocole SSL avec le port 465 ou via le protocole TLS avec le port 587 qui servira pour la communication du client vers le serveur (c’est cette dernière solution que nous exploiterons ici), · et avec une authentification par mot de passe. C’est la condition sine qua non au bon fonctionnement de votre serveur de messagerie. De façon pratique, si vous faites des Copier/Coller de paramètres, d’instructions de commandes, etc … à partir du présent tutoriel, je vous invite expressément à passer par l’intermédiaire d’un fichier « .txt » afin de bien visualiser le contenu exact de la chaîne de caractères copiée. Cette disposition vous évitera notamment lors du « Copier » de prendre de façon aveugle des caractères parasites qui viendront immanquablement ensuite perturber les systèmes mis en œuvre dans leur analyse de ces paramètres et/ou commandes avec tous leurs cortèges de messages d’erreurs associés. Voilà, vous êtes prévenus … Je vous livre donc ci-après la méthode que j'ai suivie. J’ai essayé de la rendre aussi détaillée que possible. En fait elle est conçue pour « les nuls » 😊, mais pas que ... D’ores et déjà, je tiens aussi à remercier ici, @Thierry94 et @PiwiLAbruti qui, au cours de multiples échanges (que vous pourrez retrouver sur le présent forum), m’ont fourni de la matière pour alimenter et compléter un certain nombre d’explications que vous trouverez dans ce tutoriel. Ils se reconnaitront dans certains couplets que j’ai repris quasiment tels quels. Sinon pour une grande partie, toutes ces explications sont issues de synthèses de mes lectures sur la toile. Les « initiés » ne manqueront pas de corriger mes éventuels défauts d’interprétations. Voilà pour le discours préliminaire, on passe aux choses sérieuses … Prérequis : Vous devez disposer de : Un NAS Synology compatible et surtout sécurisé (voir le Tutoriel « [TUTO] Sécuriser les accès à son nas » de @Fenrir). Un nom de domaine personnalisé (« votredomaine.tld »). Un accès à la « zone DNS » de votre domaine chez votre fournisseur de domaine (pour l’exemple ici ce sera mon fournisseur : OVH). Un serveur DNS installé et configuré pour gérer votre domaine sur votre NAS ou sur votre Routeur Synology (voir le Tutoriel « [TUTO] DNS Server » de @Fenrir). Une @IP externe dynamique sur laquelle « pointe » un nom d’hôte qui n’est autre que « votredomaine.tld » et configurée sur votre NAS pour être prise en charge par un DDNS (pour l’exemple ici ce sera le DynDNS d’OVH). Optionnel mais recommandé : un reverse proxy configuré sur votre NAS (voir le Tutoriel « [TUTO] Reverse proxy » de @Kawamashi). Nota : Juste pour attirer votre attention sur le fait que par abus de langage en parlant d’@IP externe chez Orange, on réduit trop souvent à l’utilisation du qualificatif « dynamique ». En fait et en pratique (source Orange), en fonction du modèle de votre Livebox (Livebox 2, Livebox Play, Livebox 4) et de votre connexion (ADSL, VDSL2, Fibre), vous bénéficiez soit d’une @IP dite « dynamique », soit d'une @IP dite « préférentielle » telles que : Fibre et VDSL : IPv4 préférentielle, IPv6 dynamique, ADSL : IPv4 préférentielle ou dynamique selon éligibilité, Ipv6 dynamique selon éligibilité, LiveBox2 : IPv4 dynamique et uniquement en ADSL. Les différences entre les « @IP dynamiques » et les « @IP préférentielles » sont celles-ci : Les « @IP dynamiques » : elles sont modifiées périodiquement par Orange ou en cas de reconnexion de la Livebox. Les « @IP préférentielles » : elles sont stables dans la durée et ne changent qu'en cas de déconnexion de la Livebox supérieure à 7 jours. Toutefois, pour des raisons techniques, Orange peut procéder au renouvellement de votre adresse IPv4 si cela est nécessaire. Dans ce cas, ce renouvellement est activé lors de la prochaine connexion de la Livebox au réseau. L’« @IP préférentielle » quant à elle ne concerne que les adresses de type IPv4. C’est pour cela que l’on peut considérer/assimiler une « @IP préférentielle » à une « @IP fixe » compte tenu de son caractère stable dans le temps même si au final ce n’est pas complétement vrai je vous l’accorde. À titre d’exemple qui vaut ce qu’il vaut, j’ai une LiveBox4 en fibre et mon @IP externe n’a pas changé depuis bientôt 6 mois. Pourvu que cela dure … 1 Ajout des enregistrements DNS internes sur le NAS Peu importe que votre serveur DNS soit installé sur votre Routeur Synology ou sur votre NAS Synology, c’est la même application « DNS Server » que l’on va utiliser. Il est bien entendu que votre serveur DNS est déjà configuré sur votre NAS ou votre Routeur pour gérer votre domaine comme indiqué en prérequis. Rendez-vous sur l’application « DNS Server » et ouvrez-la à partir du bureau de DSM ou de SRM selon. On va créer deux (2) nouveaux enregistrements dans la zone master correspondante de votre domaine : - Un de type « A » afin de rediriger le client mail vers votre NAS. - Un de type « MX » pour que votre NAS puisse communiquer avec le serveur MAIL. Nota : Pour l’exemple et dans toute la suite du présent tutoriel : - l’@IP du NAS sera notée « 1.2.3.4 ». Bien évidemment il vous faudra remplacer cette valeur d’@IP par l’@IP locale « réelle » de votre NAS. - l’@IP externe de votre Box/Routeur sera notée « 10.20.30.40 » et de la même façon il vous faudra remplacer cette valeur d’@IP par l’@IP externe « réelle » de votre Box/Routeur. Pour cela : Dans le menu « Zones » sélectionnez la zone correspondante à votre domaine. 2xCliquez sur cette zone master OU dans le popup « Modifier » sélectionnez l’item « Enregistrement de ressources » Une fenêtre « Modifier un enregistrement de ressource » s’ouvre. Dans le popup « Créer » sélectionnez l’item « A Type » Saisissez ensuite tel que ci-après : Validez en cliquant sur « OK » Dans le popup « Créer » sélectionnez l’item « MX Type » Saisissez ensuite tel que ci-après : Validez en cliquant sur « OK » Dans la fenêtre « Modifier un enregistrement de ressource » vous devriez obtenir quelque chose comme ci-après : votredomaine.tld MX 3600 10 mail.votredomaine.tld mail.votredomaine.tld A 3600 1.2.3.4 Cliquez sur « Terminer » pour valider, vous pouvez ensuite quitter l’application « DNS Server » on en a fini avec elle. 2 Installation du package MailPlus Server et du client MailPlus 2.1 Installation de « MailPlus Server » Via le centre de paquets sur votre NAS Synology, on va maintenant installer le package « MPS ». Ne soyez pas surpris, en lançant l’installation de ce package, celle-ci nécessite l’installation concomitante de dépendances nécessaires au fonctionnement de « MPS » par le biais de deux autres packages qui sont respectivement : « Perl » et « Python Module ». Un message qu’il vous faudra valider vous en informe : ⚠ Il est possible à la fin de l’installation des trois paquets (durée 2 à 3 minutes), que vous receviez un message d’erreur signalant que l’installation a échoué et vous demandant de vous reconnecter à DSM. Ignorez ce message car en fait tout s’est bien passé. Il s’agit d’un bug lié au lancement automatique de « MPS » et de toute façon quittez DSM et reconnectez-vous. Donc après la phase d’installation vous devriez avoir ceci dans le centre de paquets : 2.2 Installation du client « MailPlus » Via le centre de paquets sur votre NAS Synology, on va maintenant installer le package « MailPlus ». Ne soyez pas surpris, en lançant l’installation de ce package, celle-ci nécessite l’installation concomitante de dépendances nécessaires au fonctionnement du client « MailPlus » par le biais de trois autres packages qui sont respectivement : « Node.js v8 », « Node.js v12 » et « Service d’application Synology ». Un message qu’il vous faudra valider vous en informe : 3 Pré configuration de MailPlus Server Donc suite à cette installation, on va maintenant effectuer un minimum de configuration/paramètrage de « MPS » afin de disposer des éléments nécessaires pour configurer plus loin aux § 4.2.3, § 4.2.4 et § 4.2.5 ci-dessous, la « zone DNS » de votre domaine chez OVH. Rassurez-vous on reviendra après cela pour finaliser la configuration et sécuriser le présent serveur de messagerie. Rendez-vous sur l’application « MPS » et ouvrez-la à partir du bureau de DSM (ou du centre de paquets). L’assistant de configuration de « MPS » propose de créer un nouveau système de messagerie. Validez en cliquant sur « Suivant ». Il vous faut alors saisir : Nom de domaine : « votredomaine.tld » Nom d’hôte (FQDN) : « votredomaine.tld » (FQDN : « Fully Qualified Domain Name » ou nom de domaine pleinement qualifié, est un nom de domaine qui donne la position exacte de son nœud dans l'arborescence DNS en indiquant tous les domaines de niveaux supérieurs). Validez en cliquant sur « Suivant ». L’assistant présente alors un résumé de la mise en place de votre domaine : Validez en cliquant sur « Appliquer ». L’assistant applique les différents paramètres : Validez en cliquant sur « Terminer ». Maintenant, on va générer une clé publique liée à votre domaine personnalisé qui va être utilisée plus loin (voir § 4.2.4 ci-dessous) lors de la configuration de la « zone DNS » de votre domaine chez OVH. Mais avant de générer cette clé, il est nécessaire de fixer la longueur de cette clé (à l’instar d’une clé de chiffrement de type RSA). Pour cela : Dans la section « SECURITE » sélectionnez l’onglet « Authentification ». Dans la fenêtre qui s’affiche alors : Nota : Bien que les définitions succinctes des trois notions citées ci-après soient données dans cette fenêtre, ces notions seront présentées plus en détail plus loin au §4.2 ci-dessous lors de la configuration de la « zone DNS » de votre domaine chez OVH. Cochez respectivement les cases qui vont permettre l’activation des processus de vérification « SPF » et « DKIM » et l’activation du processus « DMARC ». Sous SPF, laissez décochée la case « Rejeter les pannes souples SPF ». Dans la partie « DKIM », sélectionnez dans le popup la valeur « 2048 » pour fixer la longueur de votre clé publique. Validez en cliquant sur « Appliquer ». Dans la section « DOMAINE » sélectionnez la ligne correspondante de votre domaine : Cliquez sur le bouton « Modifier » OU 2xCliquez sur cette ligne. Le détail de votre domaine s’affiche : Profitez-en pour renseigner au passage la description de votre domaine, par exemple : « Messagerie associée à votredomaine.tld ». Au moins ce sera toujours cela de fait … 😀 Cliquez ensuite sur le bouton « Avancé ». Dans la fenêtre qui s’affiche alors : Cochez la case « DKIM » Saisissez pour « Préfixe du sélecteur DKIM » un terme quelconque composé de caractères et éventuellement de chiffres. Il est d’usage d’en limiter le nombre de caractères (entre 5 et 8 c’est bien). Mais dans tous les cas veillez à NE PAS utiliser de majuscules, ni de caractères « spéciaux » ou « exotiques » ; ceci afin de ne pas perturber les serveurs qui analyseront ce préfixe. Nota : Pour votre présente information mais on reverra cela plus loin dans la suite de ce tutoriel : Le sélecteur DKIM est spécifié dans l'en-tête de l’eMAIL contenant la signature DKIM. Il indique où la partie de la clé publique de la paire de clés DKIM se trouve dans le DNS. Le serveur de réception utilise quant à lui le sélecteur DKIM pour localiser et récupérer la clé publique afin de vérifier que le message électronique est authentique et n’a pas été altéré. Cliquez ensuite sur le bouton « Générer la clé publique ». Le message suivant s’affichera alors : Comme on a déjà précédemment fixé cette longueur de clé « DKIM », il est inutile de le refaire donc ignorez ce message et validez en cliquant sur « Oui ». Copiez et sauvegardez précieusement cette clé dans un fichier « .txt » sur votre PC/Mac. On va s’en resservir plus loin dans le présent tutoriel. À discuter mais je ne recommande pas d’activer la fonction « Catch-all ». En effet, avec cette fonction il vous est possible de recevoir des eMAILs ayant pour origine un utilisateur inconnu et surtout qui n’existe pas. Donc avec cette option activée c'est quelque part la porte ouverte aux usurpateurs. Il suffit ensuite d'une seconde d'inattention et un clic malheureux dans un eMail de ce genre pour se retrouver dans la panade. Voilà ce n’est que mon interprétation de cette fonction, elle vaut ce qu’elle vaut. Maintenant c’est vous qui voyez … Validez en cliquant sur « OK ». 4 Configuration de la zone DNS chez OVH Maintenant que l’on a tous les éléments nécessaires on peut procéder à la configuration de la zone DNS associée à votre domaine chez OVH. Pour cela : Connectez-vous à OVH avec votre identifiant principal et votre mot de passe. Rendez-vous sur le tableau de bord de votre domaine : menu « Web » / section « Domaines » / « votredomaine.tld ». 4.1 Optionnel : création d'une @MAIL de secours chez OVH Mais avant de configurer la zone DNS, il convient de régler un point qui reste toutefois tout à fait optionnel pour vous. Libre à vous de le suivre ou pas. En effet, si vous avez souscrit une offre « gold » (appelée aussi « Start10M ») lors de l'initialisation de votre abonnement pour un nom de domaine chez OVH, sachez qu’il vous est gracieusement offert avec cet abonnement la possibilité de gérer une @MAIL avec 5GO de stockage sur leurs serveurs ainsi qu’un hébergement web de 10 Mo. Aussi, à moins que ce ne soit déjà fait et auquel cas, passez directement au §4.2 ci-dessous, je vous invite à créer cette @MAIL et cet hébergement Web même si en fin de compte vous n’utiliserez pas ce dernier (quoique dans le futur, on ne sait jamais, cela pourrait être une bonne base pour bâtir votre propre site Web. Comme toujours à vous de voir …). Dans tous les cas, ce qui vous intéresse donc ici c’est l’@MAIL offerte car d’une part elle est gratuite donc pourquoi s’en priver ? En plus, elle peut toujours servir à autre chose. Mais d’autre part, c’est surtout que cette création d’@MAIL va pouvoir vous servir en quelque sorte d’@MAIL de secours. Nota : Si vous estimez avoir besoin de plus d’@MAIL, il vous faudra modifier votre abonnement OVH pour acheter des @MAIL supplémentaires. Pour cela : rendez-vous sur le tableau de bord de votre domaine : menu « Web » / section « Emails » / « votredomaine.tld » / Abonnement / Offre MXPLAN 1 hosting et cliquez sur le bouton cerclé « … » et choisissez l’offre qui vous convient En effet, toute l’astuce ici, est de définir cette @MAIL de façon identique à celle que l’on va configurer pour votre utilisateur « principal » dans votre serveur de messagerie « MPS» sur votre NAS. Ainsi, pour le cas où votre NAS ne serait plus joignable de l’extérieur ou qu’il ne réponde plus aux sollicitations externes (pour cause de panne, d’arrêt pour maintenance ou toute autre raison) vous pourrez continuer à pouvoir émettre et surtout recevoir des eMAILs sur cette @MAIL. Intéressant, non ? Seule contrainte, s’il en est, c’est qu’il vous faudra soit vous connecter directement à votre compte OVH pour gérer ces eMAILS, soit avoir installé et configuré un client MAIL comme décrit dans la phase n°3 du guide cité au point 2 ci-après. Donc, après vous être connecté sur votre compte OVH, rendez-vous sur le tableau de bord de votre compte client OVH : Activez votre offre d’hébergement gratuit « Start10M » en suivant les étapes de ce guide. A la fin de du guide vous trouverez un lien permettant de créer votre @MAIL gratuite. Cliquez sur ce lien (qui est rappelé ici) et suivez les étapes de ce second guide. Bien évidemment et c’est ce qui est important, vous créerez votre adresse eMAIL avec le nom de votre utilisateur principal que vous aurez choisi parmi les utilisateurs déjà déclarés ou que vous créerez pour l’occasion sur votre NAS. Au final, votre @MAIL sera donc du type : « utilisateurprincipal@votredomaine.tld ». 4.2 Configuration de la zone DNS chez OVH Si vous avez suivi l’étape précédente du §4.1 ci-dessus alors repositionnez-vous sur votre domaine menu « Web » / section « Domaines » / « votredomaine.tld » sinon ce n’est pas la peine vous y êtes déjà. 4.2.1 Enregistrements « A » · Vérifiez que vous n’avez pas d’enregistrements de type « A » associés à « mail.votredomaine.tld ». Si c’est le cas : supprimez-le ou les. 4.2.2 Enregistrements « MX » Deux cas de figure se présentent ici selon que vous ayez créé ou non une @MAIL de secours en suivant le processus décrit au §4.1 ci-dessus. Si vous n’en avez pas créée alors passez directement au point 2 ci-après. Si vous avez créé une @MAIL de secours « utilisateurprincipal@votredomaine.tld », alors normalement vous devriez trouver dans votre zone DNS, trois (3) enregistrements de type « MX » (ils ont été automatiquement ajoutés par OVH avec la création de l’@MAIL de secours) tels que : votredomaine.tld. 0 MX 1 mx1.mail.ovh.net. votredomaine.tld. 0 MX 5 mx2.mail.ovh.net. votredomaine.tld. 0 MX 100 mx3.mail.ovh.net. Ici les priorités (4ème champ de l’enregistrement) de ces serveurs d’OVH, sont définies de telle façon que ces derniers interviendront en premier pour gérer les flux d’eMAILs entrants et sortants de votre adresse @eMAIL « utilisateurprincipal@votredomaine.tld ». Nota : les priorités vont de la plus forte (1) à la plus faible (100 et plus). Afin que votre @MAIL devienne une @MAIL de secours, on va donc modifier ces priorités en les diminuant pour chacun des deux premiers enregistrements « MX » (mx1 et mx2) .Pour le serveur mx3, c’est inutile vue sa priorité déjà très faible. Pour réaliser cela : o À droite de chaque enregistrement « MX », cliquez sur le bouton cerclé « … » et sélectionnez dans le popup l’item « Modifier l’entrée ». o Dans le champ « Priorité », saisissez respectivement les valeurs suivantes : 5 puis 10. o Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS trois (3) enregistrements « MX » tels que : votredomaine.tld. 0 MX 5 mx1.mail.ovh.net. votredomaine.tld. 0 MX 10 mx2.mail.ovh.net. votredomaine.tld. 0 MX 100 mx3.mail.ovh.net. En premier lieu, vérifiez la présence dans votre zone DNS, d’un enregistrement « MX » tel que : votredomaine.tld. 0 MX 1 redirect.ovh.net. S’il existe effectivement, alors supprimez le purement et simplement. Cet enregistrement, créé par défaut par OVH lors de la mise en place de votre domaine, est inutile dans notre actuelle démarche de configuration de votre propre serveur de messagerie. On va maintenant créer un nouvel enregistrement « MX » qui va rediriger tout le flux d’eMAILs entrants et sortants de votre adresse @eMAIL « utilisateurprincipal@votredomaine.tld » vers votre serveur de messagerie « MPS » sur votre NAS tout en lui donnant la priorité maximum, c’est-à-dire : 1. De cette façon, si vous avez créé une @MAIL de secours « utilisateurprincipal@votredomaine.tld » comme décrit précédemment, alors les serveurs d’OVH tels que configurés au point 1, reprendront automatiquement la main dans le cas où votre NAS et donc implicitement votre serveur de messagerie « MPS », ne répondrait plus aux sollicitations externes. Le flux entrant de vos eMAILs serait alors redirigé automatiquement vers la boîte MAIL de secours chez OVH. Ceci pour tous les eMAILs qui sont adressés à votre @MAIL « utilisateurprincipal@votredomaine.tld » et uniquement pour ceux-là. Pour les autres @MAIL de vos autres utilisateurs définis sur le NAS (donc pour le cas où vous n’auriez pas ajouté d’autres @MAIL sur votre compte OVH), sachez que normalement lorsqu'un serveur MAIL n'arrive pas à joindre un autre serveur pour lui envoyer des eMAILs, le protocole d'échange prévoit que le serveur émetteur réessaye la connexion pendant 14 jours avant d'abandonner l’eMAIL. Donc, même si vous n’avez pas de solution de secours comme décrite ci-avant, le risque de perdre des eMAILs demeure assez limité. De plus, on peut penser que vous n’allez pas rester 14 jours sans réagir, Non ? Donc : o Dans la zone DNS de votre domaine, cliquez sur « Ajouter une nouvelle entrée ». o Cliquez dans la zone « Champs mails » sur « MX ». o Saisissez les informations suivantes : ▪ Sous-domaine : laissez vide ▪ TTL : 3600 ▪ Priorité : 1 ▪ Cible : « votredomaine.tld. » (N’oubliez pas le « . » à la fin, c’est important !) o Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS un nouvel enregistrement « MX » tel que : votredomaine.tld. 3600 MX 1 votredomaine.tld. 4.2.3 Ajout d’un enregistrement TXT de type « SPF » Avant toutes choses, il convient de vous expliquer à minima ici de façon rapide et simple (enfin je l’espère !) ce qu’est un enregistrement « SPF » et à quoi il sert. Il est très important de bien comprendre tous les tenants et aboutissants de cette notion pour pouvoir ensuite maîtriser votre serveur de messagerie « MPS ». Rassurez-vous, il n’y a rien de bien compliqué en soi mais prenez bien le temps de bien lire ce qui suit pour en assimiler le concept. Donc : Le protocole Simple Mail Transfer Protocol (SMTP) utilisé pour le transfert du courrier électronique sur Internet ne prévoit pas de mécanisme de vérification de l'expéditeur, c'est-à-dire qu'il est facile d'envoyer un eMAIL avec une adresse d'expéditeur factice, voir usurpée. Pour réduire les possibilités d'usurpation, on va publier, dans la zone DNS de votre domaine, un enregistrement spécifique indiquant la liste de toutes les @IP qui sont autorisées à envoyer des eMAILs au nom de votre domaine (implicitement les autres @IP sont interdites). Cet enregistrement spécifique est nommé : « SPF » (Sender Policy Framework) ou enregistrement « SPF TXT ». « SPF » est un protocole d'authentification des eMAILs. Fonctionnement : Lorsqu'un expéditeur tente de transférer un eMAIL à un serveur de réception pour qu'il lui soit livré, le serveur de MAILs vérifie si l'expéditeur figure sur la liste des expéditeurs autorisés du domaine. Si c'est le cas, un lien a été établi entre l’eMAIL et le domaine de messagerie. Si ce n'est pas le cas, le serveur continue à traiter le courrier électronique comme d'habitude sans ce lien et là, l’eMAIL a toutes les chances d’être considéré comme du SPAM. La plupart du temps il est purement et simplement rejeté. Avec un enregistrement « SPF » en place, vous allez protéger ainsi votre domaine de messagerie contre les attaques de spoofing et de phishing en faisant savoir au monde entier quels sont les serveurs autorisés à envoyer des eMAILs authentifiés en votre nom. Il vous faut aussi savoir que les « RFC »(Request for Comments) sur le domaine « DNS » ont initialement introduit le type d’enregistrement « SPF » pour prendre en charge ce scénario. Pour prendre en charge des serveurs de noms plus anciens, elles autorisaient également l’utilisation du type d’enregistrement « TXT » pour spécifier les enregistrements « SPF ». Nota : Cet enregistrement « TXT » est aussi appelé « SPF TXT » car on utilise aussi les enregistrements de type « TXT » pour d’autres notions. Cette ambiguïté a entraîné une certaine confusion qui a été résolue par la norme RFC 7208. Celle-ci stipule notamment que les enregistrements « SPF » doivent être créés à l’aide du type d’enregistrement « TXT » (« SPF TXT »). Elle stipule également que le type d’enregistrement « SPF » est déprécié. L’ajout dans la zone DNS de votre domaine d’un enregistrement « SPF TXT » est l'un des mécanismes le plus important lorsqu'on met en place un serveur MAIL. Comme la configuration sur un NAS Synology est souvent faite avec un seul domaine et un seul serveur principal, l'adresse à définir correspond à l'enregistrement « MX » du domaine. L'intérêt de choisir cet enregistrement, est que l’enregistrement « SPF TXT » suivra implicitement les modifications de cet enregistrement « MX » qui pourraient intervenir par ailleurs ensuite. Donc dans le cas du présent tutoriel, l’enregistrement « SPF TXT » sera de la forme et syntaxe suivante : votredomaine.tld. 0 TXT "v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all" Où : « v=spf1 » : indique la version du protocole SPF. « mx » : indique au mécanisme de contrôle d’examiner les @IP définies dans les enregistrements « MX ». « a :smtp.smtpout.orange.fr » : indique la liste des @IP autorisées à émettre des eMAILs pour le domaine. Ici cela correspond à votre serveur relais SMTP chez Orange. « include :mx.ovh.com » : indique la liste complémentaire d’@IP également autorisées à émettre des eMAILs pour le domaine. Ici cela correspond aux serveurs d’OVH que l’on utilise comme serveurs de secours. « -all » : indique la politique et la rigueur à appliquer lorsqu'un serveur récepteur détecte un serveur qui n'est pas répertorié (autorisé) dans votre enregistrement « SPF TXT ». Ici, la balise « all » comporte en préfixe l’option « - » qui signifie « échec » : les eMAILs non autorisés seront donc rejetés. Si vous êtes en phase de configuration ou de test de votre serveur, vous pouvez utiliser à la place l'opérateur "~" (tilde) qui signifie (soft fail) et qui vous évitera des blocages intempestifs. Dans ce cas, les eMAILs non autorisés seront acceptés mais marqués. Pour les plus curieux d’entre vous qui souhaiteraient aller plus loin, sachez que si vous utilisez plusieurs domaines et que votre enregistrement « SPF TXT » est identique pour tous ces domaines, la directive « redirect » permet de faire pointer l'enregistrement « SPF TXT » d'un domaine vers celui d'un autre domaine. Ainsi, en cas de modification de l’enregistrement « SPF TXT », la modification sera appliquée à tous les autres domaines. La syntaxe à employer est celle-ci : v=spf1 redirect=votredomaine.tld D'où la bonne pratique qui est de le faire même si vous ne possédez qu'un seul domaine afin d’anticiper l'acquisition d'autres domaines ultérieurement, la syntaxe de votre enregistrement « SPF TXT » pour votre domaine devient par exemple : votredomaine.tld 0 TXT "v=spf1 mx -all" autredomaineA.tld 0 TXT "v=spf1 redirect=votredomaine.tld" autredomaineB.tld 0 TXT "v=spf1 redirect=votredomaine.tld" autredomaineC.tld 0 TXT "v=spf1 redirect=votredomaine.tld" autredomaineD.tld 0 TXT "v=spf1 redirect=votredomaine.tld" . . . Pour terminer cet aparté, sachez enfin que vous pouvez résoudre récursivement les enregistrements « SPF TXT » pour vérifier les hôtes autorisés. En voici un exemple avec « mx.ovh.com » : Dans une fenêtre de commande Windows ou d’un terminal Mac, tapez ceci : > nslookup -type=TXT mx.ovh.com mx.ovh.com text = "v=spf1 ptr:mail-out.ovh.net ptr:mail.ovh.net ip4:8.33.137.105/32 ip4:192.99.77.81/32 ?all" > nslookup mail-out.ovh.net Name: mail-out.ovh.net Address: 87.98.222.13 > nslookup mail.ovh.net Name: mail.ovh.net Address: 193.70.18.148 Le problème de la constitution et de la syntaxe de votre enregistrement « SPF TXT » étant réglé, on va procéder à un contrôle des paramètres de l’enregistrement « SPF TXT » afin d’être sûr à 100% de sa syntaxe et donc que celle-ci est correcte. Pour ce faire, il y a deux façons : La première et la plus sage à mon sens, consiste à effectuer le contrôle avant de créer effectivement cet enregistrement « SPF TXT » dans la zone DNS de votre domaine. Vous verrez et comprendrez par la suite, que l’on perd moins de temps avec cette méthode. La seconde, consiste à créer directement l’enregistrement dans la zone DNS de votre domaine, ce qui va déclencher sa diffusion sur tous les serveurs DNS de la toile (sachant que la propagation complète de l’enregistrement est loin d’être instantanée) et ensuite de procéder au contrôle de l’enregistrement « SPF TXT » (vous verrez plus loin aussi que cette dernière méthode apporte une petite nuance, par rapport à la première méthode, qui vous sera explicitée). Vous avez donc le choix de la méthode à appliquer. C’est vous qui voyez … Néanmoins pour ce tutoriel, on va appliquer la première méthode. Ceci dit, vous trouverez plus loin, après la description du déploiement de l’enregistrement « SPF TXT », la description de la seconde méthode de contrôle suscitée. Soyez patient, chaque chose en son temps …. Donc pour contrôler la syntaxe de votre enregistrement « SPF TXT », on va utiliser les services d’un site internet dédié : Dans un navigateur Web, rendez-vous sur le site « kitterman.com ». (Il en existe certes d’autres mais celui-là est réputé être très efficace). Dans la zone « Test an SPF record », saisissez les données suivantes dans les champs correspondants : IP address : 10.20.30.40 (votre @IP externe, i.e. celle de votre Box/Routeur). SPF Record v=spf1...://--> : v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all (la chaîne de paramètres SPF et sans les guillemets !) Mail From address: : utilisateurprincipal@votredomaine.tld HELO/EHLO Address://--> : votredomaine.tld Cliquez sur le bouton « Test SPF record ». Le résultat du contrôle s’affiche après quelques secondes : Input accepted, querying now... Mail sent from this IP address: 10.20.30.40 Mail from (Sender): utilisateurprincipal@votredomaine.tld Mail checked using this SPF policy: v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all Results - PASS sender SPF authorized Mail sent from this IP address: 10.20.30.40 Mail Server HELO/EHLO identity: votredomaine.tld HELO/EHLO Results - PASS sender SPF authorized « PASS sender SPF authorized » : Parfait, la syntaxe de votre enregistrement « SPF TXT » est validée et sans erreur, on va donc pouvoir créer effectivement ce fameux enregistrement « SPF TXT » dans la zone DNS de votre domaine. Dans la zone DNS de votre domaine, cliquez sur « Ajouter une nouvelle entrée ». Cliquez dans la zone « Champs étendus » sur « TXT ». Saisissez les informations suivantes : Sous-domaine : laisser vide TTL : laisser « Valeur par défaut » Valeur : « v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all » (sans les guillemets !) Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS un nouvel enregistrement « TXT » tel que : votredomaine.tld. 0 TXT "v=spf1 mx a:smtp.smtpout.orange.fr include:mx.ovh.com -all" Nota : Dans la dernière fenêtre, juste avant de valider, vous avez certainement remarqué et lu l’avertissement suivant :« La modification sera immédiate dans la zone DNS, mais veuillez prendre en compte le temps de propagation (maximum 24h). ». Cet avertissement est loin d’être anodin. Il va falloir prendre votre mal en patience si je puis dire …Le temps de propagation vers tous les serveurs DNS de la toile est en effet assez long. Parfois, il semble rapide mais ce n’est que parfois. Pour suivre en quelque sorte l’avancement de ce déploiement, vous pouvez utiliser le moyen suivant : Dans un navigateur Web, rendez-vous sur le site « whatsmydns.net »: Saisissez l’intitulé de votre domaine : « votredomaine.tld ». Dans le popup à droite du champ domaine, sélectionnez l’item « TXT ». Cliquez sur le bouton « Search ». (Recliquez périodiquement jusqu’au déploiement complet). Lorsque la propagation complète sera achevée, vous aurez un affichage semblable à celui-ci : Une fois la propagation achevée, c’est là que vous pouvez appliquer la seconde méthode de contrôle de l’enregistrement « SPF TXT ». Différents sites sur la toile proposent des outils en ligne pour ce faire. Donc, dans un navigateur Web, rendez-vous sur le site « dmarcanalyzer.com » (Il en existe certes d’autres mais celui-là est l’un des plus efficace et complet) Saisissez l’intitulé de votre domaine et après avoir coché la case « Je ne suis pas un robot » et satisfait à l’éventuel Captcha, cliquez sur le bouton « Valider DNS ». Après quelques secondes d’analyse le résultat du contrôle de votre domaine s’affiche. Après le rappel de votre chaîne de paramètres, le détail des @IP autorisées à émettre des eMAILs pour votre domaine vous est présenté. En l’occurrence pour le relais SMTP d’Orange que l’on a indiqué, on a la liste d’@IP suivante : A la suite, on trouve la liste des serveurs MAIL autorisés avec leur @IP : Enfin, on trouve l’enregistrement « SPF TXT » propre aux serveurs d’OVH que l’on a inclus afin de servir de serveurs de secours. Figurent également les @IP de ces serveurs qui sont autorisées à émettre des eMaILs avec/sur votre domaine. A ce stade, vous avez bien évidemment remarqué l’avertissement formulé à propos des serveurs d’OVH et qui soit dit en passant, n’avait pas été relevé lors du contrôle de l’enregistrement « SPF TXT » avec la première méthode précédente (c’est la fameuse nuance suscitée). En fait, cet enregistrement « SPF TXT » pour les serveurs d’OVH n’est pas obsolète. Il est parfaitement fonctionnel et valide, mais l’usage des balises d’instructions « PTR » qu’il fait, est simplement déconseillé au sens de la norme RFC 7208 citée précédemment. Techniquement, le mécanisme est intéressant en soi car il permet une double validation DNS du serveur d'expédition. Mais la résolution inverse pose des problèmes de performances et donc de fiabilité. En clair selon les « initiés » de ce forum, si cela posait vraiment des problèmes de fiabilité, on peut penser qu'OVH aurait déjà rectifié la chose. Et en l’occurrence ce qui n’est pas le cas. Maintenant si vous êtes vraiment gênés par cet avertissement, il existe une parade. Vous pouvez toujours créer un nouvel enregistrement « SPF TXT » dans votre zone DNS en ayant pris soin de remplacer les instructions « ptr » par un « a » et inclure celui-ci dans votre enregistrement « SPF TXT » principal. Ce qui donnerait quelque chose comme cela : ovh.domain.tld 0 TXT "v=spf1 a:mail-out.ovh.net a:mail.ovh.net ip4:8.33.137.105/32 ip4:192.99.77.81/32 ?all" votredomain.tld 0 TXT "v=spf1 mx a:smtp.smtpout.orange.fr include:ovh.domain.tld -all" Néanmoins sachez que le gros inconvénient de cette méthode est qu'elle est statique et donc non viable dans le temps. En effet, l'enregistrement « ovh.domain.tld » sera obsolète dès qu'OVH modifiera son enregistrement « SPF TXT », et cela vous ne pourrez le maîtriser. Au final les « initiés » de ce forum, préconisent de laisser tel quel l’enregistrement « SPF TXT » d'OVH même s'il n'est pas optimal. Je vous invite donc à suivre cette recommandation. De toute façon, on le reverra plus loin (voir § 8.1 ci-dessous) lors des tests de diffusion d’eMAILs avec votre serveur de messagerie « MPS », que ce n’est pas un point bloquant. Toutefois et comme toujours, c’est vous qui voyez … 4.2.4 Ajout d’un enregistrement TXT de type « DKIM » Comme pour l’enregistrement « SPF TXT », il convient aussi de vous expliquer à minima ici de façon rapide et simple (enfin je l’espère !) ce qu’est un enregistrement « DKIM » et à quoi il sert. La bonne compréhension de tous les tenants et aboutissants de cette notion est aussi très importante pour pouvoir ensuite maîtriser votre serveur de messagerie « MPS ». Donc : Domain Keys Identified Mail (DKIM) est l'une des méthodes d'authentification utilisée par les opérateurs de messagerie, permettant de déterminer l'identité d'un expéditeur et donc de l’authentifier. Comme « SPF », « DKIM » est une norme ouverte pour l'authentification des eMAILs utilisée pour ce qu’on appellera plus loin : « l‘alignement DMARC ». L’avantage de « DKIM » est qu’il peut survivre à la transmission, ce qui le rend supérieur à « SPF » et c’est une base pour sécuriser votre eMAIL. Fonctionnement : Les serveurs de MAILs sont configurés pour attacher en en-tête de chaque eMAIL qu’ils envoient, une signature dite « DKIM ». Cette signature « DKIM » contient des informations sur l'expéditeur et le message, nécessaires à la vérification qui sera effectuée en cours de route par les serveurs MAIL qui acheminent les MAILs vers leur destination finale. Cet en-tête de signature « DKIM » qui est ajouté à l'eMAIL, est sécurisé avec une paire de clés publique / privée dites clés « DKIM » et un certificat. La signature « DKIM » agit alors comme un filigrane pour les eMAILs afin que les destinataires de ces eMAILs puissent vérifier que chaque eMAIL provient bien du domaine indiqué et qu'il n'a pas été altéré voire falsifié. Ainsi selon leur propre méthode, les serveurs de MAILs établissent la réputation et la fiabilité d'un expéditeur, augmentant ou diminuant selon, de fait la délivrabilité des eMAILs de ce dernier. Cette signature « DKIM » contient également toutes les informations nécessaires à un serveur de messagerie pour qu’il puisse vérifier que la signature « DKIM » est bien réelle. Le serveur de messagerie d'origine possède ce qu'on appelle la «clé privée», qui peut être vérifiée par le serveur de messagerie ou le FAI récepteur avec l'autre moitié de la paire de clés, qui est appelée la «clé publique». La clé publique figure dans l’enregistrement « DKIM » inclus dans la zone DNS de votre domaine sous forme d’un enregistrement de type « TXT ». Afin de connecter et de déchiffrer ces signatures chiffrées, un « sélecteur DKIM » est utilisé. Le « sélecteur DKIM », tout comme la signature « DKIM », est aussi spécifié dans l'en-tête de l’eMAIL. Il indique où la partie de la clé « publique » de la paire de clés « DKIM » se trouve dans le DNS du domaine concerné. Le serveur MAIL de réception utilise alors le « sélecteur DKIM » pour localiser et récupérer cette clé « publique » afin de vérifier que l’eMAIL est authentique et n’a pas été altéré. Pour mémoire, lors de la pré configuration de votre « MPS » au § 3 ci-dessus, vous avez défini ce « sélecteur DKIM » sous forme d’un « préfixe » afin de pouvoir générer la partie « publique » de votre clé « DKIM ». Sachez qu’en même temps, la partie « privée » de votre clé « DKIM » a aussi été générée et ce de façon complétement transparente pour vous. Elle est stockée dans les arcanes de votre NAS. Je ne saurais vous dire où et peu importe, on n’en a pas besoin dans le cadre de ce tutoriel. Les plus curieux d’entre vous pourront toujours la rechercher mais je doute que cela leur apporte grand-chose … 🤔 Comme vous pouvez le constater, les éléments du puzzle commencent à s’imbriquer progressivement … 😀 Voilà pour les explications contextuelles préalables. Donc dans le cas du présent tutoriel, l’enregistrement « DKIM » sera de la forme et syntaxe suivante : prefixe._domainkey.votredomaine.tld. 0 TXT "v=DKIM1; q=dns; p=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" Où : « v=DKIM1 » : indique la version du protocole DKIM. « q=dns » : indique le type de requête. Ici « dns ». « p= xxxxxx…………xxxxxx » : votre clé « publique » encodée base64. Le problème de la constitution et de la syntaxe de votre enregistrement « DKIM » étant réglé, on va procéder à un contrôle des paramètres de l’enregistrement « DKIM » afin d’être sûr à 100% de sa syntaxe et donc que celle-ci est correcte. Pour ce faire, on va utiliser les services d’un site internet dédié : Dans un navigateur Web, rendez-vous sur le site « dmarcanalyzer.com ». (Le même que précédemment vous l’aurez remarqué …). Saisissez l’intitulé de votre « prefixe » de sélecteur DKIM tel que vous l’avez défini au § 3 ci-dessus. Saisissez l’intitulé de votre domaine et après avoir coché la case « Je ne suis pas un robot » et satisfait à l’éventuel Captcha, cliquez sur le bouton « Valider DNS ». Après quelques secondes d’analyse le résultat du contrôle du dossier « DKIM » de votre domaine s’affiche. Après le rappel de votre chaîne de paramètres, le détail du dossier est présenté. Il vous donne : la longueur de la clé de chiffrement utilisée et une explication de chacune des balises qui ont été utilisées. « Ceci semble être un dossier DKIM valide » Parfait, la syntaxe de votre enregistrement « DKIM » est validée et sans erreur, on va donc pouvoir procéder à la création de ce fameux enregistrement « DKIM » dans la zone DNS de votre domaine chez OVH. Dans la zone DNS de votre domaine, cliquez sur « Ajouter une nouvelle entrée ». Cliquez dans la zone « Champs étendus » sur « TXT ». Saisissez les informations suivantes : Sous-domaine : prefixe._domainkey (bien évidemment et pour rester cohérent, reprenez pour prefixe la valeur que vous aviez choisie précédemment au § 3 ci-dessus, et n’oubliez pas le « . » derrière, c’est important !) TTL : laissez « Valeur par défaut » Valeur : « v=DKIM1; q=dns; p=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx » (sans les guillemets !) en remplaçant xxxxxxxxxxxxxxxxxxxxxxxxxx par la valeur de votre clé « publique » précédemment sauvegardée. ⚠ Pour le coup, soyez très vigilant avec votre Copier/Coller !!! Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS un nouvel enregistrement « TXT » tel que : prefixe._domainkey.votredomaine.tld. 0 TXT "v=DKIM1; q=dns; p=xxxxxxxx…………..xxxxxxxx" 4.2.5 Ajout d’un enregistrement TXT de type « DMARC » Vous l’aurez compris, comme pour les enregistrements « SPF TXT » et « DKIM », il convient aussi de vous expliquer à minima ici toujours de façon rapide et simple (enfin je l’espère !) ce qu’est un enregistrement « DMARC » et à quoi il sert. La bonne compréhension de tous les tenants et aboutissants de cette notion est elle aussi très importante pour pouvoir ensuite maîtriser votre serveur de messagerie « MPS ». Donc : Pour mémoire, l’eMAIL a été initialement créé sans une vraie protection, en se reposant sur le protocole SMTP pour sa diffusion. C’est pour cette raison que l’on a vu apparaître au fil des années, des protections destinées à améliorer la sécurité des échanges en SMTP. Les protocoles « SPF » et « DKIM » vus précédemment en font partie et sont efficaces chacun dans leur domaine. Je vous les rappelle succinctement : « SPF » (Sender Policy Framework) : permet de déclarer les@IP autorisées à envoyer des eMAILs au nom de votre domaine. Il peut, à lui seul, associer un eMAIL à un domaine. « DKIM » (Domain Keys Identified Mail) : permet grâce à une signature cryptographique de s’assurer que le message que vous envoyez/recevez ne va pas se faire altérer en cours de route. Par contre, à lui seul il n'est pas un moyen fiable d'authentifier l'identité de l'expéditeur de l'eMAIL et en plus il ne fait rien pour empêcher l'usurpation d'identité du domaine visible dans l'en-tête de cet eMAIL. En pratique, les protocoles « SPF » et « DKIM » viennent chacun vérifier dans l’entête de l’eMAIL, le « Mailfrom : », i.e. le domaine l’expéditeur extrait à partir de son @MAIL. Cependant, ils ne vont pas inspecter le « From : », qui correspond au vrai expéditeur de l’eMAIL. En fait, ces deux protocoles ne vérifient pas que ces informations concordent, ce qui rend au passage, un possible contournement par des malfaisants. Cela dit, les protocoles « SPF » et « DKIM » restent toutefois et sont deux protocoles de protections indispensables. Pour répondre à cette problématique de possible contournement, il a été mis en place le protocole « DMARC » (Domain-based Message Authentification Reporting and Conformance) qui est lui-même construit sur les protocoles « SPF » et « DKIM ». Sachant que les protocoles « SPF » et « DKIM » peuvent associer un eMAIL à un domaine, le protocole « DMARC » va lui, tenter de lier les résultats des protocoles « SPF » et « DKIM » au contenu de l’eMAIL lui-même et plus précisément au domaine figurant dans la voie de retour (« Return-Path: ») ou dans l'en-tête « From : » de cet eMAIL. C’est ce domaine trouvé dans l'en-tête « From : » qui va être l'entité commune à tous les traitements « DMARC ». Le schéma suivant (extrait de l’entête d’un eMAIL) vous sera peut-être plus parlant : Comme tout le monde peut acheter un domaine et mettre en place des enregistrements « SPF » et « DKIM » dans la zone DNS de son domaine (y compris les malfaiteurs), les résultats du traitement « SPF » et « DKIM » doivent donc être liés au domaine trouvé dans l'en-tête « From : » pour être pertinents pour le protocole « DMARC ». Ce concept de liaison s’appelle « l’alignement d’ identifiants ». Il vient ainsi agir sur les eMAILs là où les protocoles « SPF » et « DKIM » ont échoués. « L'alignement des identifiants » est donc la manière dont les technologies d'authentification existantes sont rendues pertinentes pour le contenu d'un eMAIL. L'alignement des identifiants constitue une grande partie du travail de déploiement de la norme « DMARC ». Ensemble, ces protocoles constituent ainsi la meilleure pratique pour éviter le spoofing d’eMAILs et rendre vos eMAILs plus fiables. Mais attention, le protocole « DMARC » ne fonctionne que si vous avez configuré un enregistrement « SPF » et « DKIM » dans la zone DNS de votre domaine. Fonctionnement : Durant le contrôle « DMARC », le contenu figurant dans le « Mailfrom : », et le « From : » figurants dans l’entête de l’eMAIL, est donc examiné. S’il est différent, alors le protocole « DMARC » peut traiter l’eMAIL de trois manières possibles (appelées aussi « politiques DMARC ») : DMARC policy none : On vient juste surveiller les résultats mais on ne prend aucune mesure concernant ces eMAILs. Vous les recevrez, mais un message sera envoyé à l’administrateur du domaine expéditeur pour le prévenir que l’alignement n’est pas respecté. DMARC policy quarantine : Tous les eMAILs qui échouent au respect des protections, sont mis en quarantaine, ils peuvent être traités ultérieurement. DMARC policy reject : Les eMAILs qui ne passent pas les vérifications de la norme, vont s’annuler directement pour qu’ils ne soient pas envoyés au destinataire. Encore un schéma qui résume bien le processus « DMARC » dans sa globalité : Ainsi, la norme « DMARC » permet de lutter plus efficacement contre le spam et le phishing. Si les renseignements de l’eMAIL respectent les contrôles « SPF » et « DKIM » et respectent l’alignement, alors l’eMAIL passera la protection DMARC. Cette norme est donc indispensable pour assurer une protection optimisée. Voilà pour les explications contextuelles préalables. Donc dans le cas du présent tutoriel, l’enregistrement « DMARC » sera de la forme et syntaxe suivante : _dmarc.votredomaine.tld. 0 TXT "v=DMARC1; p=quarantine; rua=mailto:utilisateurprincipal@votredomaine.tld; ruf=mailto: utilisateurprincipal@votredomaine.tld; fo=1; adkim=s; aspf=s; pct=100; ri=86400; sp=reject" Où : « v=DMARC1 » : indique la version du protocole DMARC. « p=quarantine » : indique la politique à appliquer aux eMAILs qui échouent à la vérification DMARC Ici on souhaite que les eMAIL en échec soient placés en quarantaine afin de pouvoir les examiner. Néanmoins, vous pouvez modifier ce paramètre pour « none » ou « reject » comme expliqué précédemment. C’est vous qui voyez … « rua=mailto :utilsateurprincipal@votredomaine.tld » : indique une liste d’URI (Uniform Ressource Identifier) pour que les FAI envoient des commentaires XML. Vous noterez que ce n’est normalement pas une liste d’@MAIL. DMARC requiert simplement une liste d’URI de la forme «mailto:test@exemple.com». Ici, néanmoins j’ai fait le choix de mettre l’URL de l’utilisateur principal du NAS. Mais cela peut se discuter … « ruf=mailto :utilsateurprincipal@votredomaine.tld » : indique une liste d’URI (Uniform Ressource Identifier) pour que les FAI envoient des rapports légaux. Vous noterez que ce n’est normalement pas une liste d’@MAIL. DMARC requiert simplement une liste d’URI de la forme «mailto:test@exemple.com». Ici, néanmoins j’ai fait aussi le choix de mettre l’URL de l’utilisateur principal du NAS. Mais cela peut se discuter … « fo=1 » : indique de générer des rapports si DKIM ou SPF ne produit pas de résultat de réussite DMARC. Vous pouvez aussi utiliser les valeurs suivantes : « 0 » pour générer des rapports si DKIM et SPF échouent, « d » pour générer des rapports si DKIM a échoué ou « s » si SPF a échoué. C’est vous qui voyez … « adkim=s » : indique le « Mode d’alignement » pour les signatures DKIM, cela peut être « r » (Relâché) ou « s » (Strict). En mode Relâché, les domaines de signature DKIM authentifiés (d=) qui partagent un Domaine Organisationnel avec un domaine « From » d’eMails passeront la vérification DMARC. En mode Strict, une correspondance exacte est requise. Ici le mode strict est retenu. « aspf=s » : indique le « Mode d’alignement » pour SPF, cela peut être « r » (Relâché) ou « s » (Strict). En mode Relâché, également les domaines SPF authentifiés qui partagent un Domaine Organisationnel avec un domaine «From» d’eMAILs passeront la vérification DMARC. En mode Strict, une correspondance exacte est requise. Ici le mode strict est retenu. « pct=100 » : indique aux FAI d’appliquer uniquement la politique DMARC à un pourcentage d’eMAILs défaillants. « pct=50 » indiquera aux récepteurs d’appliquer la politique « p= » seulement 50% du temps contre les emails qui échouent à la vérification DMARC. Notez que ceci ne fonctionnera pas pour la politique « none », mais uniquement pour les politiques « quarantine » ou « reject ». Ici 100% soit tous les eMAILs sont traités. Adaptez la valeur à vos besoins … « ri=86400 » : indique l’intervalle de génération de rapports pour la fréquence à laquelle vous souhaitez recevoir des rapports XML cumulés. Ceci est une préférence et les FAI pourraient (et probablement vont) envoyer le rapport à différents intervalles (normalement ce sera chaque jour). Ici 86400 secondes soit un jour. Adaptez à vos besoins … « sp=reject » : indique la politique qui doit être appliquée aux eMAILs provenant d’un sous-domaine de ce domaine qui échouent à la vérification DMARC. En utilisant cette étiquette, les propriétaires de domaines peuvent publier une politique « générique » pour tous les sous-domaines. Ici on rejette les eMAILS concernés. Le problème de la constitution et de la syntaxe de votre enregistrement « DMARC » étant réglé, on va procéder à un contrôle des paramètres de l’enregistrement « DMARC » afin d’être sûr à 100% de sa syntaxe et donc que celle-ci est correcte. Pour ce faire, on va encore utiliser les services d’un site internet dédié : Dans un navigateur Web, rendez-vous sur le site « dmarcanalyzer.com ». (Encore le même que précédemment, on ne change pas une équipe qui gagne … 🤣) Saisissez l’intitulé de votre domaine et après avoir coché la case « Je ne suis pas un robot » et satisfait à l’éventuel Captcha, cliquez sur le bouton « Valider DNS ». Après quelques secondes d’analyse le résultat du contrôle du dossier « DMARC » de votre domaine s’affiche. Après le rappel de votre chaîne de paramètres, le détail du dossier est présenté. Il vous donne une explication de chacune des balises qui ont été utilisées. Dans le cas présent, le résultat du contrôle vous indique avoir trouvé un problème avec le dossier DMARC : « Info : Nous avons trouvé une adresse personnalisée dans votre dossier DMARC. Veuillez-vous assurer de faire suivre les rapports entrants à votre adresse personnalisée pour voir les statistiques dans . ». Rassurez-vous, cette « anomalie » n’est pas bloquante et vous pouvez considérer la syntaxe de votre enregistrement « DMARC » comme correcte. Un autre contrôle effectué via un autre site dédié tel que « mxtoolbox.com » vous en apportera la preuve si besoin en est. Donc, la syntaxe de votre enregistrement « DMARC » est validée et sans erreur, on va donc pouvoir procéder à la création de ce fameux enregistrement « DMARC » dans la zone DNS de votre domaine chez OVH. Dans la zone DNS de votre domaine, cliquez sur « Ajouter une nouvelle entrée ». Cliquez dans la zone « Champs étendus » sur « TXT ». Saisissez les informations suivantes : Sous-domaine : _dmarc TTL : laissez « Valeur par défaut » Valeur : « v=DMARC1; p=quarantine; rua=mailto:utilisateurprincipal@votredomaine.tld; ruf=mailto: utilisateurprincipal@votredomaine.tld; fo=1; adkim=s; aspf=s; pct=100; ri=86400; sp=reject» (sans les guillemets !) en remplaçant utilisateurprincipal@votredomaine.tld par la valeur d’@MAIL de votre utilisateur principal. Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS un nouvel enregistrement « TXT » tel que : _dmarc.votredomaine.tld. 0 TXT "v=DMARC1; p=quarantine; rua=mailto:utilisateurprincipal@votredomaine.tld; ruf=mailto: utilisateurprincipal@votredomaine.tld; fo=1; adkim=s; aspf=s; pct=100; ri=86400; sp=reject" 4.2.5 Ajout d’un enregistrement TXT de type « CNAME » pour « mail.votredomaine.tld » La configuration décrite ci-après n’est à réaliser que si et seulement si vous souhaitez pouvoir accéder à l’application « MailPlus » depuis l’extérieur (à l’aide de votre reverse proxy) en saisissant un simple « mail.votredomaine.tld » dans un navigateur Web. Elle est parfaitement optionnelle (voir § 7 ci-dessous). Dans la zone DNS de votre domaine, cliquez sur « Ajouter une nouvelle entrée ». Cliquez dans la zone « Champs de pointage » sur « CNAME ». Saisissez les informations suivantes : Sous-domaine : « mail » TTL : laissez « Valeur par défaut » Cible : « votredomaine.tld. » (N’oubliez pas le « . » à la fin, c’est important !) Cliquez sur « Suivant » puis sur « Valider ». Au final, vous devriez alors avoir dans votre zone DNS un nouvel enregistrement « CNAME » tel que : mail.votredomaine.tld. 0 CNAME votredomaine.tld. Voilà, on en a terminé avec la configuration de la « zone DNS » de votre domaine « votredomaine.tld ». Vous pouvez à présent normalement vous déconnecter de votre compte OVH. 5 Finalisation de la configuration de MailPlus Server Maintenant que la partie concernant la « zone DNS » de votre domaine est claire chez OVH, on va reprendre et finaliser la configuration de « MailPlus Sever » (« MPS ») tout en sécurisant ce dernier. Pour ce faire, on va passer en revue chaque section (pas forcément dans leur ordre d’affichage dans l’interface d’administration) pour paramétrer et/ou ajuster ce qui doit l’être dans celles-ci par rapport à la configuration par défaut mise en place automatiquement lors de l’installation du package « MPS ». Notez bien que cette revue de configuration ne va pas non plus, se substituer au guide de l’Administrateur Synology « MPS » qui lui vous fournira tous les détails nécessaires pour toutes les fonctions. Un grand nombre de réglages complémentaires resteront de votre libre arbitre. 5.1 Section « Administration du serveur » Dans notre cas cette section n’a pas d’intérêt. Elle vous permet simplement de consulter le trafic de messagerie entrant/sortant ainsi que l'état du ou des serveurs de votre système de messagerie. 5.2 Section « Surv menace » Dans notre cas cette section n’a pas d’intérêt. Vous y trouverez des statistiques détaillées de divers types, sur les menaces liées aux eMAILs entrants et sortants et leurs sources. Ces informations vous sont présentées sous forme de graphiques clairs. Ainsi leur exploitation vous permettra d’ajuster les paramètres de « MPS » de manière appropriée pour une sécurité optimale. 5.3 Section « Domaine » En principe et dans un premier temps, il n’y a rien de plus à paramétrer dans cette section qui n’ait déjà été fait lors de la phase de pré configuration de « MPS » au § 3 ci-dessus. Par contre dans un second temps, vous pourrez ici ajouter de nouveaux utilisateurs à votre serveur de messagerie en ayant au préalable pris soin de les créer comme utilisateurs locaux de votre NAS avec le même identifiant/pseudo (c’est mieux !). Cela dit, vous pourrez tout aussi bien choisir d’utiliser des utilisateurs issus d’un annuaire Active Directory ou LDAP si votre NAS est associé à l’un d’entre eux. C’est ici aussi que vous pourrez selon vos propres besoins, affiner le paramétrage de chaque utilisateur, créer des alias de regroupement d’utilisateurs (appelées aussi listes de distribution) pour l’émission/réception d’eMAILs ou encore la création de règles BCC (Blind Copy Carbone) automatiques pour par exemple sauvegarder les messages importants et ainsi protéger la confidentialité du destinataire. 5.4 Section « Distribution » Dans cette section on va paramétrer notre « facteur Internet » à savoir le protocole « SMTP » (Simple Mail Transfer Protocol) qui a en charge d’assurer la livraison/distribution des eMAILs entrants et/ou sortants de votre serveur de messagerie. Partie « SMTP » : Normalement, le protocole « SMTP » utilise trois (3) ports de communication pour fonctionner. Dans « MPS », ils sont affichés comme : SMTP (numéro de port: 25), SMTP-SSL (Numéro de port: 465), SMTP-TLS (Numéro de port: 587). Dans le cas du présent tutoriel, l’utilisation du relai SMTP d’Orange nécessite uniquement l’activation des protocoles « SMTP » et « SMPT-TLS ». En conséquence : Cochez uniquement les deux cases correspondantes : « SMTP » et « SMTP-TLS ». Nota 1 : Pour mémoire, l’usage de« SMTP-TLS » nécessite une authentification. Celle-ci sera configurée dans la section « Remise de message » au § 5.5 ci-dessous. Nota 2 : Si vous avez configuré sur votre NAS (« Panneau de configuration DSM / Sécurité / Avancé ») le « Niveau de profil TLS / SSL » sur « Compatibilité moderne » , certains clients de messagerie (par ex., Outlook 2016) peuvent s'avérer incapables d'établir des connexions en raison de ce paramètre. Dans ce cas, pour assurer une meilleure compatibilité avec les clients de messagerie, fixez alors le « Niveau de profil TLS/SSL » à « Compatibilité intermédiaire ». Vérifiez que les affectations de ports correspondantes sont bien respectivement : 25 et 587. Partie « Interface réseau » : Vérifier que l’interface « LAN1 » avec l’@IP de votre NAS (« 1.2.3.4 ») soit sélectionnée. Partie « IMAP/POP3 » : Pour l’exemple de ce tutoriel, comme l’on va faire « simple » en utilisant le client de messagerie « MailPlus » de Synology, l’activation du service POP3 n’est donc pas nécessaire. Toutefois, si vous souhaitez utiliser un client de messagerie « tiers » tel que Microsoft Outlook ou Apple Mail pour récupérer vos MAILs, alors il vous faut cocher la case « Activer POP3 SSL/TLS » pour autoriser une connexion client POP3 protégée (chiffrée) avec SSL/TLS et ainsi permettre à vos utilisateurs d'extraire des eMAILs à partir de « MPS » vers ce client de messagerie. Cochez la case « Activer IMAP SSL/TLS » pour autoriser une connexion client IMAP protégée (chiffrée) avec SSL/TLS et ainsi permettre à vos utilisateurs d'extraire des eMAILs à partir de « MPS » vers le client de messagerie (que vous utilisez) et de gérer leur boîte de MAILs. « Partie recherche en texte intégral » : Cochez cette case pour activer la recherche par mots-clés à l’intérieur de vos eMAILs. C’est une fonction utile mais qui reste cependant une option pour vous. C’est vous qui voyez … Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.5 Section « Remise de message » 5.5.1 Onglet « Général » Pour éviter que n’importe qui utilise votre serveur d’envoi de MAILs, il est nécessaire d’activer « l’authentification SMTP ». De toutes façons, cette activation est aussi implicitement requise du fait de l’usage du protocole « SMTP‑TLS » lui-même imposé par l’usage du serveur relai SMTP d’Orange nécessaire au bon fonctionnement de votre serveur de messagerie. Par ailleurs, les utilisateurs qui ne passent pas l'authentification ne pourront pas transférer leurs eMAILs. Cela empêchera ainsi votre serveur d'être inscrit sur les listes noires. Cochez la case « Activer l’authentification SMTP » Sans les identifiants de connexion, les clients d'un réseau local de « MPS » pourraient recevoir et envoyer directement des eMAILs en utilisant un terminal. Aussi par sécurité, Ignorez l'authentification pour les connexions réseau locales à partir d'un terminal. Ne cochez pas la case « Ignorer l'authentification pour les connexions réseau locales à partir d'un terminal ». Lors de l'envoi d'eMAILs, par sécurité il est préférable d’imposer à l'utilisateur connecté d’utiliser l’@MAIL d'un utilisateur qui appartient au compte de connexion et implicitement on n’ignorera pas la vérification de l’@MAIL de l’expéditeur pour voir s’il appartient au compte de connexion pour les eMAILs envoyés depuis des réseaux fiables. Cochez la case « Vérifier si les adresses e-mails des expéditeurs appartiennent aux comptes de connexion ». Ne cochez pas la case « Ignorer la vérification de l’@MAIL de l’expéditeur … ». Dans « MPS » le nom d'hôte doit être spécifié au format FQDN (« Fully Qualified Domain Name » ou nom de domaine pleinement qualifié, est un nom de domaine qui donne la position exacte de son nœud dans l'arborescence DNS en indiquant tous les domaines de niveaux supérieurs). Dans le cas du présent tutoriel il s’agit simplement de votre nom de domaine « votredomaine.tld ». « Nom d’hôte (FQDN) » : Saisissez « votredomaine.tld » Il est important ici de renseigner le champ « SMTP Banner ». Indépendamment du fait qu’il indique le texte qui s’affichera sur le terminal TELNET d’un client SMTP (information qui peut paraître optionnelle), il concourt à la note finale qui sera donnée à vos envois de MAILs lors du test final que l’on réalisera à l’issue de la configuration de « MPS » (voir § 8.1 ci-dessous). « SMTP Banner » : Saisissez « votredomaine.tld » Vous pouvez laisser tels quels (à leur valeur par défaut) les autres paramètres de nombre et de taille. Vous pouvez aussi les modifier et les adapter à vos besoins si vous savez ce que vous faites. Cliquez sur le bouton « Administrateur externe » Dans la fenêtre qui s’affiche : Cochez la case « Activer l’administrateur externe ». Il vous faut alors désigner un utilisateur (via son @MAIL) qui pourra recevoir les messages système envoyés au démon de messagerie par les administrateurs d'autres serveurs de messagerie. Sélectionnez à l’aide du popup, un utilisateur local. Cliquez sur « OK » pour valider. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.5.2 Onglet « Delivery » Comme je vous l’ai indiqué au point 4 du préambule de ce tutoriel, le serveur SMTP Orange ignore les connexions provenant d'un autre réseau si elles lui arrivent sur le port 25, ce qui donne l’impression que ce port est bloqué. Donc, pour contourner ce pseudo « blocage » du port 25, et c’est l’astuce principale de ce tutoriel, on va donc ici utiliser la particularité de « MPS » qui lui permet d’envoyer des messages via d'autres serveurs de messagerie sans être lui-même exposé à Internet ou à d'éventuelles attaques. On va donc spécifier précisément à « MPS » passer par le serveur SMTP d’Orange pour émettre vos eMAILs. Ainsi, vous n’aurez aucun risque de vous les faire rejeter. Pour ce faire : Sélectionnez l’option « Tous les messages sont envoyés via un unique hôte actif » « Serveur : » : Saisissez « smtp.orange.fr » « Port : » : Saisissez « 587 » Cochez la case : « Authentification requise » « Compte : » :Saisissez « votreidentifiantdeconnexionOrange » « Mot de passe : » : Saisissez « votremotdepassedeconnexionOrange » Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.5.3 Onglet « Relayer le contrôle » Dans notre cas cet onglet n’a pas d’intérêt. Au besoin, à vous de voir quoi en faire … 5.5.4 Onglet « Sécurité » Partie « Listes noires et blanches » : Paramétrez ou non ces listes selon vos éventuels besoins spécifiques. Partie « Stratégie de l’expéditeur » : Ici on va définir certains critères (appelés aussi « politiques ») pour rejeter les eMAILs reçus. Lorsque le nom de domaine de l'expéditeur « MAIL FROM » ne correspondra pas au format FQDN standard fixé par les RFC, les eMAILs seront rejetés. Cochez la case : « Rejeter les expéditeurs sans nom de domaine complet (FQDN) ». Lorsque « MPS » n'est pas le terminal de réception final et que le domaine de l'expéditeur de « MAIL FROM » ne correspond à aucun enregistrement DNS de type « A » ou « MX » ou lorsque l'enregistrement de type « MX » est incorrect, les eMAILs seront rejetés. Cochez la case : « Rejeter les expéditeurs utilisant des domaines inconnus ». Partie « Stratégie de connexion » : Ici on va paramétrer les critères pour rejeter les connexions client ou bloquer les adresses IP en raison d’un trop grand nombre de connexions simultanées, de messages envoyés sur une minute ou de connexions sur une minute au server de messagerie. Cochez la case : « Rejeter les noms d’hôtes de clients inconnus ». Cochez ou non les trois cases suivantes et ajustez les valeurs limites selon vos éventuels besoins spécifiques. Partie « Avancé » : Ici on va ajuster les paramètres de sécurité pour la distribution des eMAILs. Cochez la case : « Rejeter les demandes de conduite non autorisée ». Cochez la case : « Rejeter les noms d’hôtes HELO sans nom de domaine entièrement qualifiés (FQDN) ». Cochez la case : « Rejeter les noms d’hôtes HELO inconnus ». Cochez ou non les deux cases suivantes et ajustez les valeurs limites selon vos éventuels besoins spécifiques. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.6 Section « Sécurité » Cette section est l’une des plus importante pour la mise en place d’une stratégie de sécurisation de votre serveur de messagerie et de ses clients. Toutefois, il convient d’être prudent et de ne pas tout activer immédiatement mais plutôt de procéder par étapes pour obtenir des réglages parfaitement ajustés à vos besoins spécifiques. En effet, des réglages d’emblée trop agressifs pourraient peut-être vous empêcher d’envoyer ou de recevoir des eMAILs de certaines personnes. Ce serait bien dommage et ce n’est pas le but de votre serveur de messagerie … On va donc ici n’activer qu’un minimum de règles d’analyses de vos eMAILs entrants. 5.6.1 Onglet « Spam » Donc à minima on va commencer par activer le moteur anti-spam. Pour mémoire, « MPS » utilise le moteur anti-spam « Rspamd » ainsi que les règles de la base de données « SpamAssassin ». Il filtre le spam en fonction de règles de correspondance du contenu et du seuil de score de spam. Lorsqu'un eMAIL correspond à une règle de détection prédéfinie, un point sera ajouté au score. Les eMAILs dépassant le seuil seront alors marqués comme « spam ». Cochez la case : « Activer le moteur anti-spam (recommandé) ». Modifiez l’intervalle de spam (en jours) ainsi que les paramètres anti-spam selon vos besoins spécifiques. Vous pouvez notamment utiliser « l’auto apprentissage » pour ajuster au mieux le seuil de score de spam. Lors de votre première activation du moteur anti-spam, la base de données des règles anti-spam a besoin d’être mise à jour manuellement. Programmez ensuite sa mise à jour automatique à l’heure de votre choix. Cochez la case : « Automatiquement mettre à jour les règles anti-spam ». Cliquez sur le bouton « Mise à jour manuelle ». L’encart « Information du le moteur » vous affichera par la suite la date de dernière mise à jour. Dans la lutte contre le SPAM il peut être aussi intéressant d’activer la protection postscreen en consultant des serveurs « DNSBL » (« DNS Black Listing ») même si ces derniers sont controversés du fait que leurs critères d’exclusion ne relèvent que de leur seul gestionnaire. Pour mémoire le « DNSBL » est une méthode permettant de consulter une liste noire d'émetteurs d’eMAILs en utilisant le protocole DNS. Aussi soyez vigilant avec l’usage de ce type de serveurs qui peuvent très bien, indépendamment de vous protéger, placer votre serveur de messagerie sur leur liste noire (vous blacklister) et donc vous empêcher d’émettre mais aussi de recevoir des eMAILs. C’est un choix donc à faire de façon très réfléchie. Encore une fois c’est vous qui voyez … Cochez la case : « Activer la protection postscreen contre les spam » et observez le comportement dans le temps et selon, décochez-la si nécessaire ensuite. Cochez ou non la case « Activer la liste grise … » selon vos éventuels besoins spécifiques. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.6.2 Onglet « Antivirus » Partie « Antivirus » : Il va de soi qu’il faut activer le moteur antivirus pour assurer une protection contre les menaces de logiciels malveillants qui auraient été introduits insidieusement dans les eMAILS que vous recevez. Cochez la case : « Activer le moteur antivirus ». Sélectionnez un moteur dans le popup. Pour votre information, « ClamAV » est le système antivirus par défaut de « MPS » et en plus il est gratuit contrairement à « McAfee » qui lui est payant et pour le quel il faut souscrire un abonnement. Le moteur antivirus « ClamAV » utilise des bases de données externes pour améliorer certaines fonctions. Si vous disposez de suffisamment de mémoire installée sur votre NAS, vous pourrez utiliser sans problème la base de données « Google SafeBrowsing » afin de détecter si vos eMAILs contiennent des liens malveillants. Notez qu’il vous est aussi possible d’utiliser d’autres bases de données du même type. Cochez ou non la case « Utiliser la base de données Google SafeBrowsing » selon la capacité mémoire de votre NAS. Lors de votre première activation du moteur antivirus, la base de données des définitions de virus a besoin d’être mise à jour manuellement. Programmez ensuite sa mise à jour automatique à l’heure de votre choix. Cochez la case : « Mettre à jour automatiquement les définitions de virus ». Cliquez sur le bouton « Mise à jour du manuel ». L’encart « Informations système sur le moteur antivirus » vous affichera par la suite la date de dernière mise à jour. Partie « Actions » : Paramétrez ou non ces actions selon vos éventuels besoins spécifiques. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.6.3 Onglet « Authentification » Le paramétrage de cet onglet a déjà été effectué et décrit au § 3 ci-dessus lors de la pré configuration de « MPS ». Il n’y a donc à faire de plus. 5.6.4 Onglet « Analyser le contenu » Partie « Filtre joint » : · Paramétrez ou non ces filtres selon vos éventuels besoins spécifiques. Partie « Analyser le contenu » : Là c’est évident et on n’y va pas par quatre chemins, à moins que vous ne voyiez un inconvénient à cela et donc libre à vous de faire autrement : Cochez les cases de toutes les options. Positionnez tous les popup sur la valeur « Rejeter ». Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.6.5 Onglet « Protection des données » Paramétrez ou non ces options selon vos éventuels besoins spécifiques. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. 5.7 Section « File » Dans notre cas cette section n’a pas d’intérêt. Elle vous permet simplement de vérifier tous les eMAILs en attente d'être envoyés à d'autres serveurs, ou à renvoyer à d'autres serveurs après qu’ils aient été rejetés pour X raisons. 5.8 Section « Audit en cours » Dans notre cas cette section n’a pas d’intérêt. Elle vous permet simplement de visualiser et configurer tous les journaux d’activité de votre serveur de messagerie. Vous y verrez tous les mails passant par votre serveur. Ces journaux vous permettront de comprendre les éventuels problèmes que vous pourriez rencontrer et ainsi de leurs trouver une solution. Vous pourrez également y générer, selon vos besoins, des rapports statistiques d’utilisation du serveur « MPS ». 5.9 Section « Licence » Dans notre cas cette section n’a pas d’intérêt. Elle vous permet simplement de visualiser le nombre de licences i.e. le nombre d’@MAILs que vous pouvez utiliser. C’est dans cette section que vous pourrez ajouter des licences supplémentaires le cas échéant. Par défaut vous y retrouvez les cinq (5) licences gratuites associées à « MPS ». « MPS » synchronise automatiquement l'état de vos licences avec votre compte Synology. Sachez aussi les restrictions/contraintes liées à l’usage de ces clés : Une clé de licence ne peut être appliquée qu’à un seul serveur DSM à la fois. Une clé de licence ne peut être distribuée ni fournie à un tiers. Si la clé de licence n’est pas activée et qu’elle est perdue, Synology ne vous fournira aucune clé de rechange. La clé de licence et les informations de votre NAS (N° de série, @MAC et nom de modèle) sont envoyées à Synology pour validation. 5.10 Section « Compte » Avant d’utiliser pleinement « MPS », vous devez activer les comptes utilisateurs locaux à DSM qui utiliseront votre service de messagerie. Mais avant, il est nécessaire de leur donner au préalable un certain nombre de droits sur les applications « MPS » et « MailPlus », mais aussi sur le répertoire partagé qui contiendra vos boites MAIL (« Volume1/MailPlus »), faute de quoi votre utilisateur ne pourra ni envoyer ni recevoir de MAILs : Sur votre NAS Synology, rendez-vous dans DSM :« Panneau de configuration / Utilisateur ». Créez un nouvel utilisateur OU sélectionnez et modifiez un utilisateur existant (pour l’exemple ici « oracle7 »). Dans l’onglet « Permissions », dans la colonne « Lecture/écriture » cochez la case en regard correspondante de « MailPlus ». Cliquez sur le bouton « OK » pour sauvegarder vos choix. Dans l’onglet « Applications », dans la colonne « Autoriser » cochez la case en regard correspondante à « MPS » et celle correspondante à « MailPLus ». Cliquez sur le bouton « OK » pour sauvegarder vos choix. On peut maintenant effectivement activer l’utilisateur. Pour cela : Rendez-vous dans « MPS » section « Compte » onglet « Utilisateur ». Dans la colonne « Activer » cochez la case en regard correspondante de votre utilisateur. Cliquez sur le bouton « Appliquer » pour sauvegarder vos choix. Reproduisez la présente procédure pour chacun de vos utilisateurs en veillant bien à ne pas configurer plus d’utilisateurs que vous ne disposez de licences valides. De toutes façons, si vous dépassez le nombre d’utilisateurs possibles, les opérations de l'interface utilisateur de « MPS » seront restreintes et les services relatifs à la sécurité stoppés, tant que vous n'aurez pas suffisamment de clés de licence valides dans votre système de messagerie. Eh eh, ils ne sont pas idiots chez Synology … 😊 Nota : En matière de sécurité des comptes utilisateurs de « MPS », je vous renvoie vers le Tutoriel « [TUTO] MailPlus Server DSM6 » de @UnPixel qui propose une stratégie très intéressante (couplet en bleu dans le texte). Je ne vais pas vous la décrire ici mais je vous invite à la consulter voire même de l’appliquer. Pour mémoire, pour le présent tutoriel j’ai joué la carte de la simplicité en adoptant le même nom (identifiant) pour le compte eMAIL que celui-ci utilisé pour l’utilisateur local du NAS. A vous de voir et d’adapter le paramétrage des utilisateurs selon vos besoins spécifiques … Par ailleurs, si vous appliquez cette stratégie, veillez à rester cohérent avec les dispositions décrites au §4.1 ci-dessus pour la création d’une @MAIL dite de secours chez OVH. Sinon cela marchera beaucoup moins bien … 5.11 Section « Personnel » Dans notre cas cette section n’a pas d’intérêt. Elle vous permet simplement de paramétrer les options liées au transfert d’eMAILs et de réponse automatique lors de la réception de ces deniers. 6 Configuration du pare-feu du NAS et de la Box/Routeur Encore une dernière chose à paramétrer et on en aura terminé pour la configuration. En effet, pour que tous ce qui précède fonctionne correctement sans blocages, il est nécessaire d’ouvrir les ports de communication adéquats sur votre NAS ainsi que sur la Box/Routeur. Vous l’aurez sûrement deviné et compris, il s’agit d’ouvrir respectivement des ports 25 (« SMTP »), 587 (« SMPTP-TLS ») et 993 (« IMAP SSL/TLS »). Pour cela : 6.1 Pare-feu du NAS Sur votre NAS Synology, rendez-vous dans DSM :« Panneau de configuration / Sécurité / Pare-feu ». Sélectionnez votre profil actif de pare-feu et cliquez sur le bouton « Modifier les règles ». Normalement, avec l’installation de « MPS » une règle intitulée « MailPlus Server » a déjà été créée dans le pare-feu. Sélectionnez cette règle et cliquez sur le bouton « Modifier » ou 2xCliquez sur celle-ci. Dans la nouvelle fenêtre, pour la partie « Ports », cliquez sur le bouton « Sélectionner » en regard de l’item « Sélectionner dans une liste d’applications intégrées ». Assurez-vous que les lignes correspondantes des ports 25, 587 et 993 pour l’application « MPS » sont bien activées (case cochée). Nota : Si vous utilisez un autre client MAIL que « MailPlus », et que celui-ci utilise le protocole « POP3 » pour récupérer les eMAILS, il vous faudra sans doute activer aussi les lignes correspondantes pour les ports 110 (« POP3 ») et 995 (« POP3 SSL/TLS »). Référez-vous au manuel de ce client MAIL pour plus de détails. Cliquez sur le bouton « OK » pour sauvegarder vos choix. 6.2 Pare-feu de la Box/Routeur 6.2.1 Cas de la LiveBox Si votre NAS est directement connecté derrière votre LiveBox : Connectez-vous à l’interface d’administration de la LiveBox en saisissant dans un navigateur Web l’URL : http://192.168.1.1. Rendez-vous dans le menu « Réseau » / onglet « NAT/PAT » et créez les trois (3) règles de transfert de ports suivantes : 6.2.2 Cas d’un routeur Synology Si votre NAS est directement connecté derrière votre Routeur Synology : Connectez-vous à l’interface d’administration du routeur en saisissant dans un navigateur Web l’URL : http://routeur.synology.com ou en saisissant directement son @IP comme URL. Rendez-vous dans le menu « Centre réseau » / Section « Transmission de port » et créez les trois (3) règles de transmission de ports suivantes : Nota : On ne crée pas ces règles directement dans le pare-feu car il n’y a pas besoin de leur affecter une quelconque localisation. 7 Configurer le Reverse Proxy sur le NAS C’est la dernière opération de configuration mais qui reste optionnelle (d’autant plus si vous n’avez pas déjà configuré votre Reverse proxy). On va donc ici configurer une redirection du domaine de second rang « mail.votredomaine.tld » vers l’application « MailPlus ». Ainsi depuis l’extérieur, il vous sera facile d’accéder à cette l’application pour consulter et gérer tous vos eMAILs et ce à partir d’un navigateur Web en saisissant simplement : « mail.votredomaine.tld ». Pour ce faire, suivez ces deux étapes : 7.1 Configurer la zone DNS chez OVH Cette opération est décrite au § 4.2.6 ci-dessus. 7.2 Configurer le Reverse Proxy sur le NAS Sur votre NAS Synology, rendez-vous dans DSM :« Panneau de configuration / Portail des applications » o Rendez-vous sur l’onglet « Application ». o Sélectionner la ligne « MailPlus » et 2xCliquez sur celle-ci OU Cliquez sur le bouton « Modifier ». o Une fenêtre « Règles d’accès aux applications » s’ouvre. o Dans l’onglet « Général » : ▪ Cochez la case « Activer un alias personnalisé ». ▪ Cochez la case « Activer un port personnalisé (HTTP) ». ▪ Saisissez les informations suivantes : * « Alias: » : mail * « Port: » : 21680 ▪ Dans les deux cas une URL de connexion à utiliser vous est indiquée. Respectivement : * https://votreNAS.votredomaine.tld/mail/ * http://votreNAS.votredomaine.tld:21680 o Cliquez sur « OK » pour valider. Sur votre NAS Synology, rendez-vous dans DSM :« Panneau de configuration / Portail des applications / Application ». o Rendez-vous sur l’onglet « Proxy inversé ». o Cliquez sur le bouton « Créer » o Une fenêtre « Règles de proxy inversé » s’ouvre. o Dans l’onglet « Général » : ▪ Saisissez les informations suivantes : ⚠Saisissez bien les informations, les champs paraissent déjà renseignés mais en fait ce n’est que de l’affichage ! Si vous validez sans faire de saisie effective, ces champs ne seront pas renseignés. * « Description: » : MAIL Partie « Source » : * « Protocole: » : sélectionnez dans le popup l’item « HTTPS » * « Nom d’hôte: » : mail.votredomaine.tld * « Port: » : 443 * Cochez la case « Activer HTTP/2 ». Partie « Destination » : * « Protocole: » : sélectionnez dans le popup l’item « HTTP » * « Nom d’hôte: » : localhost * « Port: » : 21680 o Cliquez sur « OK » pour valider. 8 Contrôle des eMAILs de votre serveur de messagerie Votre serveur de messagerie basé sur « MPS » est maintenant configuré et opérationnel. On va donc contrôler que les eMAILs que vous allez envoyer sont corrects et qu’ils ne risquent pas d’être considérés comme du SPAM par les serveurs de messagerie institutionnels. On contrôlera également la bonne réception des eMAILs qui vous seront destinés. 8.1 Contrôle de l’envoi Pour réaliser ce contrôle d’indésirabilité de vos eMAILs, on va utiliser les services du site « mail-tester.com ». Mais avant d’utiliser les services de ce site, il vous faut savoir ceci : « Mail-tester.com » ne vous offre en tout et pour tout, le droit d’exécuter que trois (3) tests par jour. Au-delà, si vous voulez en faire plus, il vous faudra passer à la caisse ! Donc soyez parcimonieux dans son usage sinon il vous faudra prendre votre mal en patience pour rester dans le domaine du gratuit … Donc, pour tester vos eMAILs, c’est on ne peut plus simple : Copiez l‘URL qui vous est proposée en page d’accueil de « mail-tester.com ». Rendez-vous sur l’application « MailPlus » et ouvrez celle-ci depuis le bureau de DSM sur le NAS ou si vous avez mis en place le reverse proxy : tapez l’URL « mail.votredomaine.tld » dans un navigateur Web sur votre PC/Mac. Cliquez sur le bouton « Rédiger » pour créer un nouvel eMAIL. Collez l’URL de test dans la zone « A : » Saisissez un texte quelconque pour l’objet de l’eMAIL. Veillez à ne pas être trop succinct car cela pourrait affecter votre note finale. Saisissez un texte consistant dans le corps de texte de l’eMAIL. Idem veillez à ne pas être trop succinct car cela pourrait aussi affecter votre note finale. Cliquez sur le bouton « Envoyer ». Revenez sur la page de « mail-tester.com » dans votre navigateur Web. Attendez 2 à 3 secondes (le temps que l'eMAIL arrive) et cliquez sur le bouton « Ensuite, vérifier votre Score ». Et là c’est tout bon ou tout mauvais … Le résultat des différents tests réalisés par « mail-tester.com » sur votre eMAIL s’affichent avec votre note obtenue. Si vous avez suivi correctement le paramétrage que je vous ai indiqué au cours du présent tutoriel, vous devriez normalement obtenir une note de 10/10. Si ce n’est pas le cas, c’est que vous avez raté quelque chose quelque part ! A vous d’analyser le problème … Heureusement pour vous, le compte-rendu produit par « mail-tester.com » est très explicite et très bien fait. L’analyse attentive de ce compte-rendu (développez chaque item pour en consulter le détail) devrait vous donner toutes les pistes à suivre pour corriger les problèmes relevés. Cela dit, même avec une note de 10/10, tout ne sera pas passé au « vert ». Il restera certains contrôles marqués en « orange » mais qui ne sont pas bloquants pour la suite. Typiquement, le compte-rendu vous annoncera que : « Vous n’êtes pas parfaitement authentifié » « Votre message pourrait être amélioré » Donc si vous développez chacun de ces deux items pour de plus amples détails, vous constaterez : Pour le premier Item : « Votre reverse DNS ne correspond pas avec votre domaine d’envoi » : Comme je vous l’ai expliqué au point 3 ci-dessus du préambule, il faudrait pouvoir paramétrer le « rDNS » d’Orange et c’est impossible. Donc, vis à vis de ce message d’« erreur » qui finalement n’impacte pas la note finale du test, on s’en tiendra là mais sans l’ignorer toutefois. Pour le second item : « Votre message ne contient pas d'en-tête List-Unsubscribe » : Je n’ai pas trouvé (peut-être mal cherché aussi) dans la documentation ni dans l’interface de « MPS » un quelconque moyen d’introduire cet « entête List-Unsubscribe » (à moins qu’un « Initié » ne sache). Donc, vis à vis de ce message d’« erreur » qui finalement n’impacte pas non plus la note finale du test, on s’en tiendra aussi là. 8.2 Contrôle de la réception Pour contrôler la réception de vos eMAILs, il suffit de demander à des personnes ayant un compte chez les principaux FAI institutionnels, de vous adresser un eMAIL (à « utilisateurprincipal@votredomaine.tld ») et de constater ou non la bonne réception de cet eMAIL. Dans le cas d’une non réception (ce qui serait tout de même étonnant si vous avez suivi correctement le présent tutoriel), vous pouvez toujours commencer par vérifier que votre serveur de messagerie n’est pas tout simplement quelque part sur liste noire. Pour cela, consultez notamment le site « spamhaus.org » en testant tour à tour votre « @IP externe » et votre « domaine.tld ». Vous saurez immédiatement si vous êtes ou non sur une liste noire quelque part. A vous alors, de vous rendre sur le site en question, pour trouver la procédure spécifique qui vous fera faire sortir de leur liste noire. ⚠Pour être totalement honnête, il vous faut savoir qu’il se produit parfois d’une façon encore inexpliquée à la date de la présente rédaction, une activation des serveurs de secours d’OVH que je qualifierai d’intempestive. Cette « anomalie », ayant été récemment relevée par quelques « initiés », a pour conséquence que les eMAILS, ayant pour origine certains FAI, ne sont pas récupérés sur la boite MAIL de votre utilisateur « principal » par votre serveur de messagerie. Rassurez-vous, ces eMAILs qui vous étaient destinés, ne sont pas perdus ! Les serveurs d’OVH que l’on utilise normalement en secours, ont simplement pris la main et ont redirigé ces eMAILS vers la boîte MAIL dite de secours que l’on a configurée à cet effet chez OVH (comme quoi cette fonction de secours que l’on a mise en place, fonctionne bien !). Sachez que vous pourrez donc toujours consulter et gérer ces eMAILs, mais pour cela, il vous faudra vous connecter à votre compte OVH. Il est vrai que cela pourrait vite devenir une contrainte si l’on ne trouve pas une solution à ce problème (on y travaille …). Par ailleurs et bien heureusement, le problème ne concerne que quelques FAI (ce qui est étonnant, c’est que ce n’est pas forcément les mêmes FAI d'un utilisateur à l'autre), ce qui en soi, est un moindre mal et donc heureusement pas totalement bloquant, si je peux m’exprimer ainsi. J’espère toutefois que la connaissance de cette anomalie, ne « refroidira » pas certains dans leur volonté d’appliquer le présent tutoriel pour mettre en place leur propre serveur de messagerie. Forcément, une solution sera trouvée à terme … Voilà c’est fini ! Vous pouvez souffler. Cela a été un peu long mais avec un minimum d’attention cela ne devrait pas vous avoir posé de problèmes. Beaucoup d’explications vous ont été fournies à propos des différents concepts abordés. J’espère en cela ne pas avoir été trop confus mais surtout que vous aurez bien pris le temps de toutes les lire et de les assimiler ! J’estime personnellement que c’est un passage obligé pour que vous compreniez parfaitement ce que vous faites et à terme que vous maîtrisiez votre serveur de messagerie. Remplir les cases « bestialement » ne vous aurait rien apporté au bout du compte si ce n’est des messages d’erreurs et une sérieuse prise de tête pour les résoudre. C’est quelque part le prix à payer pour être vraiment autonome de ce point de vue. Maintenant vous êtes seul propriétaire de vos choix et décisions … Ce tutoriel n’est jamais qu’un guide pour vous aider à configurer « MPS », mais comme vous avez pu le constater, il vous laisse souvent et largement toute la latitude nécessaire pour répondre à vos propres besoins spécifiques. Sachez enfin que depuis que j’ai mis en place cette configuration (cela fait bientôt 3 mois), je n’ai eu à faire à AUCUN problème d’eMAIL spammé et/ou d’@IP blacklistée pour le serveur de MAILs. Je dispose donc, comme vous maintenant, de mon propre système de messagerie et cela en totale autonomie. Donc pour moi le but initial, de ce point de vue ainsi que sur l’aspect technique avec cette contrainte initiale d’@IP externe « dynamique », est atteint et c’est le plus important 😊😊😊 Le fichier « .pdf » de ce tutoriel : [TUTO] Configuration MailPlusServer avec une @IP dynamique_20200616.pdf Bien évidemment, je prendrais en compte toutes remarques et suggestions visant à corriger si besoin mais surtout à améliorer ce tutoriel. MERCI de vos retours ... Cordialement Oracle7😉1 point
-
Je trouve ça quand même étrange l'erreur sur l'appel à la fonction map. Est-ce que tu as essayé de retélécharger le fichier geoip2.conf depuis le github de SWAG, pour vérifier qu'un caractère interdit ne s'est pas glissé dans le fichier quelque part. Tu peux utiliser la commande diff sous Linux entre deux fichiers pour comparer leurs différences.1 point
-
La seule clé que j'ai c'est celle de MaxMind, et elle est passée en tant que variable d'environnement dans le fichier compose pour SWAG. Pour le reste je peux regarder d'ici peu, là je n'ai pas de PC avec moi.1 point
-
Ah ok 😉 Sinon aucun problème de mon côté non plus. Une sauvegarde par semaine, pas plus, je n’ai rien sur mon mac 😅1 point
-
@CHILLY996 Si ça peut aider : Moi j'ai ajouté une règle personnalisée dans le fichier général geoip2.conf : map $geoip2_data_country_iso_code $allowed_frbe { default no; BE yes; FR yes; } Puis j'ai créé un fichier geoip2_frbe.conf, avec ce contenu : ## Allow FR-BE # By-pass for RFC1918 private subnets if ( $lan-ip = yes ) { set $allowed_frbe yes; } # Block everything else if ( $allowed_frbe = no ) { return 403; } Puis dans les entrées de proxy inversé pour lesquelles je veux avoir un géo-blocage pour mon VPS : [...] # enable for ldap auth, fill in ldap details in ldap.conf #include /config/nginx/ldap.conf; # enable GeoIP bloking include /config/nginx/geoip2_frbe.conf; # enable for Authelia include /config/nginx/authelia-server.conf; [...]1 point
Ce classement est défini par rapport à Bruxelles/GMT+01:00