Blacklister certaines IP dans Qmail et Postfix

De Vulgum Techus
Version du 27 décembre 2016 à 17:51 par Admin2 (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : Navigation, rechercher

Présentation

Les tentatives d'intrusion d'une messagerie Qmail ou Postfix sont nombreuses et les moyens pour identifier et bloquer les IP qui exagèrent le sont aussi. Le présent article vise à les regrouper.

Fail2ban & IPTable

Facile à mettre en place, ces deux utilitaires travaillent de concert pour :

  1. Détecter les répétitions d'erreurs dans les log (Fail2ban)
  2. Blacklister les IP récalcitrantes détectées par Fail2ban (IPtable)

voir [[]]

Blacklistage d'IP

Qmail

C'est dans le fichier /etc/mail/access qu'il convient d'indiquer les IP à banir sous la forme

Postfix

Le banissement avec Postfix demande de suivre un mode opératoire assez précis à savoir :

  • Création de la liste d'éléments à banir selon deux axes :
    • fichier texte /etc/postfix/check_client -> banissement par IP, plage d'IP ou par nom d'hôte (host name)
/etc/postfix/client_checks 
# Délimiter les clients dont les connexions SMTP sont acceptées
exemple.com           REJECT Pas de spam !
.exemple.com          REJECT Pas de spam depuis le sous-domaine
123.123.123.123       REJECT Cette IP est blacklistée !
123.123.123.0/100     REJECT Cette IP est plage d'IP est blacklistée
    • fichier texte /etc/postfix/check_sender -> banissement d'adresses email spécifiques
/etc/postfix/sender_checks
# Restreindre les domaines dont le système accepte les mails
exemple.com           REJECT toutes les adresses email de exemple.com son rejetées
.exemple.com          REJECT toutes les adresses email du sous-domaine *.exemple.com son rejetées
info@exemple.com      REJECT cet email est rejetée
gmail.com             OK

A noter que les directives suivantes sont acceptées et que le texte qui les suit n'est pas pris en compte :
OK -> accepte les emails
RELAY -> accepte les emails adressés au domaine indiqué et relaye-les via le serveur SMTP
REJECT -> rejete l'émetteur ou le destinataire avec un message standard
DISCARD -> efface le message complètement
SKIP -> Procède à l'action par défaut
  • Hashage des listes par :
    • #/postmap /etc/postfix/client_checks
    • #/postmap /etc/postfix/client_checks
  • Configuration de /etc/postfix/main.cf par l'ajout des directives suivantes au niveau de smtpd_recipient_restrictions =
    • check_client_access hash:/etc/postfix/client_checks,
    • check_sender_access hash:/etc/postfix/sender_checks,
    • ...,
    • ...,
  • Relancer postfix par :
    • #/etc/init.d/postfix reload (Debian)
    • #/service posffix restart (Red Hat)