GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Postfix de renforcement pour ISPConfig 3

Suffixe renforcé pour ISPConfig 3

Auteur :Jesús Córdoba
E-mail :j.cordoba [at] gmx [dot] net
Utilisateur du forum :pititis

Version :1.2

L'objectif de ce didacticiel est de renforcer le suffixe de serveur de messagerie utilisé par ISPConfig pour les serveurs de messagerie Internet où les utilisateurs authentifiés sont approuvés. Avec cette configuration, vous rejeterez une grande quantité de spam avant qu'il ne passe dans votre file d'attente de messagerie, ce qui économisera beaucoup de ressources système et renforcera votre serveur de messagerie contre les spammeurs et les botnets de spam.Allons-y.

DNS inversé, (enregistrement DNS PTR)

Pour mettre en place des rdns vous rencontrerez deux situations :

- Votre FAI vous permet de le changer vous-même. Jetez un œil dans votre panneau de contrôle.

- Votre FAI ne vous permet pas de le changer. Envoyez simplement un e-mail avec votre demande.

Demandez ou faites pointer votre enregistrement rdns vers votre serveur. c'est-à-dire server.example.comVous pouvez vérifier votre rdns avec la commande host :
[email protected] / #  host 149.20.4.69
  69.64-27.4.20.149.in-addr.arpa domain name pointer pub2.kernel.org.

N'oubliez pas que DNS doit propager les modifications.

SPF pour votre domaine (enregistrement DNS TXT)

SPF est un système de validation des e-mails conçu pour empêcher le spam par e-mail en détectant l'usurpation d'e-mails, une vulnérabilité courante, en vérifiant les adresses IP des expéditeurs.

Pour configurer le spf, vous devrez ajouter un enregistrement TXT à votre zone DNS, mais vous pouvez d'abord générer votre enregistrement ici :http://www.mailradar.com/spf/

Copiez le résultat spf, puis allez dans ISPConfig -> dns -> zones -> cliquez sur votre nom de domaine -> cliquez sur l'onglet enregistrements -> et cliquez sur TXT

Nom d'hôte -> exemple.com. (avec un point à la fin !)

Texte -> Collez ici le résultat spf (sans " ").

Exemple :v=spf1 a mx ptr ip4:11.222.333.444 -all       …et cliquez sur Enregistrer.

N'oubliez pas que le DNS doit propager les modifications.

Suffixe main.cf

Ajoutons/modifions quelque chose à /etc/postfix/main.cf

Restrictions Helo :

smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname

Restrictions Helo en action :

Jan 12 01:57:08 server postfix/smtpd[4687]: NOQUEUE: reject: RCPT from unknown[186.43.77.153]: 450 4.7.1 Client host rejected: cannot find your hostname, [186.43.77.153]; from=
<[email protected]> to=<[email protected]> proto=ESMTP helo=<[186.43.77.153]>
Jan  8 00:32:22 server postfix/smtpd[17504]: NOQUEUE: reject: RCPT from 201-93-87-2.dial-up.telesp.net.br[201.93.87.2]: 504 5.5.2 <lan-32204df3031>: Helo command rejected: need fully-qualified hostname; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<lan-32204df3031>

RFC strict :

strict_rfc821_envelopes = yes

Restrictions client :

smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

Restrictions relatives aux destinataires :

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain

Limitation des données :

smtpd_data_restrictions = reject_unauth_pipelining

Délai smtpd :

smtpd_delay_reject = yes

N'oubliez pas de recharger le postfix :

/etc/init.d/postfix reload

Vérification SPF pour Postfix (Debian et Ubuntu)

Installer le package spf :

apt-get install postfix-policyd-spf-python

ou

apt-get install postfix-policyd-spf-perl

Ajoutez ceci à /etc/postfix/main.cf :

policy-spf_time_limit = 3600s

et ajoutez check_policy_service unix:private/policy-spf à la fin de smtpd_recipient_restrictions :

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf

Maintenant, éditez master.cf et ajoutez à la fin ceci (pour la version python) :

policy-spf  unix  -       n       n       -       -       spawn
     user=nobody argv=/usr/bin/policyd-spf 

ou ceci pour la version perl :

policy-spf  unix  -       n       n       -       -       spawn
     user=nobody argv=/usr/sbin/postfix-policyd-spf-perl

… recharger le suffixe.

/etc/init.d/postfix reload

Vérification SPF en action :

Jan  4 15:50:11 server postfix/smtpd[19096]: NOQUEUE: reject: RCPT from g230068165.adsl.alicedsl.de[92.230.68.165]: 550 5.7.1 <[email protected]>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.org/Why?s=helo;id=paxxxxxn.com;ip=92.230.68.165;[email protected]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=
<paxxxxxn.com>

Liste grise

La liste grise est une méthode de défense des utilisateurs de messagerie contre le spam. Un agent de transfert de courrier (MTA) utilisant la liste grise "rejettera temporairement" tout e-mail d'un expéditeur qu'il ne reconnaît pas. Si le courrier est légitime, le serveur d'origine réessayera après un certain temps et, si un délai suffisant s'est écoulé, le courrier électronique sera accepté.

Installation de postgrey (Debian, Ubuntu) :

apt-get install postgrey

Les options de configuration sont dans /etc/default/postgrey (le délai par défaut est de 5 min).

Modifiez main.cf et ajoutez check_policy_service inet:127.0.0.1:10023 à la fin de smtpd_recipient_restrictions :

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf,check_policy_service inet:127.0.0.1:10023
0202

…recharger le suffixe :

/etc/init.d/postfix reload

Liste grise en action :

Jan 10 17:38:57 server postfix/smtpd[21302]: NOQUEUE: reject: RCPT from mailout-de.gmx.net[213.165.64.22]: 451 4.7.1 <[email protected]>: Recipient address rejected: Greylisting in effect, please come back later; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<mailout-de.gmx.net>

DNSBL (liste noire/blocage basée sur DNS)

Un DNSBL est une liste d'adresses IP publiées via le service de nom de domaine Internet (DNS) soit sous forme de fichier de zone pouvant être utilisé par un logiciel de serveur DNS, soit sous forme de zone DNS active pouvant être interrogée en temps réel. Les DNSBL sont le plus souvent utilisés pour publier les adresses d'ordinateurs ou de réseaux liés au spamming; la plupart des logiciels de serveur de messagerie peuvent être configurés pour rejeter ou marquer les messages qui ont été envoyés à partir d'un site figurant sur une ou plusieurs de ces listes. Celles-ci peuvent inclure la liste des adresses d'ordinateurs zombies ou d'autres machines utilisées pour envoyer du spam, la liste des adresses des FAI qui hébergent volontairement des spammeurs ou la liste des adresses qui ont envoyé du spam à un système de pot de miel. Pour utiliser dnsbl avec postix, nous utilisons rejet_rbl_client. Ajoutez simplement une zone DNS en direct pour les requêtes dans le fichier main.cf.

Dans mon exemple, je vais utiliser deux listes avec une très bonne réputation (ajoutées à la fin de smtpd_client_restrictions) :

smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,  reject_rbl_client cbl.abuseat.org,  reject_rbl_client b.barracudacentral.org

rbl en action :

Jan 12 01:52:42 server postfix/smtpd[4616]: NOQUEUE: reject: RCPT from 89.pool85-49-26.dynamic.orange.es[85.49.26.89]: 554 5.7.1 Service unavailable; Client host [85.49.26.89] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=85.49.26.89; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<colossus.home>
Jan 11 20:13:58 server postfix/smtpd[29591]: NOQUEUE: reject: RCPT from 93-87-122-56.dynamic.isp.telekom.rs[93.87.122.56]: 554 5.7.1 Service unavailable; Client host [93.87.122.56] blocked using b.barracudacentral.org; http://www.barracudanetworks.com/reputation/?pr=1&ip=93.87.122.56; from=
<[email protected]> to=<[email protected]> proto=ESMTP helo=

Postscreen

Remarque :Cette fonctionnalité est disponible dans Postfix 2.8 et versions ultérieures

Le démon postscreen de Postfix fournit une protection supplémentaire contre la surcharge du serveur de messagerie. Un processus postscreen gère plusieurs connexions SMTP entrantes et décide quels clients peuvent parler à un processus serveur SMTP de Postfix. En éloignant les spambots, le postscreen laisse plus de processus de serveur SMTP disponibles pour les clients légitimes et retarde l'apparition des conditions de surcharge du serveur.

Le principal défi pour le postscreen est de prendre une décision est-ce-un-zombie basée sur une seule mesure. Cela est nécessaire car de nombreux zombies essaient de voler sous le radar et évitent de spammer le même site à plusieurs reprises. Une fois que le postscreen décide qu'un client n'est pas un zombie, il le met temporairement sur liste blanche pour éviter des retards supplémentaires pour le courrier légitime.

Nous utiliserons pour ce tutoriel les paramètres par défaut avec une exception. Ces paramètres conviennent à la plupart des situations

Tout d'abord, nous ajoutons une ligne à main.cf avec la commande :

postscreen_greet_action = enforce

Deuxièmement, nous ajoutons postscreen et quelques nouveaux services à master.cf Remarque :Ces paramètres peuvent déjà exister, décommentez simplement. Assurez-vous également que la ligne "smtp inet ... smtpd", y compris tout paramètre, est commentée (le cas échéant, les paramètres doivent être déplacés vers le nouveau service smtpd).

# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
#smtp      inet  n       -       -       -       -       smtpd
#          -o ...
smtpd     pass  -       -       n       -       -       smtpd
     -o ... # Parameters moved from smtp service to the new smtpd service.(if any)
smtp      inet  n       -       n       -       1       postscreen
tlsproxy  unix  -       -       n       -       0       tlsproxy
dnsblog   unix  -       -       n       -       0       dnsblog

Maintenant, nous rechargeons le postfix :

/etc/init.d/postfix reload

Panels
  1. Installez Horde 5 Webmail pour ISPConfig sur Debian Jessie via PEAR

  2. 15 étapes de durcissement Linux pour le serveur CentOS 7

  3. Blocage de la réception des TLD complets

  4. Renforcement de la sécurité SSL dans Apache, Dovecot et Postfix

  5. Comment installer ISPConfig 3 sur Ubuntu 18.04

Comment installer PHP 5.6 en tant que PHP-FPM et FastCGI supplémentaires pour ISPConfig 3.1 sur Ubuntu 16.04

Comment installer PHP 7.1.16 en tant que PHP-FPM &FastCGI pour ISPConfig 3.1 sur Debian 8 (Jessie)

Comment installer PHP 7.1, 7.2 et 5.6 en tant que PHP-FPM &FastCGI pour ISPConfig 3 sur Debian 9

Comment configurer Tls pour Postfix sur Ubuntu ?

Configuration de SiteApps pour Joomla

Application de surveillance ISPConfig pour Android