DNSSEC

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. július 16-án felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A DNSSEC ( Eng.  Domain Name System Security Extensions ) a DNS - protokoll IETF -kiterjesztéseinek halmaza, amely lehetővé teszi az IP-címhamisításhoz kapcsolódó támadások minimalizálását a tartománynevek feloldásakor . Célja, hogy a DNS-kliensek (angol terminusfeloldó) hiteles válaszokat adjon a DNS-lekérdezésekre (vagy hiteles információt a hiányzó adatok tényéről), és biztosítsa azok integritását. Nyilvános kulcsú titkosítást használ. Az adatok elérhetősége és a kérések bizalmas kezelése nem biztosított. A DNS biztonságának biztosítása kritikus fontosságú az általános internetbiztonság szempontjából.

Leírás

A Domain Name System (DNS) kezdetben nem biztonsági célokat szolgált, hanem méretezhető elosztott rendszerek létrehozására. Idővel a DNS-rendszer egyre sebezhetőbbé válik. A támadók egyszerűen átirányítják a felhasználói kéréseket szimbolikus névvel álszerverekre, és így hozzáférnek jelszavakhoz, hitelkártyaszámokhoz és egyéb bizalmas információkhoz. A felhasználók maguk nem tehetnek ez ellen, hiszen a legtöbb esetben nem is sejtik, hogy a kérést átirányították - a böngészősor bejegyzése és maga az oldal pontosan megegyezik azzal, amit a felhasználó elvár. A DNSSEC egy kísérlet a biztonságra, miközben visszafelé kompatibilis.

A DNSSEC célja az volt, hogy megvédje az ügyfeleket a hamis DNS-adatoktól, például a DNS-gyorsítótár-mérgezés által generáltoktól . A DNSSEC-től érkező összes válasz digitálisan aláírt. A digitális aláírás ellenőrzésekor a DNS-ügyfél ellenőrzi az információ helyességét és integritását.

A DNSSEC nem titkosítja és nem módosítja az adatkezelést, és kompatibilis a jelenlegi DNS-rendszer és alkalmazások korábbi verzióival. A DNSSEC olyan információkat is képes hitelesíteni, mint például a DNS CERT rekordban tárolt általános célú kriptográfiai tanúsítványok . Az RFC 4398 leírja, hogyan terjesztheti ezeket a tanúsítványokat, beleértve az e-mailt is, amely lehetővé teszi a DNSSEC használatát az aláírási kulcs tanúsítványok globálisan elosztott tárolójaként.

A DNSSEC nem biztosít adatvédelmet; különösen az összes DNSSEC-válasz hitelesített, de nem titkosított. A DNSSEC nem véd közvetlenül a DoS támadások ellen , bár valamilyen módon közvetetten megteszi. Más szabványokat (nem DNSSEC) használnak a DNS-kiszolgálók közötti nagy mennyiségű adat biztosítására.

A DNSSEC specifikáció ( DNSSEC-bis ) részletezi az aktuális DNSSEC protokollt. Lásd: RFC 4033 , RFC 4034 és RFC 4035 .

Történelem

A domain névrendszer kezdetben nem rendelkezett olyan mechanizmusokkal, amelyek megvédték volna a szerver válaszában szereplő információk helyettesítését, mivel a fejlesztés idején (az 1980-as évek elején) a modern internet biztonsági fenyegetései nem voltak relevánsak. Az ügyfelek ugyanakkor kizárólag a kétbájtos kérésazonosító alapján ítélték meg a kapott információk helyességét. Így a támadónak több mint 65536 értéket kellett ismételnie, hogy "megmérgezhesse a gyorsítótárat". Ez azt jelentette, hogy a DNS-rendszerben lévő adatok megsérülnek (szándékosan vagy tévedésből), és a DNS-szerver gyorsítótárba helyezi azokat a teljesítmény optimalizálása érdekében (a gyorsítótár "megmérgeződik"), és elkezdi kiszolgálni ezeket a nem hiteles adatokat az ügyfeleknek. Steve Bellovin még 1990-ben súlyos biztonsági hibákat azonosított  . A kutatás ezen a területen megkezdődött, és a jelentés 1995-ös megjelenése óta teljes lendülettel folyik [1] .

A DNSSEC RFC 2065 első kiadását az IETF adta ki 1997-ben. A specifikáció megvalósítására tett kísérletek az új RFC 2535 specifikációhoz vezettek 1999-ben. A tervek szerint az IETF RFC 2535 alapú DNSSEC-t implementálták volna .

Sajnos az IETF RFC 2535 specifikációnak komoly problémái voltak a teljes internetre való skálázással. 2001-re világossá vált, hogy ez a specifikáció nem alkalmas nagy hálózatokra. A normál működés során a DNS-kiszolgálók gyakran nem szinkronizálódnak a szüleikkel (a hierarchia felső tartományaival). Ez általában nem jelentett problémát, de ha a DNSSEC engedélyezve van, a deszinkronizált adatoknak nem szándékos DoS hatása lehet. A biztonságos DNS sokkal számításigényesebb, és könnyebben, mint a „klasszikus” DNS, lefoglalja az összes számítási erőforrást.

A DNSSEC első verziója hat üzenetből álló kommunikációt és nagy mennyiségű adatot igényelt a módosítások végrehajtásához a gyermeken (a gyermek összes DNS-zónáját teljesen át kell adni a szülőnek, a szülő hajtja végre a változtatásokat és visszaküldi őket a gyermeknek ). Ezenkívül a nyilvános kulcs megváltoztatása katasztrofális hatással járhat. Például, ha a „.com” zóna megváltoztatja a kulcsát, akkor 22 millió rekordot kell elküldeni (mivel az összes utódban minden rekordot frissíteni kellett). Így az RFC 2535 formájú DNSSEC-et nem lehetett az internet méretéhez igazítani.

Ezek a bonyolultságok pedig új specifikációk ( RFC 4033 , RFC 4034 , RFC 4035 ) megjelenéséhez vezettek a DNSSEC alapvető változtatásaival (DNSSEC-bis), amelyek új verziója megszüntette a korábbi megvalósítás fő problémáját, és bár az új specifikációban az ügyfeleknek további műveleteket kell végrehajtaniuk a kulcsok ellenőrzéséhez, ez meglehetősen alkalmasnak bizonyult a gyakorlati használatra.

2005-ben jelent meg a DNSSEC aktuális kiadása, amellyel mindenki dolgozik. 2008-ban mérföldkőnek számító esemény történt, amikor Dan Kaminsky megmutatta a világnak, hogy 10 másodperc alatt megmérgezheti a gyorsítótárat. A DNS-szoftver-szállítók úgy válaszoltak, hogy a lekérdezés azonosítója mellett véletlenszerűen kiválasztották a kimenő portot a lekérdezéshez. Útközben viták kezdődtek a DNSSEC megvalósításával kapcsolatban.

A DNSSEC-változtatás, az úgynevezett DNSSEC-bis (a név a DNSSEC-bis megkülönböztetésére kapott az RFC 2535 eredeti DNSSEC-megközelítésétől ) a DS ( Delegation Signer )  elvet használja, hogy egy további közvetett delegálási réteget biztosítson a zónák szülőről gyermekre való átvitelekor. . Az új megközelítésben a nyilvános kulcs megváltoztatásakor hat helyett csak egy-két üzenetet küldenek a szülődomain adminisztrátorának: az örökös az új nyilvános kulcs kivonatát (ujjlenyomat, hash) küldi el a szülőnek. A szülő egyszerűen eltárolja a nyilvános kulcs azonosítóját minden egyes gyermek számára. Ez azt jelenti, hogy nagyon kis mennyiségű adatot küldenek a szülőnek, ahelyett, hogy hatalmas mennyiségű adatot cserélnének a gyermek és a szülő között.

A DNS-adatok aláírása és érvényesítése további többletterhelést jelent, ami negatívan befolyásolja a hálózat és a szerver teljesítményét. Például a DNSSEC zóna (egy adott tartományban meghatározott szintű tartománynevek halmaza) átlagosan 7-10-szer nagyobb, mint maga a DNS-rendszer. Az aláírások generálása és ellenőrzése jelentős CPU-időt igényel. Az aláírások és kulcsok egy nagyságrenddel több helyet foglalnak el a lemezen és a RAM-ban, mint maguk az adatok.

Hogyan működik

A DNSSEC működési elve a digitális aláírások használatán alapul . Az adminisztrátor rendelkezik egy rekorddal a domain név és az IP-cím egyezéséről. A DNSSEC mindegyiket szigorúan követi egy speciális, szigorúan meghatározott karaktersorozattal, ami egy digitális aláírás. A digitális aláírás fő jellemzője, hogy léteznek nyílt, nyilvánosan elérhető módszerek az aláírások hitelességének ellenőrzésére, de tetszőleges adatokhoz aláírás létrehozásához az aláírási titkos kulcs rendelkezésre állása szükséges. Ezért a rendszer minden résztvevője ellenőrizheti az aláírást, de a gyakorlatban csak az írhat alá új vagy megváltozott adatokat, aki rendelkezik a titkos kulccsal.

Elméletileg semmi sem tiltja, hogy a hacker kiszámítsa a titkos kulcsot és felvegye az aláírást, de a gyakorlatban egy kellően összetett és hosszú kulcs esetén a meglévő számítástechnikai eszközökkel és matematikai algoritmusokkal nem hajtható végre egy ilyen művelet ésszerű időn belül.

Titkos kulccsal a digitális aláírás kiszámítása nem nehéz. Ilyenek az aszimmetrikus nyilvános kulcsú titkosítási rendszerek, amelyek a digitális aláírási algoritmusok hátterében állnak.

Tegyük fel, hogy egy felhasználó felkeresi a wikipedia.org webhelyet. A következő történik:

  1. A felhasználó domain nevet kér a feloldótól;
  2. A feloldó lekéri a wikipedia.org-ot a DNS-kiszolgálótól (például a helyi szerverek gyorsítótárában nem volt információ a tartományról, és a kérés elérte a szolgáltató szerverét);
  3. Ha a szolgáltató szervereinek gyorsítótárában nincs információ, akkor a kérés a gyökérszerverre kerül átirányításra, a DO bit is be van állítva, jelezve, hogy DNSSEC használatban van;
  4. A gyökérkiszolgáló jelenti, hogy az abcnet szerver felelős a szervezeti zónáért. A szerver ezután elküldi az NS-rekordok készletét az org-zónához, a KSK-kivonatokat az org-zónához (DS-rekordok), valamint az NS- és DS-rekordok aláírását (RRSIG-rekordot);
  5. A feloldó úgy érvényesíti a kapott ZSK-t, hogy ellenőrzi, hogy a gyökérzóna KSK aláírása egyezik-e. A feloldó ezután ellenőrzi az RRSIG rekordban található gyökérzóna DS rekordok digitális aláírását. Ha itt minden helyes, akkor a szerver megbízik a kapott kivonatokban, és segítségével ellenőrzi az alacsonyabb szintű - a szervezeti zóna - DNSKEY rekordjának aláírását;
  6. Most, miután megkapta a szervezeti zónáért felelős szerver címét (server abcnet), a feloldó továbbítja neki ugyanazt a kérést;
  7. Az abcnet szerver jelentése szerint a wikipedia.org zónáért felelős szerver d.org címmel rendelkezik. Ezenkívül elküldi az org-zóna privát KSK-jával aláírt aláíró kulcskészletét (ZSK), valamint a wikipedia.org zóna KSK-kivonatát, amelyet az org-zóna ZSK-jával írt alá;
  8. A feloldó összehasonlítja a gyökérszervertől kapott hash-t azzal, amit az abcnet szervertől kapott org-zóna KSK-jából saját maga számított ki, és ha egyezik, elkezd megbízni ebben a KSK-ban. Ezt követően a feloldó ellenőrzi az org-zóna kulcsainak aláírását, és elkezd megbízni az org-zóna ZSK-jában. A feloldó ezután ellenőrzi a wikipedia.org zóna KSK-ját. Mindezen ellenőrzések után a feloldó rendelkezik a wikipedia.org zóna KSK kivonatával (DS) és a d.org szerver címével, ahol a wikipedia.org zónára vonatkozó információk tárolódnak;
  9. Végül a feloldó meghívja a d.org szervert a wikipedia.org webhelyhez, és ezzel egy kicsit beállítja, hogy az DNSSEC-et használjon;
  10. A d.org szerver megérti, hogy a wikipedia.org zóna önmagában van, és választ küld a feloldónak, amely tartalmazza a wikipedia.org zóna aláíró kulcskészletét (ZSK), amely a wikipedia.org zóna KSK-jával van aláírva, és a wikipedia által aláírt címet. org zóna ZSK webhely wikipedia.org;
  11. A 7. ponthoz hasonlóan a feloldó ellenőrzi a wikipedia.org zóna KSK-ját, a wikipedia.org zóna ZSK-ját és a wikipedia.org webhely címét;
  12. Ha a 10. pont szerinti ellenőrzés sikeres, a feloldó visszaküldi a felhasználónak a wikipedia.org webhely címét és a válasz ellenőrzésének megerősítését (AD bitkészlet) tartalmazó választ.

Ha valamit nem lehet érvényesíteni, a feloldó szervfail hibát ad vissza.

Az így kialakult bizalmi lánc a gyökértartományra és a gyökérzóna kulcsra redukálódik.

A Delegation of Signing ( DS ) rekord tartalmazza az örökös domain nevének és KSK-jának kivonatát. A DNSKEY rekord tartalmazza a kulcs nyilvános részét és azonosítóit (azonosító, típus és hash függvény).

A KSK (Key Signing Key) kulcsaláíró kulcsot (hosszú távú kulcsot), a ZSK (zóna aláíró kulcsot) pedig zóna aláíró kulcsot (hosszú távú kulcsot) jelent. A KSK segítségével ellenőrzik a ZSK-t, amely a gyökérzóna aláírására szolgál. A Root Zone ZSK-t a PTI (az ICANN IANA funkcionális részlege ) hozza létre, amely technikailag felelős a DNS gyökérzóna terjesztéséért. Az ICANN eljárása szerint a Root Zone ZSK-t évente négyszer frissítik.

Gyökérzóna aláírás

A DNSSEC segítségével továbbított összes adat teljes körű érvényesítéséhez egy bizalmi láncra van szükség a DNS gyökérzónájából (.). A megfelelően aláírt gyökérzóna megvalósítása az összes gyökér DNS-kiszolgálón a modern Internet összeomlását okozhatja, ezért az IETF az ICANN -nel együttműködve lépésről lépésre dolgozott ki egy aláírt gyökérzóna és egy kulcselosztási mechanizmus megvalósítására szolgáló eljárást . Az eljárás több mint 8 hónapig elhúzódott, és lépésről lépésre bemutatta a gyökérzóna első DNS-kiszolgálóját, érvénytelen elektronikus aláírási kulccsal aláírva . Erre a lépésre azért volt szükség, hogy biztosítsák a terhelés alatti kiszolgálók tesztelését, a régebbi szoftverekkel való visszamenőleges kompatibilitás fenntartását és a korábbi konfigurációra való visszaállítás lehetőségét.

2010 júniusáig minden gyökérszerver megfelelően működött egy érvénytelen kulccsal aláírt zónával. Júliusban az ICANN nemzetközi konferenciát tartott az elektronikus aláírási kulcsok generálására vonatkozó eljárásról, amelyet ezt követően a gyökérzóna aláírt.

2010. július 15- én megtörtént a gyökérzóna aláírása és megkezdődött az aláírt zóna megvalósítása a szervereken. Július 28-án az ICANN bejelentette [2] ennek a folyamatnak a befejezését. A gyökérzónát digitálisan aláírták és a DNS rendszerben terjesztették.

2011. március 31- én aláírták az internet legnagyobb zónáját (90 millió domain) - .com [3] .

Kulcsinfrastruktúra

Az ICANN olyan modellt választott, ahol a zóna aláírását az internetes közösség képviselői (Trusted Community képviselő, TCR) irányítják. A képviselőket azok közül választották ki, akik nem kapcsolódnak a DNS gyökérzóna kezeléséhez. A megválasztott képviselők Crypto Officers (CO) és Recovery Key részvényesek (RKSH) voltak. A CO-k fizikai kulcsokat kaptak a ZSK EDS kulcs generálásához, és az RKSH-k birtokában vannak a kriptográfiai berendezésben használt kulcs (KSK) részeit tartalmazó intelligens kártyák . Egyes sajtóorgánumok arra a következtetésre jutottak, hogy hálózati vészhelyzet esetén a CO vagy az RKSH jelenlétét igénylő eljárásokat hajtanak végre [4] . Az ICANN eljárásainak megfelelően azonban a CO-kat minden egyes zóna-aláíró kulcs (ZSK) generálásakor bevonják, évente legfeljebb 4 alkalommal, az RKSH-t pedig valószínűleg soha, vagy a CO-kulcsok elvesztése vagy egy kompromittált gyökérzóna esetén. [5] .

Jelenlegi állapot

2013 októberéig 81 ccTLD és 13 általános DNSSEC-aláírt tartomány (IDN nélkül) található a gyökérzónában , így bizalmi láncot biztosít a második szintű tartományok számára. 2011-ben a DNSSEC (NSEC3 opt-out) segítségével aláírták az Oroszországhoz kapcsolódó .su zónát , 2012. október végén pedig megkezdődött benne a felhasználók által készített DS rekordok publikálása. [6] 2012 végén aláírták az orosz .ru domaint , melynek DS-rekordjait a gyökérzónában tették közzé [7] .

A gyökérzóna KSK módosítása

2018. október 11-én megtörtént az első gyökérzóna KSK-rotáció a 2010-es gyökérzóna aláírás óta. Az eredetileg 2017 októberére tervezett kulcsrotációt az ICANN elhalasztotta, amikor kiderült, hogy a feloldók jelentős része (körülbelül 2%-a) ugyanazt a kulcsot használja a DNSSEC aláírási lánc érvényesítéséhez. Az év során a Bind, PowerDNS, Knot és más DNS szervercsomagokban megvalósult néhány technikai megoldás, nagyszabású kampányt folytattak a nagyközönség tájékoztatására a kulcsrotációról, ennek eredményeként 2018 szeptemberében az ICANN Az igazgatóság a kulcsrotáció bevezetéséről döntött. A kulcsok elforgatásával nem volt jelentős probléma.

Megvalósítási problémák és hiányosságok

A DNSSEC megvalósítása nagymértékben késik az alábbi okok miatt:

  1. Visszafelé kompatibilis szabvány kidolgozása, amely az Internet méretére skálázható;
  2. A kulcsszereplők közötti nézeteltérések azzal kapcsolatban, hogy kinek kell a legfelső szintű domain (.com, .net) tulajdonosa;
  3. A DNS-kiszolgálóknak és -klienseknek támogatniuk kell a DNSSEC-et;
  4. A frissített DNS-feloldóknak, amelyek képesek együttműködni a DNSSEC-cel, TCP-t kell használniuk;
  5. Minden ügyfélnek be kell szereznie legalább egy megbízható nyilvános kulcsot, mielőtt elkezdené használni a DNSSEC-t;
  6. Megnövekedett terhelés a hálózaton a kérésekből származó komolyan (6-7-szeres) megnövekedett forgalom miatt;
  7. A kiszolgáló processzorának megnövekedett terhelése az aláírások generálása és ellenőrzése miatt, így előfordulhat, hogy néhány alulteljesített DNS-kiszolgálót cserélni kell;
  8. A megnövekedett tárolási követelmények az információk aláírt adatként történő megcímzéséhez sokkal több helyet foglalnak el;
  9. Mind a szerver, mind a kliens részek szoftverének elkészítése, tesztelése, finomítása szükséges, ami a teljes Internet léptékében időt és tesztelést igényel;
  10. A csonkfeloldók nincsenek védve a gyorsítótár-mérgezés ellen - az érvényesítés a rekurzív szerver oldalán történik, a kliens csak az AD bitkészlettel kap választ;
  11. A DNS-erősítő támadás veszélye meredeken megnőtt.

A legtöbb ilyen problémát a technikai internetes közösség oldja meg.

DNSSEC szoftver

Szerver oldali

A két leggyakoribb DNS-kiszolgáló megvalósítása, a BIND és az NSD  , támogatja a DNSSEC-et (13 gyökérszerverből 10 BIND-ot használ, a maradék 3 pedig NSD-t). A PowerDNS , Unbound és néhány más DNS-kiszolgáló is támogatott.

Kliens oldal

Tekintettel arra, hogy nagyon kevés szerveren telepítették a DNSSEC kiterjesztést, nagyon kevés DNSSEC-támogatással rendelkező végfelhasználói szoftver is készült. A Microsoft operációs rendszerei azonban már integrálták a DNSSEC-et. Windows Server 2008 -  RFC 2535 , Windows 7 és Windows Server 2008 R2 rendszerben - a DNSSEC-bis jelenlegi verziója.

A Windows XP és a Windows Server 2003 támogatja az RFC 2535 -öt , de csak a DNSSEC-cel rendelkező kiszolgálókról tudják sikeresen felismerni a csomagokat, itt véget is érnek a képességeik.

Külön említést érdemel a DNSSEC-Tools projekt , amely olyan alkalmazások, kiegészítők és beépülő modulok készlete, amely lehetővé teszi DNSSEC támogatás hozzáadását a Firefox böngészőhöz, a Thunderbird levelezőklienshez , a proftpd -hez , az ncftp FTP - kiszolgálókhoz és néhány más alkalmazáshoz . [8] .

A DNSSEC használatához szoftverre van szükség mind a szerver, mind a kliens oldalon.

Jegyzetek

  1. "A tartománynévrendszer használata rendszerbetörésekhez" archiválva 2008. február 26-án a Wayback Machine -nél, Steve Bellovin , 1995   (a hivatkozás nem elérhető)
  2. DNSSEC root aláírási közlemény . Letöltve: 2010. július 30. Az eredetiből archiválva : 2010. augusztus 7..
  3. Biztonsági bővítmények telepítése a .com legfelső szintű tartományban
  4. Hat programozó osztott ki "kulcsokat az internet újraindításához" . Letöltve: 2010. október 5. Az eredetiből archiválva : 2010. augusztus 23..
  5. DNSSEC a gyökérzónához . Letöltve: 2010. október 5. Az eredetiből archiválva : 2011. október 28..
  6. DNSSEC a RU-CENTER-ben (elérhetetlen hivatkozás) . Letöltve: 2012. november 5. Az eredetiből archiválva : 2012. november 8.. 
  7. A .RU és .РФ aláírt tartományok számának grafikonja . Letöltve: 2013. március 24. Az eredetiből archiválva : 2015. június 10.
  8. DNSSEC kiterjesztése a DNS-hez a fokozott biztonság érdekében . Hozzáférés dátuma: 2013. március 31. Az eredetiből archiválva : 2013. március 24.
  9. DNSSEC a Windows Server rendszerben . Letöltve: 2009. november 17. Az eredetiből archiválva : 2016. július 29.

Linkek

RFC-k