SysFailure

Imprimer

Policy Daemon

.

Gestion des listes blanches

Les listes blanches permettent d'accepter immédiatement tout message provenant d'un serveur, domaine ou émetteur particuliers. Il va sans dire que ce doit être une fonctionnalité activée avec prudence, notamment si elle porte sur des adresses électroniques.

Les listes blanches reposent sur trois tables différentes :

  • une table d'adresses IP : whitelist,
  • une table de noms de serveurs : whitelist_dnsname, et
  • une table d'adresses électroniques ou de domaines : whitelist_sender.

Chacune de ces tables comporte deux colonnes, la première définissant l'élément discriminant pour la liste blanche, la seconde étant un commentaire libre.

Liste blanche d'adresses IP

La table whitelist permet de définir des adresses IP auxquelles vous faites confiance. Il s'agit de la meilleure utilisation d'une liste blanche (sous réserve que l'adresse IP ne soit pas réaffectée à un autre système que celui auquel vous pensez) :

INSERT INTO whitelist (_whitelist,_description) 
VALUES ('127.%.%.%','# localhost');
INSERT INTO whitelist (_whitelist,_description)
VALUES ('192.168.2.10','# mon serveur');

Les caractères %, dans l'adresse IP, jouent le rôle d'un joker. Dans l'exemple précédent, toutes les adresses du réseau 127.0.0.0/8 (la boucle locale de l'ordinateur) seront traitées de la même manière.

Liste blanche de noms de machines

Il n'est pas toujours facile de connaître les adresses IP exactes des serveurs de messagerie avec lesquels vous correspondez souvent et dont vous êtes certain de l'innocuité du trafic, surtout s'il s'agit des systèmes de sites disposant de nombreux serveurs de messagerie. La liste blanche whitelist_dnsname permet de résoudre efficacement cette difficulté, en indiquant les noms des serveurs et non plus leurs adresses IP.

INSERT INTO whitelist_dnsname (_whitelist,_description)
VALUES ('n10.bulk.dcn.yahoo.com', '# Un serveur');
INSERT INTO whitelist_dnsname (_whitelist,_description)
VALUES ('%.mweb.co.za','# Tout *.mweb.co.za');

Le premier exemple, ci-dessus, revient à accepter tous les messages émis par n10.bulk.dcn.yahoo.com. Le second exemple utilise un joker, et revient à accepter tout message émis par un système du domaine mweb.co.za. Policyd exécute un contrôle du DNS avant de décider qu'un serveur est ainsi en liste blanche : il est nécessaire que le DNS soit cohérent entre les résolutions directes (nom vers adresse IP) et les résolutions inverses (adresse IP vers nom). En d'autres termes, si un système se présente sous serveur.domaine.tld, policyd fait une résolution de ce nom en une adresse IP puis une résolution inverse de l'adresse ainsi obtenue. Il doit obtenir serveur.domaine.tld, auquel cas seulement il examine la table whitelist_dnsname.

Liste blanche d'adresses électroniques

Cette troisième forme de liste blanche (table whitelist_sender) est la plus risquée, du fait de la facilité à falsifier l'enveloppe d'un message électronique. Elle permet d'accepter tous les messages émis par une certaine personne ou un certain domaine.

INSERT INTO whitelist_sender (_whitelist,_description) 
VALUES ('camis @ mweb.co.za','# Une addresse');
INSERT INTO whitelist_sender (_whitelist,_description)
VALUES ('@mweb.co.za','# Un domaine');

Tout message se présentant comme émis par camis @ mweb.co.za (premier cas) ou par une adresse @mweb.co.za (second cas) sera accepté immédiatement. N'oubliez pas qu'il s'agit d'informations faciles à falsifier.