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 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 .
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.
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 ).
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.
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).
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.
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:
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.
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.
Névszerverek:
URI- sémák | |
---|---|
Hivatalos | |
nem hivatalos |
TCP / IP protokollok az OSI modell rétegei szerint | Alapvető|
---|---|
Fizikai | |
csatornázott | |
hálózat | |
Szállítás | |
ülés | |
Reprezentáció | |
Alkalmazott | |
Egyéb alkalmazva | |
A TCP és UDP portok listája |