GNU/Linux >> Tutoriels Linux >  >> Linux

DNS RPZ :un pare-feu DNS pour filtrer les sites et les utilisateurs

Bonjour les troupeaux, aujourd'hui nous allons apprendre quelques trucs DNS. Nous savons tous ce qu'est un DNS, son fonctionnement, ses types, etc. Alors, récapitulons et plongeons dans le sujet d'aujourd'hui sur la zone de politique de réponse DNS (RPZ).

Pour voir nos autres sujets sur le serveur DNS, veuillez visiter ici.

Qu'est-ce que le RPZ ?

La zone de politique de réponse DNS (RPZ) est une zone DNS qui permet aux administrateurs DNS de personnaliser la politique dans les serveurs DNS, afin que le serveur renvoie des réponses modifiées aux requêtes DNS du client. En d'autres termes, RPZ fournit un moyen de modifier une réponse DNS en temps réel. Il peut être utilisé pour modifier des données DNS potentiellement dangereuses afin de bloquer la communication ou fournir des données locales à rediriger vers un « jardin clos ». Comme nous pouvons modifier la réponse aux requêtes ou bloquer n'importe quel domaine à l'aide de RPZ, il est également connu sous le nom de pare-feu DNS.

Comme toute autre zone DNS, RPZ se compose de différents ensembles d'enregistrements de ressources (RR). Plutôt que les enregistrements SOA, NS et DNSSEC, tous les autres RR contiennent un déclencheur et une action pour le déclencheur.

Déclencheurs configurés pour réécrire les requêtes DNS en fonction de :

  • Adresse IP/sous-réseau (RPZ-IP)
  • Nom d'hôte/Domaine (QNAME)
  • Nom/Domaine du serveur de noms (RPZ-NSDNAME)
  • Adresse/sous-réseau du serveur de noms (RPZ-NSIP)
  • IP client (RPZ-IP-CLIENT)

Les actions de politique sont comme ci-dessous

  • Action "NXDOMAIN" (CNAME .)
  • Action "NODATA" (CNAME *.)
  • Action "PASSTHRU" (CNAME rpz-passthru.)
  • Action « DROP » (CNAME rpz-drop.)
  • Action "TCP uniquement" (CNAME rpz-tcp uniquement.)
  • Action "Données locales" (types RR arbitraires)

Applications RPZ :

DNS RPZ a différents cas d'application et d'utilisation. Exemples :

  • Bloquer les sites Web malveillants et d'hameçonnage
  • Bloquer les publicités
  • Réécrivez n'importe quel RR de domaine et fournissez des données DNS personnalisées
  • Bloquer le trafic d'un ensemble d'internautes et diriger leurs requêtes vers un jardin clos

Dans cet article, nous allons apprendre à configurer RPZ dans BIND9, à bloquer un domaine pour tous les utilisateurs et à rediriger certains utilisateurs vers un jardin clos.

Installez BIND9 et configurez RPZ :

Installons un serveur DNS de mise en cache BIND9 sur Debian Linux.

# apt-get update
# apt-get install -y bind9

Activer et démarrer bind9 services

# systemctl enable bind9.service
# systemctl start bind9.service
# systemctl status bind9.service

Sortie :

Notre serveur a l'adresse 192.168.10.38 configurée sur son interface physique. Vérifiez maintenant l'état d'écoute de BIND9

# netstat -lntup | grep -E "PID|named"

Sortie :

Nous voyons que BIND9 écoute sur les familles d'adresses IPv4 et IPv6 pour toutes les interfaces. Pour utiliser BIND9 sur IPv4 uniquement, modifiez l'option de démarrage dans /etc/default/bind9 fichier

OPTIONS="-4 -u bind"

Redémarrez bind9 services

# systemctl restart bind9.service

Sauvegarder le fichier d'options par défaut

# cp /etc/bind/named.conf.options /etc/bind/named.conf.options.ori

Ajoutez des directives de configuration RPZ sous les options principales de BIND9 et les noms de zone dans /etc/bind/named.conf.options fichier

response-policy { zone "rpz"; };

Nous pouvons également ajouter plusieurs zones dans la response-policy directive comme suit

response-policy { 
zone "rpz1";
zone "rpz2";
};

Définissez maintenant les propriétés de la zone

zone "rpz" {
type master;
file "rpz.local";
allow-query { localhost; };
allow-update { none; };
};

Supposons maintenant que nous souhaitions bloquer un domaine en raison d'une activité de logiciel malveillant ou qu'il s'agisse d'un site d'annonces ou qu'il puisse être ordonné par une autorité réglementaire de bloquer le site. Dans cet exemple, nous bloquons "youtube.com “. Créer rpz.local fichier dans le répertoire par défaut pour BIND9, y compris le contenu ci-dessous

$TTL 60
@ IN SOA localhost. root.localhost. (
2022012801 ; serial
1h ; refresh
30m ; retry
1w ; expiry
30m) ; minimum

IN NS ns1.example.com.
IN NS ns2.example.com.

youtube.com 30 IN CNAME .
*.youtube.com 30 IN CNAME .

Redémarrez le service BIND9

# systemctl restart bind9.service

Dans les directives de configuration ci-dessus, nous avons défini les actions de stratégie "NXDOMAIN" pour le domaine "youtube.com “. Maintenant, si nous essayons de naviguer à partir de notre poste de travail, nous ne pourrons pas parcourir le site et il renverra le message NXDOMAIN dans le navigateur

Dans l'exemple suivant, nous allons rediriger "btcl.com.bd ” utilisateurs à un jardin clos au moyen de RPZ. Il affichera un message aux utilisateurs en fournissant des données locales dans la requête DNS. Pour y parvenir, nous devrons écrire les RR comme suit

btcl.com.bd      30    IN    A    192.168.10.38
*.btcl.com.bd 30 IN A 192.168.10.38

Remarque : Nous avons un serveur Web fonctionnant sur 192.168.10.38 et il fournira un message personnalisé aux utilisateurs.

Redémarrez le service BIND9.

Naviguer sur le site "http://btcl.com.bd ” résultats sous le message

Bloquer les clients en défaut de paiement utilisant RPZ

Dans cet exemple, nous allons rediriger tous les utilisateurs ayant un solde impayé vers un jardin clos pour afficher un message leur demandant de payer leurs cotisations.

Nous avons un utilisateur avec l'adresse IP 192.168.10.13 qui n'a pas pu payer ses factures. Pour rediriger toutes les requêtes de l'utilisateur vers un serveur Web wall-garden 192.168.10.38, nous allons configurer le rpz.local fichier comme suit

32.13.10.168.192.rpz-client-ip    30    IN    A    192.168.10.38

Remarque : 32.13.10.168.192.rpz-client-ip définit l'IP de l'hôte en notation CIDR 192.168.10.13/32 . Si vous souhaitez bloquer un sous-réseau 172.16.20.0/24 alors il devrait se présenter comme 24.0.20.16.172.rpz-client-ip .

Redémarrez le service BIND9.

Navigation depuis un client régulier

Navigation à partir du client wall-garden

Références :

https://tools.ietf.org/id/draft-vixie-dnsop-dns-rpz-00.html

http://www.zytrax.com/books/dns/


Linux
  1. Utilisateurs et groupes

  2. Fichier de grande zone pour Bind9 :blocage des publicités ?

  3. Créer et supprimer des utilisateurs CentOS

  4. Créer et modifier des utilisateurs dans MySQL

  5. Différences entre les pare-feu matériels et logiciels

Comment installer et configurer le pare-feu Utangle

Utilisateurs et groupes LDAP

Comment installer le serveur DNS maître et esclave BIND9 sur Ubuntu

Comment répertorier les utilisateurs et les groupes sous Linux

Comment installer et configurer le serveur DNS sous Linux

Débogage d'iptables et des pièges courants du pare-feu ?