DNS

DNS
Név Domain név rendszer
Szint ( az OSI modell szerint ) Alkalmazott
Család TCP/IP
Port/ID 53/ TCP , 53/ UDP
A protokoll célja Domain név feloldás
Leírás RFC 1034 , RFC 1035 /STD 13
Főbb megvalósítások (kliensek) Minden hálózati operációs rendszerbe beépítve
Alapvető megvalósítások ( szerverek ) BIND , NSD , PowerDNS vagy Microsoft DNS Server
 Médiafájlok a Wikimedia Commons oldalon

A DNS ( angolul  Domain Name System  "domain name system") egy számítógépes elosztott rendszer a tartományokkal kapcsolatos információk megszerzésére . Leggyakrabban arra használják, hogy IP-címet kapjanak egy gazdagépnévből (számítógép vagy eszköz), levelek útválasztási információi és/vagy szerverállomások a tartományban lévő protokollokhoz ( SRV rekord ).

Az elosztott DNS-adatbázist egy adott protokollon keresztül együttműködő DNS-kiszolgálók hierarchiája támogatja .

A DNS alapja a hierarchikus névstruktúra és a zónák ötlete . Minden névért felelős szerver átruházhatja a felelősséget a domain további részéért egy másik szerverre (adminisztratív szempontból - más szervezetre vagy személyre), ami lehetővé teszi, hogy az információk relevanciájáért felelősséget rendeljen a különböző szerverek szervereihez. szervezetek (emberek), amelyek csak a "saját" rész domainnevükért felelősek.

2010-től kezdődően a DNS-rendszer DNSSEC -nek ( DNS Security Extensions ) nevezett adatintegritás-ellenőrzéseket hajt végre . A továbbított adatok nem titkosítottak, de hitelességüket kriptográfiai módszerekkel ellenőrzik. A megvalósított DANE szabvány biztosítja a megbízható kriptográfiai információk ( tanúsítványok ) átvitelét a DNS-en keresztül, amelyet a szállítási és alkalmazási rétegek közötti biztonságos kapcsolatok létrehozására használnak .

A DNS fő jellemzői

A DNS a következő jellemzőkkel rendelkezik:

A DNS fontos az internet működéséhez , mivel a gazdagép IP-címére vonatkozó információkra van szükség a gazdagéphez való csatlakozáshoz, és az emberek könnyebben megjegyezhetik az alfabetikus (általában értelmes) címeket, mint egy számsorozatot. Bizonyos esetekben ez lehetővé teszi virtuális kiszolgálók, például HTTP-kiszolgálók használatát, megkülönböztetve őket a kérés neve alapján. Kezdetben a tartomány és az IP-címek közötti átalakítás egy speciális hosts szövegfájl segítségével történt , amelyet központilag fordítottak le, és automatikusan elküldtek a helyi hálózat minden egyes gépére. A Web növekedésével szükség volt egy hatékony, automatizált mechanizmusra, amely DNS lett.

A DNS-t Paul Mokapetris fejlesztette ki 1983- ban ; a működési mechanizmusok eredeti leírását az RFC 882 és az RFC 883 tartalmazza . 1987- ben az RFC 1034 és RFC 1035 kiadása megváltoztatta a DNS-specifikációt, és elavulttá vált az RFC 882 , RFC 883 és RFC 973 .

További funkciók

Történelem

Az egyszerűbb és megjegyezhetőbb név használata a numerikus állomáscím helyett az ARPANET korszakból származik . A Stanford Research Institute (jelenleg SRI International ) egy HOSTS.TXT szövegfájlt tartott fenn, amely a gazdagépneveket numerikus számítógépcímekre képezte le az ARPANET -en . A numerikus címek, az úgynevezett hozzárendelt számok listájának karbantartását Jon Postel a Dél-Kaliforniai Egyetem Információtudományi Intézetében (ISI) végezte, amelynek csapata szorosan együttműködött az NII-vel [1] .

A címek manuálisan lettek hozzárendelve. Gazdanév és cím kéréséhez, valamint számítógép hozzáadásához a főfájlhoz a felhasználók telefonon keresték fel az Elisabeth Feinler által működtetett SRI Network Information Centert (NIC), munkaidőben.

Az 1980-as évek elejére az egyetlen, központosított hoszttábla fenntartása lassú és nehézkessé vált, és a növekvő hálózatnak automatikus elnevezési rendszerre volt szüksége a technikai és személyi problémák kezelésére. Postel azt a feladatot tűzte ki maga elé, hogy kompromisszumot dolgozzon ki öt versengő javaslat között a Paul Mokapetris által felvetett probléma megoldására. Ehelyett a Mokapetris megalkotta a hierarchikus domain névrendszer koncepcióját.

Az IETF Munkacsoport 1983 novemberében tette közzé az RFC 882 és RFC 883 eredeti specifikációit.

1984-ben négy UC Berkeley diák, Douglas Terry, Mark Painter, David Riggle és Songnian Zhou megírta a BIND (Berkeley Internet Name Daemon) névszerver első verzióját. 1985-ben a DEC munkatársa, Kevin Dunlap jelentősen átalakította a DNS megvalósítását. Mike Karel, Phil Almquist és Paul Vixey azóta is támogatja a BIND -et . Az 1990-es évek elején a BIND -ot a Windows NT platformra vitték át . Széles körben elterjedt, különösen Unix rendszereken, és még mindig a legszélesebb körben használt DNS-szoftver az interneten.

1987 novemberében elfogadták a DNS-specifikációkat - RFC 1034 és RFC 1035 . Azóta több száz RFC -t fogadtak el a DNS módosítására és kiegészítésére.

Biztonsági problémák

Kezdetben a biztonsági aggályok nem voltak fő szempontok a DNS-szoftverek vagy a korai Interneten telepítendő szoftverek fejlesztése során, mivel a hálózat nem volt nyitott a nagyközönség számára. Az 1990-es években azonban az internet növekedése a kereskedelmi szektorban megváltoztatta az adatintegritás és a felhasználói hitelesítés védelmét szolgáló biztonsági intézkedések követelményeit.

Számos sebezhetőséget fedeztek fel és használtak ki a támadók. Az egyik ilyen probléma a DNS-gyorsítótár-mérgezés , amelyben az adatokat a gyorsítótár-feloldóknak továbbítják azzal az ürüggyel, hogy hiteles eredetkiszolgálók, és ezáltal az adattárat potenciálisan hamis információkkal és hosszú lejárati dátumokkal (élettartam) szennyezik. Ezt követően a legitim alkalmazásoktól érkező kérések átirányíthatók a támadó által felügyelt hálózati gazdagépekre.

A DNS-válaszokat korábban nem írták alá kriptográfiailag, ami számos támadási lehetőséget tesz lehetővé. A modern tartománynév-biztonsági bővítmények ( DNSSEC ) módosítják a DNS-t, hogy támogassák a kriptográfiailag aláírt válaszokat. Más bővítmények, például a TSIG, támogatják a kriptográfiai hitelesítést a megbízható társak között, és általában zónaátvitelek vagy dinamikus frissítési műveletek engedélyezésére használják.

Egyes domain nevek hamisítási hatások elérésére használhatók. Például a paypal.com és a paypa1.com különböző nevek, de előfordulhat, hogy a felhasználók nem tudják megkülönböztetni őket a grafikus felhasználói felületen a felhasználó által választott betűtípustól függően. Sok betűtípusban az l betű és az 1-es szám nagyon hasonlónak vagy akár teljesen azonosnak tűnik. Ez a probléma akut azoknál a rendszereknél, amelyek támogatják a nemzetköziesített tartományneveket, mivel az ISO 10646 karakterkódok közül sok megjeleníthető a tipikus számítógép-képernyőkön. Ezt a biztonsági rést időnként adathalászat során használják ki .

Az olyan technikák, mint a fordított DNS közvetlen rekordellenőrzéssel, szintén használhatók a DNS-eredmények érvényesítésére, de ezek kriptográfiailag nem érvényesek; ez nem veszi figyelembe az útválasztási információk helyettesítésének lehetőségét ( angol  BGP-hijacking ).

Terminológia és működési elvek

A DNS kulcsfogalmai a következők:

A DNS-rendszer DNS-kiszolgálók hierarchiáját tartalmazza , amely megfelel a zónák hierarchiájának . Minden zónát legalább egy hiteles DNS-kiszolgáló támogat (az angol  autoritative  - autoritatív szóból), amely információkat tartalmaz a tartományról.

A név és az IP-cím nem azonos  – egy IP-címnek több neve is lehet, ami lehetővé teszi több webhely támogatását egy számítógépen (ezt hívják virtuális tárhelynek ). Ennek a fordítottja is igaz – sok IP-cím leképezhető ugyanarra a névre: ez lehetővé teszi a terheléselosztás létrehozását .

A rendszer stabilitásának növelése érdekében sok azonos információt tartalmazó szervert használnak, és a protokoll rendelkezik eszközökkel a különböző szervereken található információk szinkronizálására. 13 root szerver van , ezek címe gyakorlatilag nem változik. [2]

A DNS-protokoll az 53-as TCP- vagy UDP - portot használja a lekérdezések megválaszolásához. Hagyományosan a kérelmeket és a válaszokat egyetlen UDP-datagramként küldik el . A TCP akkor használatos, ha a válaszadat mérete meghaladja az 512 bájtot, és AXFR kérések esetén.

Rekurzió

A DNS-ben a rekurzió kifejezés a DNS-kiszolgáló viselkedési algoritmusára utal : "a kliens nevében teljes körű keresést hajt végre a szükséges információkért a teljes DNS-rendszerben, ha szükséges, hivatkozva más DNS-kiszolgálókra" .

A DNS-lekérdezés lehet rekurzív  – teljes keresést igényel – és nem rekurzív (vagy iteratív ) – teljes keresést nem igényel.

Hasonlóképpen, a DNS-kiszolgáló lehet rekurzív (teljes kikeresésre képes) és nem rekurzív (nem tud teljes keresést végrehajtani). Egyes DNS-kiszolgálószoftverek, mint például a BIND , beállíthatók úgy, hogy egyes klienseket rekurzívan , másokat pedig nem rekurzívan kérdezzenek le .

Amikor egy nem rekurzív lekérdezésre válaszol , valamint a rekurzív lekérdezések végrehajtásának képtelensége vagy tiltása esetén a DNS-kiszolgáló vagy adatokat ad vissza arról a zónáról, amelyért felelős , vagy hibát ad vissza. A nem rekurzív szerver beállításai, amikor a válasz azon szerverek címét adja vissza, amelyek több információval rendelkeznek a kért zónáról, mint a válaszoló szerver (leggyakrabban a gyökérszerverek címei), hibásak, és egy ilyen szerver DoS támadások szervezésére használják .

Rekurzív lekérdezés esetén a DNS szerver lekérdezi a szervereket (a névben szereplő zónaszint csökkenő sorrendjében), amíg választ nem talál, vagy nem találja, hogy a tartomány nem létezik (a gyakorlatban a keresés a legközelebbi DNS-ről indul. szervereket a kívánt szerverre, ha a róluk elérhető információk gyorsítótárazottan és naprakészen állnak rendelkezésre, előfordulhat, hogy a szerver nem kérdez le más DNS-kiszolgálókat).

Tekintsük a példát a teljes rendszer működésére.

Tegyük fel, hogy beírtuk a böngészőbe a címet ru.wikipedia.org. A böngésző egyezést keres e cím és a hosts fájlban található IP - cím között . Ha a fájl nem tartalmaz egyezést, akkor a böngésző megkérdezi a DNS-kiszolgálót: "mi az IP-címe ru.wikipedia.org"? Előfordulhat azonban, hogy a DNS-kiszolgáló nem csak a kért névről tud semmit, hanem akár a teljes tartományról is wikipedia.org. Ebben az esetben a szerver felveszi a kapcsolatot a gyökérszerverrel  – például 198.41.0.4. Ez a szerver azt mondja: "Nincs információm erről a címről, de tudom, hogy a 204.74.112.1 felelős a zónáért org." Ezután a DNS-kiszolgáló elküldi kérését a 204.74.112.1-re, de azt válaszolja: "Nincs információm erről a szerverről, de tudom, hogy a 207.142.131.234 felelős a zónáért wikipedia.org." Végül ugyanazt a kérést elküldik a harmadik DNS-kiszolgálónak, és választ kap - egy IP-címet, amelyet továbbít a kliensnek - a böngészőnek.

Ebben az esetben egy név feloldásakor, azaz az IP név szerinti keresése során:

Néha előfordulhat, hogy a kért szerver rekurzív lekérdezést küld egy „felfelé irányuló” DNS-kiszolgálónak, és vár a kész válaszra.

A rekurzív lekérdezésfeldolgozással minden válasz átmegy a DNS-kiszolgálón, és az lehetőséget kap a gyorsítótárba helyezésére. Az azonos nevekre vonatkozó ismételt kérés általában nem haladja meg a szerver gyorsítótárát , egyáltalán nem hívnak más szervereket. A válaszok gyorsítótárának megengedett ideje a válaszokkal együtt érkezik ( az erőforrásrekord TTL mezője ).

A rekurzív kérések több erőforrást igényelnek a kiszolgálótól (és nagyobb forgalmat generálnak), ezért általában a szerver tulajdonosa által „ismert” csomópontokból fogadják el őket (például a szolgáltató lehetőséget biztosít rekurzív kérések csak az ügyfelei számára, vállalati környezetben). hálózat, rekurzív kéréseket csak a helyi szegmensből fogadunk el). A nem rekurzív lekérdezések általában a hálózat összes gépétől érkeznek (és csak a gazdagép által üzemeltetett zónára vonatkozó lekérdezések kapnak értelmes választ, a többi zónára vonatkozó DNS-lekérdezések általában más szerverek címeit adják vissza).

Fordított DNS-lekérdezés

A DNS-t elsősorban a szimbolikus nevek IP-címekké alakítására használják, de fordított folyamatot is végrehajthat. Ehhez a meglévő DNS-eszközöket használják. A tény az, hogy különféle adatok összehasonlíthatók egy DNS-rekorddal, beleértve néhány szimbolikus nevet is. Létezik egy speciális tartomány, in-addr.arpaamelynek bejegyzései az IP-címek szimbolikus nevekké alakítására szolgálnak. Például egy cím DNS-nevének beszerzéséhez 11.22.33.44lekérdezhet egy bejegyzést a DNS-kiszolgálótól, 44.33.22.11.in-addr.arpaés az a megfelelő szimbolikus nevet adja vissza. Az IP-cím részei írásának fordított sorrendje azért van, mert az IP-címeknél a magas bitek az elején, a szimbolikus DNS-neveknél pedig a magas bitek (a gyökérhez közelebb találhatók) a végén találhatók.

DNS rekordok

A DNS -rekordok vagy az erőforrásrekordok ( angol nyelvű  erőforrásrekordok , RR ) az információk tárolásának és továbbításának egységei a DNS-ben. Minden erőforrásrekord a következő mezőkből áll [3] :

A DNS-rekordok legfontosabb típusai a következők:

Fenntartott domain nevek

Az RFC 2606 ( Fenntartott felső szintű DNS-nevek) olyan tartományneveket határoz meg, amelyeket példaként (például a dokumentációban) és tesztelési célokra kell használni. A example.com, example.orgésexample.net mellett ebbe a csoportba tartozik még a teststb invalid.

Nemzetközi tartománynevek

A tartománynév csak korlátozott számú ASCII -karakterből állhat, ami lehetővé teszi a tartománycím beírását a felhasználó nyelvétől függetlenül. Az ICANN jóváhagyott egy Punycode - alapú IDNA -rendszert , amely bármely Unicode -karakterláncot érvényes DNS-karakterkészletté alakít át.

DNS szoftver

Névszerverek:

Lásd még

Jegyzetek

  1. IEEE Annals [3B2-9] man2011030074.3d 11:54. . - 011.07.29. — 74. oldal p.
  2. A gyökérzóna aktuális verziója mindig a következő címen található: ftp://ftp.internic.net/domain/named.root
  3. 1 2 Domain Name System (DNS) IANA  szempontok . tools.ietf.org. Letöltve: 2019. február 7. Az eredetiből archiválva : 2020. augusztus 2..
  4. P.V. Mockapetris. Domain nevek – fogalmak és lehetőségek  . tools.ietf.org. Letöltve: 2019. február 7. Az eredetiből archiválva : 2018. június 23.
  5. P.V. Mockapetris. Domain nevek - megvalósítás és specifikáció  (angol) . tools.ietf.org. Letöltve: 2019. február 7. Az eredetiből archiválva : 2019. április 3.

Linkek

Cikkek

RFC-k