Hogyan működik az NTP
Segal törvényei szerint
Egy férfi órával tudja, hány óra van . Egy két órás férfi soha nem biztos benne.
David L. Mills számítástechnikus az 1980-as évek elején létrehozta az NTP-t, hogy szinkronizálja a számítógépes órákat a szokásos időreferenciával. Az NTP megalakulása óta egy csoport önkéntes az NTP pool projekt nagy, nyilvánosan elérhető “virtuális időkiszolgáló-klasztert tartott fenn világszerte megbízható, könnyen használható NTP-szolgáltatást ügyfelek millióinak” számos Linux-disztribúcióhoz és hálózati eszközhöz.
Amint azt az NTP részletezi Az .org, NTP hierarchikus módon működik úgy, hogy az időt egyik rétegből a másikba továbbítja. Például a Stratum 0 referenciaóraként szolgál, és ez a legpontosabb és legpontosabb időszerver (pl. atomórák, GPS-órák és rádiós órák) .) A Stratum 1 szerverek időt vesznek a Stratum 0 szerverekről és így tovább a Stratum 15-ig; Stratum 16 cl Az ockok nincsenek szinkronizálva egyetlen forrással sem. A kliensen eltöltött idő egy vagy több rétegkiszolgálóval végzett csomagcsere révén állapítható meg. Ezek a csomagok minden egyes üzenetre időbélyegzőket helyeznek, és az üzenetek továbbításához szükséges idő az algoritmus tényezője a konszenzus megteremtésére az ügyfél számára szükséges időre vonatkozóan.
Az NTP pontos időforrást tud biztosítani a konszenzussal több bemeneti szerver. Azt is azonosíthatja, hogy mely elérhető időkiszolgálók pontatlanok. Az egyik kihívás az, hogy az NTP-t akkoriban építették, amikor az internetes közösség barátságosabb volt. Az NTP kezdete során az NTP szerverek nem foglalkoznak a felhasználók ellenőrzésével. Az 1980-as évek elején gyakori volt, hogy az NTP szerverek nyilvánosan elérhetőek voltak, mivel az erőforrások a fejlesztők saját NTP-megoldásuk elhárításához és megerősítéséhez használhatták.
Az NTP szabványos protokollja a User Datagram Protocol (UDP). Ez a tervezési döntés visszaélési lehetőségeket teremtett. Az UDP, amely kapcsolat nélküli, a legjobb erőfeszítéseket igénylő protokoll, ezért hajlamosabb a csomagok hamisítására és elvesztésére, mint a TCP (Transmission Control Protocol). Míg az NTP pool projekt önkéntesei tovább fejlesztették az NTP-t, sok hálózati rendszergazda és cégtulajdonos motivációja a saját felszerelés javításához nem olyan erős. Megalakulása óta az NTP hálózati protokollt számtalan rendszerbe integrálták, amelyek közül sok még nincs javítva, és futtathat 20 vagy több verziójú kódot.
Az NTP biztonsági réseihez kapcsolódó támadások
Cory Doctorow a közelmúltban írt az elavult NTP lehetséges eséséről a Boing / Boing számára:
Az NTP az, hogy gyakorlatilag minden számítógép, amellyel kommunikál, pontosan tartja az óráját, ami egy olyan alapvető funkció a az internet működése, hogy “nem lehet túlzásba helyezni … Mi több, az NTP sebezhetőségei miatt az internet sok időkiszolgálója erőszaporítóvá vált a szolgáltatásmegtagadási támadásokra, csupán pusztítva a támadásokat szinte megállíthatatlanná. .
A legutóbbi DDoS-támadásokhoz alkalmazott módszer nem a sérülékenységekre, hanem a rossz konfigurációra támaszkodik. Az NTP-szolgáltatások válaszolnak a figyelt kiszolgálók listájának lekérdezésére. Egyetlen, hamisított forrással rendelkező kérés 600 szervert tartalmazhat, és elküldhető egy célnak. Annak ellenére, hogy nincs sebezhetőség, amikor több száz vagy ezer ilyen szervert akaratlan célpontra irányítanak át, az áldozatok nem törődnek a probléma szemantikájával, ami fájdalmat okoz nekik; csak megkönnyebbülésre vágynak.
A rendszerek szinkronizálása vagy annak hiánya jelentősen hozzájárulhat a sebezhetőségekhez, amelyek veszélyeztethetik a rendszer alapvető funkcióit. Az NTP-vel való visszaélés mellett a DDoS-támadásokhoz az időbeli szinkronizálás a hálózaton lehetőséget teremt az ismételt támadásokra (azaz lejátszási támadásokra), amelyek magukban foglalják a hiteles adatátvitel hamis vagy rosszindulatú ismételt késleltetését.
Például ismétlési támadás akkor fordulhat elő, amikor a felhasználó megpróbálja személyazonosságának igazolása egy másik felhasználó számára. Középen egy rosszindulatú szereplő elfogja az üzenetet, és megakadályozza, hogy eljusson a tervezett célhoz. A rosszindulatú felhasználó ezután kérelmet küld az identitás megerősítésére, és érvényesítésként tartalmazza az ellopott igazolást. Ha a az idő nincs szinkronizálva, az ablak, amelyben a csere megengedett, növelhető a biztonságosnak tekintettnél, és lehetővé teszi az álmenekülést. Ennek eredményeként az érvényes felhasználókat becsaphatják, hogy sikeresnek bizonyultak ly megerõsítette a törvényes felhasználóként jelentkezõ bûnös személyazonosságát. Igazság szerint ez a fajta visszajátszási támadás ritka és rendkívül nehéz a hálózatra, a kommunikációs útvonalra és az ezen az útvonalon lévő kompromisszumos géphez való hozzáférés nélküli sikeres végrehajtás.
Sok biztonsági szakértő, például Shaun Kelly , megjegyezték, hogy az NTP-t a naplók kezelésére és az idő megváltoztatására használták egy számítógépes rendszeren, megváltoztatva az események sorrendjét.Ha az órák nincsenek szinkronizálva, a hálózati elemzőknek sokkal nehezebb elvégezni a napló-korrelációt az eltérő rendszerek között. Az NTP manipulálása sokkal nehezebben meghatározhatja a támadáshoz vezető hálózati tevékenységeket és eseménysorozatot.
Más alkalmazások, amelyek veszélybe kerülhetnek, mivel az idő nem működik megfelelően, a nagysebességű kereskedelem és a biztonsági kamerák. Az NTP-gyengeségek miatt számos időérzékeny, kulcscserét és tokent tartalmazó titkosítási algoritmus is veszélyben van.
NTP bevált gyakorlatok
A bejegyzés további részében a saját NTP-kiszolgáló konfigurálásának és egy nyilvános NTP-kiszolgáló igénylésének bevált módszerei találhatók.
Használjon Nyilvános NTP-t külső hosztokhoz. Ha egy vállalkozás képességeket, szolgáltatásokat vagy más beágyazott platformokat épít, amelyeket a vállalaton kívül kívánnak telepíteni, a hálózati rendszergazdák érdemes megfontolni egy nyilvános NTP-kiszolgáló igénylését a korábban említett elérhető kiszolgálók készletéből.
Fontos megjegyezni, hogy a nyilvános NTP szerverek többsége meghatározza az elköteleződés szabályait. Ha egy vállalkozásnak több eszköze van a vállalaton belül, amelyek NTP-t fognak használni, akkor ésszerű lenne beállítani a saját hierarchiájukat szinkronizálás céljából, ahelyett, hogy versenyeznének a nyilvánosan elérhető szerverekhez való hozzáférésért.
Saját belső konfigurálása NTP hierarchikus szolgáltatás a hálózathoz. Lehetőség van Stratum 1 vagy Stratum 0 NTP készülékek megvásárlására, amelyek belsőleg használhatók egy tipikus szerver költségénél alacsonyabb áron. Nagyon alacsony költséggel privát NTP szervert is fel lehet állítani. A kereskedelmi forgalomban lévő (COTS) NTP szerver felállításának megvalósíthatóságát bizonyítja a közelmúltban tett erőfeszítés, amelynek során a Raspberry Pi számítógépet Stratum-1 szerverként konfigurálták. Ha mégis úgy dönt, hogy konfigurálja saját tulajdonát, vegye figyelembe a következő bevált módszereket:
- Szabványosítás UTC idő szerint. Vállalkozáson belül szabványosítsa az összes rendszert az összehangolt univerzális idő (UTC) szerint. Az UTC szerinti szabványosítás leegyszerűsíti a napló korrelációt a szervezeten belül és a külső felekkel, függetlenül attól, hogy a szinkronizálandó eszköz milyen időzónában található.
- A hálózati időszolgáltatás biztonsága. Korlátozza a rétegkiszolgálókon használható parancsokat. Ne engedélyezze a rétegkiszolgálók nyilvános lekérdezéseit. Csak az ismert hálózatoknak / hosztoknak engedje meg, hogy kommunikáljanak a megfelelő réteg szervereikkel.
- Vegye figyelembe a titkosítás üzleti igényét. Sok rendszergazda titkosított kommunikációval és titkosított hitelesítéssel próbálja biztosítani a hálózatot. Bevezetnék egy figyelmeztetést, mert bár vannak titkosítási szolgáltatások, amelyek az NTP-hez kapcsolódnak az NTP-kommunikáció biztonságához, a titkosítás használata több forrást jelent a problémákhoz, például kulcskezeléshez, és magasabb számítási költséget is igényel.
- Ne feledje Segal törvényét. Ideális esetben működne, ha három vagy több Stratum 0 vagy Stratum 1 szerver van, és ezeket a szervereket elsődleges masterként használja. Ne feledje Segal törvényét: két NTP-vel rendelkezik szerverek nehezen tudják meg, melyik a pontos. Két Stratum 0 kiszolgáló pontosabb időbélyeget adna, mivel egy véglegesnek tekintett időforrást használnak.
Három vagy több időforrás megléte lehetővé tenné a hálózat fenntartását pontos idő akkor is, ha az egyik elsődleges mester megbukik. Ideális esetben az NTP szerverek három földrajzi szempontból eltérő helyen helyezkednének el. Az elsődleges mesterek ezen csoportja jelentené az idő forrását a vállalkozás számára. Rejtett mestereknek tekintenék őket, mert csak a másodlagos réteg szervereinek nyújtanak szolgáltatásokat. Ez a konfiguráció lehetővé tenné a szerverek számára, hogy időt biztosítsanak olyan másodlagos mestereknek, akik valóban szolgáltatást nyújtanak egy szervezetnek. Az elsődleges mesterek rejtve maradnak, és csak a máshol szolgáltatásokat nyújtó NTP infrastruktúra éri el őket. Ennek az ellátási láncnak lehetővé kell tennie, hogy pontos időt biztosítson az egész szervezetben, és hogy több forrás is alátámasztja a pontos időforrást.
Azok a helyek, amelyekben több eszköz van, és amelyeknek szinkronizálni kell az idejüket, további Stratum 2 vagy Stratum 3 szervereket adhatnak hozzá. és bízza őket arra, hogy a másodlagos mesterekre és egymásra támaszkodjanak a rendszer terhelésének további elosztása és a szolgáltatások NTP kliensek nagyobb csoportjának történő biztosítása érdekében.
Belső NTP szolgáltatás beállításával a legújabb verzióra a stabil kód és annak használatának egységesítése érdekében az időalapú hálózati támadások vagy az időtől függő folyamatok életképessége nehezebben választható. Az események sorrendjének azonosítása a kompromisszumban könnyebbé válik, mert a naplókban szereplő idők most már nyilvántartási rendszerek lehetnek. A bűnüldöző szervek és más nyomozó ügynökségek számára a pontos NTP-szolgáltatások nagyon konstruktívak lehetnek a bizonyítékok értékelésében és az eseménylánc szekvenálásában.
Összecsomagolás és előretekintés
A támadások kifinomultabbá válásával a CERT hálózati elemzői csoportja egyre inkább megtalálja az internet felé néző szolgáltatásokat, amelyek nincsenek jól telepítve a hálózatban. Langston nemrégiben írta a DNS bevált módszerekről szóló bejegyzését: ezek közül a szolgáltatások közül sok alkotja az alapot a belső és külső hálózati alkalmazások biztonságának és működésének.
Ez a legújabb a legjobb üzeneteket kínáló blogbejegyzések sorozatában A kormányzati ügynökségeknek és más vállalkozásoknak a hálózataikban rejlő rejtett sebezhetőségek kezelésének elősegítésére szolgáló gyakorlatok ezekről az alapstruktúrákról. Csapatunk vezetője, Rachel Kartch közzétette ennek a sorozatnak az első bejegyzését: Distributed Denial of Service Attack: Four Best Practices for Prevention and Response.