Android

Installer et intégrer rspamd

Installer et intégrer Pamac manuellement dans la ArchLabs 17.10.

Installer et intégrer Pamac manuellement dans la ArchLabs 17.10.

Table des matières:

Anonim

Il s'agit de la troisième partie de notre installation et configuration d'un serveur de messagerie. Dans ce tutoriel, nous allons passer par l'installation et la configuration du système de filtrage de spam Rspamd et son intégration dans notre serveur de messagerie, en créant des enregistrements DNS DKIM et DMARC.

Vous pouvez vous demander pourquoi choisissons-nous d'aller avec Rspamd et non avec Spamassassin. Rspamd est plus activement maintenu et écrit en C et il est beaucoup plus rapide que Spamassassin qui est écrit en Perl. Une autre raison est que Rspamd est livré avec un module de signature DKIM, nous n'aurons donc pas à utiliser un autre logiciel pour signer nos e-mails sortants.

Conditions préalables

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec les privilèges sudo.

Installer Redis

Redis sera utilisé comme système de stockage et de mise en cache par Rspamd, pour l'installer il suffit de lancer:

sudo apt install redis-server

Installer non lié

Unbound est un résolveur DNS de validation, récursif et de mise en cache très sécurisé.

L'objectif principal de l'installation de ce service est de réduire le nombre de requêtes DNS externes. Cette étape est facultative et peut être ignorée.

sudo apt update sudo apt install unbound

Les paramètres non liés par défaut devraient être suffisants pour la plupart des serveurs.

Pour définir non lié comme résolveur DNS principal de votre serveur, exécutez les commandes suivantes:

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Si vous n'utilisez pas resolvconf vous devez modifier le fichier /etc/resolv.conf manuellement.

Installer Rspamd

Nous installerons la dernière version stable de Rspamd à partir de son référentiel officiel.

Commencez par installer les packages nécessaires:

sudo apt install software-properties-common lsb-release sudo apt install lsb-release wget

Ajoutez la clé GPG du référentiel à votre trousseau de clés sources apt à l'aide de la commande wget suivante:

wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -

Activez le référentiel Rspamd en exécutant:

echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list

Une fois le référentiel activé, mettez à jour l'index du package et installez Rspamd à l'aide des commandes suivantes:

sudo apt update sudo apt install rspamd

Configurer Rspamd

Au lieu de modifier les fichiers de configuration d'origine, nous créerons de nouveaux fichiers dans le répertoire /etc/rspamd/local.d/local.d/ qui écraseront le paramètre par défaut.

Par défaut, normal worker de Rspamd, le travailleur qui analyse les messages électroniques écoute sur toutes les interfaces sur le port 11333. Créez le fichier suivant pour configurer le travailleur normal de Rspamd pour écouter uniquement l'interface localehost:

/etc/rspamd/local.d/worker-normal.inc

bind_socket = "127.0.0.1:11333";

Le proxy worker écoute sur le port 11332 et prend en charge le protocole milter. Pour que Postfix communique avec Rspamd, nous devons activer le mode milter:

/etc/rspamd/local.d/worker-proxy.inc

bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }

Ensuite, nous devons définir un mot de passe pour le serveur de controller worker du controller worker qui donne accès à l'interface Web Rspamd. Pour générer un mot de passe chiffré exécuté:

rspamadm pw --encrypt -p P4ssvv0rD

La sortie devrait ressembler à ceci:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb N'oubliez pas de changer le mot de passe ( P4ssvv0rD ) en quelque chose de plus sécurisé.

Copiez le mot de passe de votre terminal et collez-le dans le fichier de configuration:

/etc/rspamd/local.d/worker-controller.inc

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Plus tard, nous configurerons Nginx en tant que proxy inverse sur le serveur Web du contrôleur de travail afin que nous puissions accéder à l'interface Web Rspamd.

Définissez Redis comme backend pour les statistiques Rspamd en ajoutant les lignes suivantes au fichier classifier-bayes.conf :

/etc/rspamd/local.d/classifier-bayes.conf

servers = "127.0.0.1"; backend = "redis";

Ouvrez le fichier milter_headers.conf et définissez les en-têtes milter:

/etc/rspamd/local.d/milter_headers.conf

use =;

Vous pouvez trouver plus d'informations sur les en-têtes plus légers ici.

Enfin, redémarrez le service Rspamd pour que les modifications prennent effet:

sudo systemctl restart rspamd

Configurer Nginx

Dans la première partie de cette série, nous avons créé un bloc serveur Nginx pour l'instance PostfixAdmin.

Ouvrez le fichier de configuration Nginx et ajoutez la directive d'emplacement suivante, celle surlignée en jaune:

/etc/nginx/sites-enabled/mail.linuxize.com.conf

… location /rspamd { proxy_pass http://127.0.0.1:11334/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }…

Rechargez le service Nginx pour que les modifications prennent effet:

sudo systemctl reload nginx

rspamadm pw -vous sur https://mail.linuxize.com/rspamd/ , entrez le mot de passe que vous avez généré précédemment à l'aide de la commande rspamadm pw et vous serez présenté avec l'interface Web Rspamd.

Configurer Postfix

Nous devons configurer Postfix pour utiliser le milter Rspamd.

Exécutez la commande suivante pour mettre à jour le fichier de configuration principal de Postfix:

sudo postconf -e "milter_protocol = 6" sudo postconf -e "milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}" sudo postconf -e "milter_default_action = accept" sudo postconf -e "smtpd_milters = inet:127.0.0.1:11332" sudo postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"

Redémarrez le service Postfix pour que les modifications prennent effet:

sudo systemctl restart postfix

Configurer Dovecot

Nous avons déjà installé et configuré Dovecot dans la deuxième partie de cette série et maintenant nous allons installer le module de filtrage de sieve et intégrer Dovecot à Rspamd.

Commencez par installer le module de filtrage Dovecot:

sudo apt install dovecot-sieve dovecot-managesieved

Une fois les packages installés, ouvrez les fichiers suivants et modifiez les lignes surlignées en jaune.

/etc/dovecot/conf.d/20-lmtp.conf

… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins sieve }… /etc/dovecot/conf.d/20-imap.conf

… protocol imap {… mail_plugins = $mail_plugins imap_quota imap_sieve… }… /etc/dovecot/conf.d/20-managesieve.conf

… service managesieve-login { inet_listener sieve { port = 4190 }… }… service managesieve { process_limit = 1024 }… /etc/dovecot/conf.d/90-sieve.conf

plugin {… # sieve = file:~/sieve;active=~/.dovecot.sieve sieve_plugins = sieve_imapsieve sieve_extprograms sieve_before = /var/mail/vmail/sieve/global/spam-global.sieve sieve = file:/var/mail/vmail/sieve/%d/%n/scripts;active=/var/mail/vmail/sieve/%d/%n/active-script.sieve imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/var/mail/vmail/sieve/global/report-spam.sieve imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/var/mail/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe…. }

Enregistrez et fermez les fichiers.

Créez un répertoire pour les scripts sieve:

mkdir -p /var/mail/vmail/sieve/global

Créez un filtre tamis global pour déplacer les e-mails marqués comme spam dans le répertoire Spam :

/var/mail/vmail/sieve/global/spam-global.sieve

require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }

Les deux scripts Sieve suivants seront déclenchés chaque fois que vous déplacez un e-mail dans ou hors du répertoire Spam :

/var/mail/vmail/sieve/global/report-spam.sieve

require; pipe:copy "rspamc"; /var/mail/vmail/sieve/global/report-ham.sieve

require; pipe:copy "rspamc";

Redémarrez le service Dovecot pour que les modifications prennent effet:

sudo systemctl restart dovecot

Compilez les scripts de tamis et définissez les autorisations appropriées:

sievec /var/mail/vmail/sieve/global/spam-global.sieve sievec /var/mail/vmail/sieve/global/report-spam.sieve sievec /var/mail/vmail/sieve/global/report-ham.sieve sudo chown -R vmail: /var/mail/vmail/sieve/

Créer des clés DKIM

DomainKeys Identified Mail (DKIM) est une méthode d'authentification par courrier électronique qui ajoute une signature cryptographique aux en-têtes des messages sortants. Il permet au destinataire de vérifier qu'un e-mail prétendant provenir d'un domaine spécifique a bien été autorisé par le propriétaire de ce domaine. L'objectif principal est d'empêcher les messages électroniques falsifiés.

Nous pouvons avoir différentes clés DKIM pour tous nos domaines et même plusieurs clés pour un seul domaine, mais pour simplifier cet article, nous allons utiliser une seule clé DKIM qui pourra plus tard être utilisée pour tous les nouveaux domaines.

Créez un nouveau répertoire pour stocker la clé DKIM et générez une nouvelle paire de clés DKIM à l'aide de l'utilitaire rspamadm :

sudo mkdir /var/lib/rspamd/dkim/ rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub

Dans l'exemple ci-dessus, nous utilisons le mail comme sélecteur DKIM.

Vous devriez maintenant avoir deux nouveaux fichiers dans le répertoire /var/lib/rspamd/dkim/ , mail.key qui est notre fichier de clé privée et mail.pub un fichier qui contient la clé publique DKIM. Nous mettrons à jour nos enregistrements de zone DNS plus tard.

Définissez la propriété et les autorisations appropriées:

sudo chown -R _rspamd: /var/lib/rspamd/dkim sudo chmod 440 /var/lib/rspamd/dkim/*

Maintenant, nous devons dire à Rspamd où chercher la clé DKIM, le nom du sélecteur et la dernière ligne permettront la signature DKIM pour les adresses d'expéditeur d'alias. Pour ce faire, créez un nouveau fichier avec le contenu suivant:

/etc/rspamd/local.d/dkim_signing.conf

selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;

Rspamd prend également en charge la signature des signatures ARC (Authenticated Received Chain). Vous pouvez trouver plus d'informations sur la spécification ARC ici.

Rspamd utilise le module DKIM pour traiter les signatures ARC afin que nous puissions simplement copier la configuration précédente:

sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf

Redémarrez le service Rspamd pour que les modifications prennent effet:

sudo systemctl restart rspamd

Paramètres DNS

Nous avons déjà créé une paire de clés DKIM et nous devons maintenant mettre à jour notre zone DNS. La clé publique DKIM est stockée dans le fichier mail.pub . Le contenu du fichier devrait ressembler à ceci:

cat /var/lib/rspamd/dkim/mail.pub

mail._domainkey IN TXT ("v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4yl" "nVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB");

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB

Nous allons également créer une authentification de message basée sur le domaine ( DMARC ) qui est conçue pour indiquer au serveur de réception d'accepter ou non un e-mail d'un expéditeur particulier. Fondamentalement, cela protégera votre domaine contre l'usurpation de domaine directe et améliorera la réputation de votre domaine.

nous mettrons en œuvre la politique DMARC suivante:

_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"

Décomposons le record DMARC ci-dessus:

  • v=DMARC1 - Ceci est l'identifiant DMARC p=none - Ceci indique au récepteur quoi faire avec les messages qui échouent DMARC. Dans notre cas, il est défini sur none, ce qui signifie qu'aucune action n'est nécessaire si un message échoue DMARC. Vous pouvez également utiliser `` rejeter '' ou quarantine adkim=r et aspf=r - alignement DKIM et SPF , r pour Relaxed et s pour Strict, dans notre cas, nous utilisons l'alignement relaxé pour DKIM et SPF.

Comme précédemment si vous exécutez votre propre serveur DNS Bind, il vous suffit de copier et coller l'enregistrement dans votre fichier de zone de domaine, et si vous utilisez un autre fournisseur DNS, vous devez créer un enregistrement TXT avec _dmarc comme nom et v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; comme valeur / contenu.

La propagation des modifications DNS peut prendre un certain temps. Vous pouvez vérifier si les enregistrements se sont propagés à l'aide de la commande dig:

dig mail._domainkey.linuxize.com TXT +short

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGa" "VuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFdepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB"

dig _dmarc.linuxize.com TXT +short

"v=DMARC1; p=none; adkim=r; aspf=r;"

Vous pouvez également inspecter la politique DMARC actuelle de votre domaine ou créer votre propre politique DMARC ici.

Conclusion

C'est tout pour cette partie du tutoriel. Dans la prochaine partie de cette série, nous poursuivrons l'installation et la configuration de RoundCube.

serveur de messagerie postfix dovecot dns rspamd

Ce message fait partie de la série Installation et configuration d'une serveur de messagerie.

Autres articles de cette série:

• Configurer un serveur de messagerie avec PostfixAdmin • Installer et configurer Postfix et Dovecot • Installer et intégrer Rspamd • Installer et configurer Roundcube Webmail