GNU/Linux >> Znalost Linux >  >> Linux

DNS RPZ:DNS Firewall pro filtrování stránek a uživatelů

Ahoj hejna, dnes se naučíme něco o DNS. Všichni víme, co je to DNS, jak DNS funguje, jaké jsou jeho typy atd. Takže to shrňme a pojďme se ponořit do našeho dnešního tématu o zóně DNS Response Policy Zone (RPZ).

Chcete-li zobrazit naše další témata o serveru DNS, navštivte prosím zde.

Co je RPZ?

DNS Response Policy Zone (RPZ) je zóna DNS, která správcům DNS umožňuje přizpůsobit zásady na serverech DNS tak, aby server vracel upravené odpovědi na dotazy DNS klienta. Jinými slovy, RPZ poskytuje způsob, jak změnit odpověď DNS v reálném čase. Lze jej použít k úpravě potenciálně nebezpečných dat DNS tak, aby blokovala komunikaci nebo poskytovala místní data pro přesměrování do „zděné zahrady“. Protože můžeme změnit odpověď na dotaz nebo zablokovat jakoukoli doménu pomocí RPZ, je také známá jako DNS firewall.

Stejně jako každá jiná zóna DNS se RPZ skládá z různých sad záznamů prostředků (RR). Spíše než záznamy SOA, NS a DNSSEC obsahují všechny ostatní RR spouštěč a akci pro spouštěč.

Spouštěče nakonfigurované k přepisování dotazů DNS na základě:

  • IP adresa/podsíť (RPZ-IP)
  • Název hostitele/doména (QNAME)
  • Název/doména jmenného serveru (RPZ-NSDNAME)
  • Adresa/podsíť jmenného serveru (RPZ-NSIP)
  • IP klienta (RPZ-CLIENT-IP)

Zásady jsou uvedeny níže

  • Akce „NXDOMAIN“ (CNAME.)
  • Akce „NODATA“ (CNAME *.)
  • Akce „PASSTHRU“ (CNAME rpz-passthru.)
  • Akce „DROP“ (CNAME rpz-drop.)
  • Akce „pouze TCP“ (pouze CNAME rpz-tcp.)
  • Akce „Místní data“ (libovolné typy RR)

Aplikace RPZ:

DNS RPZ má různé aplikace a případy použití. Příklady:

  • Blokovat malware a phishingové weby
  • Blokovat reklamy
  • Přepište RR libovolné domény a poskytněte vlastní data DNS
  • Blokovat určitý provoz uživatelů internetu a přesměrovat jejich požadavky do opevněné zahrady

V tomto článku se naučíme, jak nakonfigurovat RPZ v BIND9, zablokovat doménu pro všechny uživatele a přesměrovat některé uživatele do obezděné zahrady.

Nainstalujte BIND9 a nakonfigurujte RPZ:

Pojďme nainstalovat BIND9 Caching DNS Server na Debian Linux.

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

Povolte a spusťte bind9 služba

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

Výstup:

Náš server má na svém fyzickém rozhraní nakonfigurovanou adresu 192.168.10.38. Nyní zkontrolujte stav poslechu BIND9

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

Výstup:

Vidíme, že BIND9 naslouchá na rodinách adres IPv4 i IPv6 pro všechna rozhraní. Chcete-li provozovat BIND9 na IPv4, změňte pouze možnost spuštění v /etc/default/bind9 soubor

OPTIONS="-4 -u bind"

Restartujte bind9 služba

# systemctl restart bind9.service

Soubor výchozích možností zálohování

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

Přidejte konfigurační direktivy RPZ pod hlavní možnosti BIND9 a názvy zón v /etc/bind/named.conf.options soubor

response-policy { zone "rpz"; };

Můžeme také přidat více zón v response-policy směrnice takto

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

Nyní definujte vlastnosti zóny

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

Nyní předpokládejme, že bychom chtěli zablokovat doménu kvůli aktivitě malwaru nebo to může být reklamní web nebo může být nařízeno regulačním úřadem, aby web zablokoval. V tomto příkladu blokujeme „youtube.com “. Vytvořte rpz.local soubor ve výchozím adresáři pro BIND9 včetně níže uvedeného obsahu

$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 .

Restartujte službu BIND9

# systemctl restart bind9.service

Ve výše uvedených konfiguračních směrnicích jsme definovali akce zásad „NXDOMAIN“ pro doménu „youtube.com “. Nyní, když se pokusíme procházet z naší pracovní stanice, nebudeme moci procházet web a v prohlížeči vrátí zprávu NXDOMAIN

V dalším příkladu přesměrujeme „btcl.com.bd ” uživatelů do zděné zahrady pomocí RPZ. Zobrazí zprávu uživatelům poskytnutím místních dat v dotazu DNS. Abychom toho dosáhli, budeme muset napsat RR následovně

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

Poznámka: Máme webový server běžící na 192.168.10.38 a poskytne uživatelům vlastní zprávu.

Restartujte službu BIND9.

Procházení webu „http://btcl.com.bd ” výsledky pod zprávou

Blokovat zákazníky se selháním plateb pomocí RPZ

V tomto příkladu přesměrujeme všechny uživatele s nedoplatkem do opevněné zahrady, kde jim ukážeme zprávu, že mají zaplatit své poplatky.

Máme uživatele s IP adresou 192.168.10.13, který nezaplatil účty. Pro přesměrování všech požadavků pro uživatele na nástěnný webový server 192.168.10.38 nakonfigurujeme rpz.local soubor takto

32.13.10.168.192.rpz-client-ip    30    IN    A    192.168.10.38

Poznámka: 32.13.10.168.192.rpz-client-ip definuje IP hostitele v notaci CIDR 192.168.10.13/32 . Pokud chcete zablokovat podsíť 172.16.20.0/24 pak by se měl prezentovat jako 24.0.20.16.172.rpz-client-ip .

Restartujte službu BIND9.

Procházení z běžného klienta

Procházení z nástěnného klienta

Odkazy:

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

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


Linux
  1. Soubor velké zóny pro Bind9:Blokování reklam?

  2. Jednoduchý a snadný způsob, jak obejít blokované stránky?

  3. Vytvořte a odeberte uživatele CentOS

  1. Co je DNS a jak funguje?

  2. Vytvářejte a upravujte uživatele v MySQL

  3. Rozdíly mezi hardwarovými a softwarovými firewally

  1. Cheat sheet pro uživatele Linuxu a oprávnění

  2. Automatické zjišťování a automatická konfigurace záznamů DNS

  3. Jak nainstalovat a nakonfigurovat VSFTPD