Bezpieczna usługa DNS na przykładzie serwera bind



Podobne dokumenty
Usługi nazw domenowych DNS

T: Instalacja i konfiguracja serwera DNS.

Domain Name System. Kraków, 30 Marca 2012 r. mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Konfiguracja SO UNIX do komunikacji opartej o DNS (ang. Domain Name System).

Konfiguracja serwera DNS w systemie operacyjnym linux. Autorzy: Monika Nazarko, Krzysztof Raczkowski IVFDS

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Serwer nazw DNS. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Zajęcia 5 Domain Name System (DNS)

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

System DNS. Maciej Szmigiero

Za dużo wpisów! Serwer nazw DNS. Marcin Bieńkowski

Zapoznanie się z konfiguracją i zarządzaniem serwerem nazwa internetowych DNS.

Ćwiczenie nr: 10 DNS. 1.Model systemu. 2.Typy serwerów DNS

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

ODWZOROWYWANIE NAZW NA ADRESY:

DNS Catalog Zones. łatwe tworzenie i synchronizacja serwowanych stref. Witold Kręcicki. 23 lutego Internet Systems Consortium

Ćwiczenie nr: 5 Temat: DNS

Sieciowe systemy operacyjne

Instalacja, konfiguracja i uruchomienie serwera BIND w systemie Windows XP

DKonfigurowanie serwera DNS

DNS Domain Name Service

Struktura domen DNS Rekursywny serwer DNS

Podstawowe mechanizmy zabezpieczeń usługi DNS

Plan wykładu. Domain Name System. Definicja DNS. Po co nazwy? Przestrzeń nazw domen Strefy i ich obsługa Zapytania Właściwości.

Bezpieczeństwo systemów informatycznych

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DNS.

DNS dla łopornych

Apache serwer WWW (część 2) Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Jarosław Kuchta Administrowanie Systemami Komputerowymi DNS, WINS, DHCP

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

System operacyjny Linux

Bezpieczeństwo systemów informatycznych

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

Jarosław Kuchta. Instrukcja do laboratorium. Administrowanie Systemami Komputerowymi. Usługi DNS i DHCP

W poprzednim odcinku poznaliśmy: W poprzednim odcinku, cd.: W dzisiejszym odcinku. Apache serwer WWW (część 2)

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Krótka instrukcja instalacji

Windows Serwer 2008 R2. Moduł 3. DNS v.2

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Instrukcja 6 - ARP i DNS - translacja adresów

KARTA KURSU. Administracja serwerami WWW

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

4. Podstawowa konfiguracja

Instrukcja konfiguracji funkcji skanowania

Sieciowa instalacja Sekafi 3 SQL

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Instrukcje do laboratorium ASK (2)

Brakujące ogniwo w bezpieczeństwie Internetu

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Narzędzia do diagnozowania sieci w systemie Windows

Instalacja Active Directory w Windows Server 2003

Instytut Teleinformatyki

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DNS.

Serwer DHCP (dhcpd). Linux OpenSuse.

Wykaz zmian w programie SysLoger

Szkolenie autoryzowane. MS 6419 Konfiguracja, zarządzanie i utrzymanie systemów Windows Server 2008

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Laboratorium nr 6 VPN i PKI

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Instalacja i konfiguracja serwera SSH.

Egzamin : administrowanie systemem Windows Server 2012 R2 / Charlie Russel. Warszawa, Spis treści

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

Rozszerzenie bezpieczeństwa protokołu DNS

DESlock+ szybki start

oprogramowania F-Secure

MikroTik Serwer OpenVPN

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instalacja NOD32 Remote Administrator

Bezpieczeństwo systemów informatycznych

Konfiguracja własnego routera LAN/WLAN

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Tomasz Greszata - Koszalin

ZADANIE.07. Procesy Bezpieczeństwa Sieciowego v.2011alfa ZADANIE.07. VPN RA Virtual Private Network Remote Access (Router) - 1 -

pasja-informatyki.pl

Usługi sieciowe systemu Linux

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

System DNS. Marcin Ciechanowski. January 23, 2008

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Konfiguracja serwera FreeRADIUS

INSTRUKCJA OBSŁUGI DLA SIECI

11. Autoryzacja użytkowników

Bezpieczeństwo systemów informatycznych

DNSSEC. Zbigniew Jasiński

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Wykaz zmian w programie SysLoger

Instalacja i konfiguracja serwera IIS z FTP

(Pluggable Authentication Modules). Wyjaśnienie technologii.

BlackHole. Bezpieczne Repozytorium Ważnych Zasobów.

pasja-informatyki.pl

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Artykuł sponsorowany przez

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Transkrypt:

Bezpiecze ństwo systemów komputerowych. Temat seminarium: Bezpieczna usługa DNS ( bind ). Autor: Bartosz Brodecki Bezpieczna usługa DNS na przykładzie serwera bind 1

Plan Wprowadzenie do usługi DNS Środowisko chroot Cyfrowy podpis informacji, funkcja HMAC-MD5 Bezpieczna usługa DNS: Instalacja serwera bind w środowisku chroot Konfiguracja usługi Pliki stref 2

Wprowadzenie do usługi DNS DNS System Nazw Domenowych (eng. Domain Name System) powstał, aby umożliwić nadawanie komputerom nazw. Początki usługi DNS płaska przestrze ń nazw, centralny ośrodek zarządzania NIC (eng. Network Information Center) DNS zapewnia: hierarchiczn ą struktur ę nazw, rozproszony system serwerów, rozproszone bazy nazw, du żą niezawodno ść, dzięki istnieniu conajmniej dwóch serwerów nazw, na każd ą domenę 3

Dlaczego musi być bezpieczny DNS zapewnia tłumaczenie nazw domenowych na adresy IP. Nikt nie pamięta adresów IP, może kilka. Jednak w przypadku używania serwerów wirtualnych adresy domenowe s ą niezbędne, przykłady serwery WWW i FTP. Moż liwe problemy: podszycie si ę pod główny serwer DNS i przesłanie nowego zmienionego pliku strefy do serwera wtórnego podszycie si ę pod najbliższy użytkownikowi serwer DNS i podawanie fałszych odpowiedzi 4

Środowisko chroot tworzy ograniczone ś rodowisko (tzw. więzienie ) dla aplikacji, uniemo żliwia przeglądanie plików poza określonym katalogiem ( więzieniem ), katalog, który ma tworzyć więzienie musi zawierać wszystkie niezbędne pliki do działania aplikacji (z bibliotekami i plikami urządze ń włączenie), zapewnia większe bezpieczeństwo systemu, uruchamiana aplikacja nie może pracować z uprawnieniami administratora, gdy ż takie uprawnienia pozwalaj ą na opuszczenie ograniczonego środowiska. 5

Cyfrowy podpis informacji umożliwia potwierdzenia autentyczno ś ci przesyłanych danych, DNS wykorzystuje do tego celu funkcj ę jednokierunkow ą z kluczem - HMAC-MD5, aby sprawdzić poprawno ść wiadomo ści obie strony musz ą posiadać klucz, który wykorzystywany jest przy podpisywaniu, kluczem jest ciąg n-bitowy, który nie powinien być nigdzie ujawniany (n - może przybierać warto ść od 1 do 512, zalecana warto ść conajmniej 128) 6

Bezpieczna usługa DNS Instalacja serwera bind w środowisku chroot Konfiguracja usługi DNS Pliki stref 7

Instalacja serwera bind w środowisku chroot Istniej ą dwa podejścia: wykorzystanie wbudowanej w bind'a opcji -t, wykorzystanie polecenia systemowego chroot 8

wykorzystanie wbudowanej opcji -t zalety: w środowisku chroot nie s ą potrzebne: biblioteki systemowe sytemowe pliki konfiguracyjne potrzebne aplikacji przed przej ś ciem do ograniczonego ś rodowiska aplikacja wykonuje wszystkie uprzywilejowane operacje (otwarcie gniazda nasłuchuj ącego, odczyt konfiguracji i bibliotek), po przejściu do ograniczonego środowiska zmienia uprawniania na nieuprzywilejowanego użytkownika, wady: w początkowej fazie ma pełen dostęp do systemu 9

wykorzystanie wbudowanej opcji -t niezbędna struktura katalogów: /chroot /chroot/bind /chroot/bind/dev /chroot/bind/etc /chroot/bind/var /chroot/bind/var/named /chroot/bind/var/log /chroot/bind/var/run niezb dna lista plików: ę /chroot/bind/dev/null /chroot/bind/dev/log /chroot/bind/dev/random /chroot/bind/etc/localtime /chroot/bind/etc/named.conf /chroot/bind/etc/rndc.conf 10

wykorzystanie polecenia systemowego chroot zalety: najpierw następuje przejście do ograniczonego środowiska, a następnie uruchamiany jest proces DNS, wady: na początku równie ż działa z prawami administratora potrzebuje bibliotek i plików konfiguracyjnych w ograniczonym środowisku 11

wykorzystanie polecenia systemowego chroot niezb dna struktura ę katalogów: /chroot /chroot/bind /chroot/bind/dev /chroot/bind/etc /chroot/bind/sbin /chroot/bind/usr /chroot/bind/usr/lib /chroot/bind/usr/libexec /chroot/bind/var /chroot/bind/var/named /chroot/bind/var/log /chroot/bind/var/run niezbędna lista plików: /chroot/bind/dev/null /chroot/bind/dev/log /chroot/bind/dev/random /chroot/bind/sbin/named (serwer DNS) /chroot/bind/etc/group /chroot/bind/etc/nsswitch.conf /chroot/bind/etc/passwd /chroot/bind/etc/localtime /chroot/bind/etc/named.conf /chroot/bind/etc/rndc.conf /chroot/bind/etc/ld.so.cache oraz następuj ące biblioteki: libc.so.6; liblwres.so; libdns.so; libcrypto.so libisccfg.so; libisccc.so; libisc.so libnsl.so; libdl.so; libnss_compat.so 12

wykorzystanie polecenia systemowego chroot jeżeli DNS nie chce si ę uruchomić należy sprawdzić jakich plików/bibliotek brakuje, na przykład poleceniem: strace ldd strings 13

Ograniczone środowisko Podsumowanie Określenie, które podejście jest lepsze, jest praktycznie nie możliwe. Rozwiązanie pierwsze umożliwia na początku pełen dostęp do systemu, niestety rozwiązanie drugie równie ż. Wybór podejścia zależy od osoby, która będzie uruchamiać usług ę. 14

Konfiguracja usługi DNS Istniej ą dwa pliki konfiguracyjne: named.conf ustawienia usługi rndc.conf - ustawienie zdalnego zarządzania 15

named.conf podzielony jest na następuj ące części: acl - listy adresów IP do kontroli dostępu include zawieranie pliku key zawiera klucz do autoryzacji i podpisywania przez TSIG controls kanały kontrolne dla narzędzia rndc logging specyfikacja logowania (tylko jedno) options globalne ustawiania serwera (tylko jedno) server ustawienie pewnych opcji dla serwerów trusted-keys definicja zauwanych kluczy DNSSEC view definicja widoków zone definicja stref 16

named.conf - acl Listy kontroli dostępu (eng. Access Control Lists) mog ą zawierać: pojedyńcze adresy IP 192.168.1.1; podsieci IP 10.0.0.0/8; 150.254.17.96/27; predefiniowane stałe: none - żaden adres, any wszystkie adresy, localhost wszystkie adresy IP lokalnego komputera, localnets wszystkie podsieci komputera. istnieje możliwo ś ć negacji! Przykład: acl local { 192.168.1.0/24; 192.168.2.0/24;!192.168.0.0/16}; acl sec_dns {192.168.1.254; }; 17

named.conf - include Załączenie zewnętrznego pliku. Przykład: include <zewnetrzny_plik>; 18

named.conf - key Klucz używany przyz TSIG, a także przy umożliwianiu zdalnego zarządzania poprzez rndc Przykład: key rndc-key { algorithm hmac-md5; secret vfrwc08rk3ldereky0qlo7kmswpv6yutlumac31au2w= }; tworzenie klucza: dnssec-keygen -a alg -b bits -n type [options] name np. dnssec-keygen -a HMAC-MD5 -b 128 -n HOST -r /dev/random rndc-key 19

named.conf - server Ustala klucz zdalnego serwera, używany przez TSIG server <adres IP zdalnego serwera> { keys { <nazwa klucza>; }; }; Łączymy odpowiedni klucz z serwerem od którego pochodzi. Przykład: server 192.168.10.254 { keys { rndc-key ; }; }; 20

named.conf - controls Umożliwia zdalne zarządzanie dzięki rndc controls { inet <adres IP *> [port <nr portu>] allow { <adres acl> } keys { <lista kluczy> }; }; Przykład: controls { inet * port 953 allow { 127.0.0.1; } keys { rndc-key ; }; }; 21

Ustawienia logowania named.conf - logging logging { [ channel <nazwa_kanalu> { (file <nazwa> [versions <liczba wersji> unlimited] size <wielkosc> syslog <nazwa_logu> stderr null ); [severity (critical error warning notice info debug [level] dynamic );] [ print-category yes no ;] [ print-severity yes no ;] [ print-time yes no ;] }; ] [ category <nazwa_kategorii> { <nazwa_kanalu>; [<nazwa1>;...] }; ] }; 22

przykład: named.conf - logging logging { channel default { file /var/log/named.log versions 3 size 10m; severity info; print-category yes; print-severity yes; print-time yes; }; category default { default; }; }; 23

named.conf - logging lista kategorii: default informacje, które nie zostały sklasyfikowane do żadnej z wyszczególnionych kategorii w konfiguracji general informacje o niesklasyfikowanych zdarzeniach database informacje o bazie danych stref i danych buforowanych security informacje o zaakceptowanych i odrzuconych zapytaniach config informacje o parsowaniu i wykonywaniu konfiguracji resolver informacje o odwzorywanie nazwy w imieniu klientów xfer-in informacje o transferze stref do serwera xfer-out informacje transferze stref z serwera notify informacje o protokole NOTIFY (powiadomie ń) client informacje o obsłudze zapyta ń klienta unmatched informacje o niezidentyfikowanych zdarzeniach network informacje o operacjach sieciowych update informacje o dynamicznych aktualizacjach queries informacje o zapytaniach do serwera dispatch informacje o przesłaniu pakietów do odpowiednich modułów dnssec informacje o transakcjach DNSSEC i TSIG lame-servers informacje o błędnie skonfigurowanych serwerach DNS 24

Tylko wybrane opcje: named.conf - options options { versions <jak si ę przedstawia>; directory <katalog z plikami stref>; pid-file <plik PID>; notify yes no; # czy ma wysyłać powiadomienia recursion yes no; forward only first; forwarders { <lista adresow> <lista acl> }; allow-query { <lista adresow> <lista acl> }; allow-transfer { <lista adresow> <lista acl> }; allow-recursion { <lista adresow> <lista acl> }; blackhole { <lista adresow> <lista acl> }; listen-on [port <port>] { <lista> }; }; 25

Przykład: options { directory /var/named ; version DNS ; recursion no; notify yes; allow-query {any; }; allow-transfer { none; }; blackhole { blackhole_list; }; listen-on { any; }; }; named.conf - options 26

named.conf - trusted-key Dyrektywa ta pozwala uznać klucz publiczny za poprawny bez podpisu nadrzędnego DNS'a. Klucz ten służy do podpisania domeny. Opis działania: wykorzystuje szyfrowanie asymetryczne (mamy klucz prywatny i publiczny) klucz prywatny wykorzystywany jest tylko do podpisania pliku strefy klucz publiczny jest zawarty w pliku strefy dzięki temu każdy komputer może zweryfikować poprawno ść wpisów Zapewnia to bardzo duże bezpieczeństwo poprawno ść nazw domenowych. 27

named.conf - trusted-key Kroki do wykorzystania tej możliwo ści: # dnssec-keygen -a RSA -b 512 -n ZONE poznan.pl Kpoznan.pl.+001+26577 # dnssec-makekeyset -t 172800 Kpoznan.pl.+001+26577 <wysyłamy plik keyset-poznan.pl do podpisu, lub używamy dyrektywy trusted-key> # dnssec-signzone -o poznan.pl. db.poznan.pl Kpoznan.pl.+001+26577.private <następnie dołączamy do podpisanego pliku strefy podpisany klucz publiczny lub tylko klucz publiczny podpisany przez nas (z wpisem w konfiguracj ę)> 28

named.conf - view Dyrektywa ta jest wykorzystywana do podzielenia DNS'a tak, aby jego zachowanie zależało od adresów IP, od których wpływaj ą zapytania. Zachowanie posiadanie konkretnych stref, odpowiednich ogranicze ń i ustawie ń. Bezpieczeń stwo to opcja raczej może stanowić zagrożenie bezpieczeństwa. W celu poprawienia bezpieczeństwa zaleca si ę postawienie dwóch DNS'ów. 29

named.conf - zone Dyrektywa zone (strefa) wykorzystywana jest do opisania domen, które ma obsługiwać DNS. Wiele opcji dyrektywy options może występować równie ż w tej dyrektywie. Najważniejsze opcje to: zone <nazwa_strefy> [klasa] { type master slave hint forward ; allow-transfer { <adres IP> key <nazwa klucza> }; file <plik strefy>; allow-update { <adres IP> }; }; 30

przykład master: named.conf - zone key rndc-key { algorithm hmac-md5; secret vfrwc08rk3ldereky0qlo7kmswpv6yutlumac31au2w= }; zone test.pl { type master; file test.pl.db ; allow-transfer { key rndc-key; }; notify yes; }; 31

przykład slave: named.conf - zone key rndc-key { algorithm hmac-md5; secret vfrwc08rk3ldereky0qlo7kmswpv6yutlumac31au2w= }; server 192.168.254.254 { keys { rndc-key; }; }; zone test.pl { type slave; file test.pl.db ; master { 192.168.254.254; }; notify no; }; 32

rndc.conf przykład: key rndc-key { algorithm hmac-md5; secret vfrwc08rk3ldereky0qlo7kmswpv6yutlumac31au2w= ; }; options { default-key rndc-key ; default-server 127.0.0.1; default-port 953; }; 33

Pliki stref każdy rekord tego pliku składa si ę z: <nazwy> <klasy> <TTL> <typu> <dane> Rodzaje typów: A adres urządzenia A6 lub AAAA adres IPv6 urządzenia CNAME alias nazwy urządzenia HINFO opisuje procesor i system operacyjny MX serwer pocztowy NS serwer nazwy (DNS) PTR wskaźnik na adres domenowy SOA identyfikuje początek domeny TXT pole tekstowe KEY i SIG wykorzystywane przez DNSSEC 34

Pliki stref przykład: $TTL 345600 @ IN SOA Ns1.test.Pl. root.ns1.test.pl. ( 2004031501 ; Serial 86400 ; Refresh 1d 10800 ; Retry 3h 2592000 ; Expire 30d 345600 ) ; MinimumTTL 4d IN NS Ns1.test.Pl. IN NS ns3.pomoc.pl. IN A 192.168.2.1 IN MX 10 smtp $ORIGIN test.pl. ns1 IN A 192.168.2.1 smtp IN A 192.168.10.1 ftp IN CNAME ns1 IN HINFO pentium4 Linux 35

Podsumowanie: Bezpieczeństwo DNS należy podzielić na dwie części: bezpieczeństwo serwera środowisko chroot bezpieczeństwo przesyłanych danych TSIG i DNSSEC Niestety aktualnie bezpieczeństwo przesyłania danych przez serwery DNS nie jest powszechne. Aby w pełni wprowadzić DNSSEC tzw. root DNS powinny wprowadzić obowiązek podpisywania poddomen i powinno to być darmowe lub w ramach opłaty, któr ą uiszcza si ę za utrzymywanie delegacji domeny. 36

Literatura magazyn Hakin9 nr 3/2004 http://www.isc.org/index.pl?/sw/bind/ dokumentacja serwera bind9 37