Sprawozdanie z dotychczasowych prac

wykonanych w ramach projektu LDAP

wrzesień 2001  luty 2002

Opis i przyjęta kolejność działań


Zgodnie z przyjętym harmonogramem wykonania projektu w pierwszym etapie dokonano przeglądu istniejących oraz powstających standardów i projektów (internet drafts) w zakresie możliwości wykorzystania baz LDAP do przechowywania informacji związanych z DNS, DNS SEC, a także możliwości przechowywania informacji związanych z identyfikacją i uwierzytelnianiem dostępu do danych.

Następny etap stanowiło dotarcie do narzędzi pozwalających na współpracę DNS z LDAP oraz ich kategoryzacja. Przeanalizowano podstawowe cechy, możliwości, sposób działania dostępnych narzędzi, ze szczególnym uwzględnieniem ograniczeń i wad badanych rozwiązań. W kolejnym kroku dokonaliśmy wstępnej oceny narzędzi pod kątem możliwości ich adaptacji dla potrzeb projektu. Kolejny etap tej części prac stanowiła wstępna analiza wymagań DNS SEC w kontekście możliwości współpracy z bazami LDAP z uwzględnieniem aspektów związanych z przechowywaniem i metodami dostępu do kluczy publicznych.
 

Przegląd standardów

W ramach przeglądu standardów przeanalizowano następujące dokumenty:

http://www.nexor.com/info/LDAP-RFCs.htm (stan prac nad protokołem LDAP  zbiorcze zestawienie RFC i trwających projektów,)
http://www.dante.net/nameflow/ds/draft.html (zestawienie projektów związanych z LDAP- DANTE)
http://community.roxen.com/developers/idocs/drafts/show_category.html?cat=ldapext (zestawienie projektów związanych z LDAP)
RFC 2251    Lightweight Directory Access Protocol (v3)
RFC 2252    Lightweight Directory Access Protocol (v3):Attribute Syntax Definitions
RFC 2830    Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security
RFC 2247    Using Domains in LDAP/X.500 Distinguished Names
RFC 2849    LDAP Data Interchange Format (LDIF) - Technical Specification
RFC 2253    Lightweight Directory Access Protocol (v3): UTF-8 String Representation ofDistinguished Names
RFC 2377    Naming Plan for Internet Directory-Enabled Applications
RFC 2820    Access Control Requirements for LDAP
RFC 2829    Authentication Methods for LDAP
RFC 2222    Simple Authentication and Security Layer (SASL)
RFC 2444    The One-Time-Password SASL Mechanism
RFC 2831    Using Digest Authentication as a SASL Mechanism
RFC 2845    Secret Key Transaction Authentication for DNS (TSIG)
RFC 2535    Domain Name System Security Extensions
RFC 3112    LDAP Authentication Password Schema
http://www.ietf.org/html.charters/ldapext-charter.html (rozszerzenia LDAP)
http://www.dns.net/dnsrd/docs/id.html#dnsext (rozszerzenia DNS)
http://staff.pisoftware.com/bmarshal/publications/ldap.html#Implementation (System authentication using LDAP)
http://rr.sans.org/authentic/sec_LDAP.php (Securely Implementing LDAP SANS Institute)
http://www.nexor.com/info/LDAP-Apps/LDAP-Apps.htm (Zastosowania LDAP)
http://ldap.akbkhome.com/ (LDAP Schema viewer)
http://www.openldap.org/ (OpenLDAP home)
http://java.sun.com/products/jndi/tutorial/ldap/TOC.html (Tips for LDAP users)
http://www.ripe.net/disi/ (Informacje o DNS SEC)
http://www.nlnetlabs.nl/dnssec/ (Informacje o DNS SEC)
 

Narzędzia współpracy DNS <->LDAP i narzędzia związane z DNS SEC


http://www.venaas.no/ldap/bind-sdb/ (LDAP sdb back-end for BIND 9.1.x/9.2.x)
http://www.ripe.net/disi/SRC/Net-DNS-0.19-DNSSEC-05.tar.gz (Net::DNS package with DNSSEC functionality)
http://ldap2dns.tiscover.com/ (narzędzie pozwalające na generowanie plików używanych przez DNS na podstawie danych z bazy LDAP)
http://www.nimh.org/code/ (dnsldap/ldapaxfr narzędzia pozwalające na pobieranie informacji o strukturze DNS z przechowującej je bazy LDAP)
 

Wnioski

- Kierunek prac


Pomimo znacznej liczby projektów związanych z wykorzystaniem baz LDAP do współpracy z DNS opinie co do słuszności i kierunku integracji tych rozwiązań nie są jednoznaczne. Najbardziej słuszna naszym zdaniem jest opinia jednego ze współtwórców protokołu LDAP Tima Howes'a. Zgodnie z jego zdaniemrola baz LDAP w kontekście współpracy z systemem DNS powinna być wyłącznie pomocnicza. W artykule pod tytułem "LDAP: Use as Directed" (http://www.networkmagazine.com/article/DCM20000502S0039/1)
opublikowanym przez network magazin (Feb 1, 1999) autor pisze:
 

[...] LDAP is not a stand-in for DNS, which may well be the world's largest distributed database. Although LDAP's abilities are more or less a superset of DNS's-whose biggest job is translating names like home.netscape.com into IP addresses-there's a very good argument for leaving DNS alone: It's working just fine. Also, LDAP can't contend with the connectionless transport that DNS usually runs over. Ultimately, LDAP may have a role in managing and augmenting the information found in DNS. For example, it could link contact information to host information, but it cannot take the place of the DNS database itself.[...]
 

Autor nie odnosi się wprawdzie bezpośrednio do koncepcji przechowywania informacji o strukturze DNS w bazach LDAP, jednak wspomnianą rolę pomocniczą można interpretować jako założenie zgodne z kierunkiem prac projektu.
 

- Narzędzia


Spośród analizowanych narzędzi interesujące wydaje się byćoprogramowanie LDAP sdb backend (dla BIND 9.1.x /9.2.x ) które wraz z zone2ldap w oparciu o dNSZone schema umożliwia współdziałanie DNS z bazą LDAP oraz migrację z obecnej formy przechowywania informacji o drzewie DNS (pliki tekstowe znajdujące się bezpośrednio na serwerze) do bazy LDAP.Przy każdym zapytaniu kierowanym do DNS bind kieruje zapytanie do przechowującej informacje o strukturze DNS, bazy LDAP. Należy zwrócić uwagę że baza LDAP przeszukiwana jest każdorazowo po odebraniu zapytania,
z pominięciem typowego dla bind'a mechanizmu sięgania do bufora (cache)zawierającego informacje będące wynikiem poprzednich zapytań kierowanych do systemu. Różnica ta nie pozostaje bez wpływu na wydajność rozwiązania. Oprogramowanie to zostanie wdrożone
w środowisku testowym.Kolejnym rozwiązania o podobnej funkcjonalności zakwalifikowanym do testów laboratoryjnych jest ldpadns. (http://www.nimh.org/code/)
 

Obecne prace


W obecnej chwili trwa przygotowanie środowiska które pozwoli na praktyczne sprawdzenie cech pozyskanych i zakwalifikowanych do testów narzędzi. Zakładamy że przeprowadzone prace umożliwią potwierdzenie cechy wynikających zprzeanalizowanych opisów produktów. Będą one wstępem do wykonanie prac związanych z weryfikacją istniejących atrybutów wykorzystywanych przez bazy LDAP do obsługi DNS. Na tej podstawie możliwe będzie rozpoczęciedziałań mających na celu zdefiniowanie dodatkowych atrybutów koniecznych do realizacji założonej w projekcie funkcjonalności.
 

Raport opracował:

Maciej Siciarek
Andrzej Chrząszcz