Системата за имена на домейни (DNS) е една от основите на интернет, но повечето хора извън мрежите вероятно не осъзнават, че я използват всеки ден, за да вършат работата си, да проверяват имейлите си или да губят време в техните смартфони.
В най-основния си вид DNS е директория с имена, които съвпадат с числа. Числата в този случай са IP адреси, които компютрите използват, за да комуникират помежду си. Повечето описания на DNS използват аналогията с телефонен указател, което е добре за хора на възраст над 30 години, които знаят какво е телефонен указател.
Ако сте под 30 години, мислете за DNS като списък с контакти на вашия смартфон, който съпоставя имената на хората с техните телефонни номера и имейл адреси. След това умножете този списък с контакти по всички останали на планетата.
Кратка история на DNS
Когато интернет беше много, много малък, за хората беше по-лесно да съответстват на конкретни IP адреси с конкретни компютри, но това не продължи дълго, тъй като повече устройства и души се присъединиха към нарастващата мрежа. Все още е възможно да въведете конкретен IP адрес в браузър, за да достигнете до уебсайт, но тогава, както и сега, хората искаха адрес, съставен от лесни за запомняне думи, от вида, който бихме разпознали като име на домейн (като networkworld.com) днес. През 70-те и началото на 80-те тези имена и адреси бяха зададени от един човек – Елизабет Фейнлър от Станфорд – който поддържаше главен списък на всеки свързан с интернет компютър в текстов файл, наречен HOSTS.TXT.
Това очевидно беше несъстоятелна ситуация с разрастването на интернет, не на последно място защото Feinler обработваше заявки само преди 18:00 часа. Калифорнийско време и си взе отпуск за Коледа. През 1983 г. Пол Мокапетрис, изследовател в USC, беше натоварен да предложи компромис между множество предложения за справяне с проблема. Той на практика ги игнорира и разработи своя собствена система, която нарече DNS. Въпреки че очевидно се е променил доста оттогава, на основно ниво той все още работи по същия начин, както преди почти 40 години.
Как работят DNS сървърите
DNS директорията, която съпоставя името с номерата, не се намира на едно място в някой тъмен ъгъл на интернет. С повече от 332 милиона имена на домейни, изброени в края на 2017 г., една директория би била наистина много голяма. Подобно на самия интернет, директорията се разпространява по целия свят, съхранява се на сървъри за имена на домейни (обикновено наричани за кратко DNS сървъри), които всички комуникират помежду си много редовно, за да предоставят актуализации и излишъци.
Оторитетни DNS сървъри срещу рекурсивни DNS сървъри
Когато вашият компютър иска да намери IP адреса, свързан с име на домейн, той първо отправя заявка към рекурсивен DNS сървър, известен също като рекурсивен резолвер< em>. Рекурсивният резолвер е сървър, който обикновено се управлява от ISP или друг доставчик трета страна, и той знае кои други DNS сървъри трябва да поиска, за да разреши името на сайт с неговия IP адрес. Сървърите, които действително имат необходимата информация, се наричат авторитетни DNS сървъри.
DNS сървъри и IP адреси
Всеки домейн може да съответства на повече от един IP адрес. Всъщност някои сайтове имат стотици или повече IP адреси, които съответстват на едно име на домейн. Например сървърът, до който вашият компютър достига за www.google.com, вероятно е напълно различен от сървъра, до който някой в друга държава би достигнал, като напише същото име на сайта в своя браузър.
Друга причина за разпределения характер на директорията е времето, което ще ви отнеме да получите отговор, когато търсите сайт, ако има само едно местоположение за директорията, споделено между милиони, вероятно милиарди , на хора, които също търсят информация едновременно. Това е една дълга опашка за използване на телефонния указател.
Какво е DNS кеширане?
За да се преодолее този проблем, DNS информацията се споделя между много сървъри. Но информацията за наскоро посетените сайтове също се кешира локално на клиентските компютри. Вероятно използвате google.com няколко пъти на ден. Вместо всеки път компютърът ви да прави заявки към DNS сървъра за имена за IP адреса на google.com, тази информация се записва на компютъра ви, така че не се налага да има достъп до DNS сървър, за да разреши името с неговия IP адрес. Допълнително кеширане може да възникне на рутерите, използвани за свързване на клиенти към интернет, както и на сървърите на доставчика на интернет услуги (ISP) на потребителя. С толкова много кеширане, броят на заявките, които действително стигат до DNS сървърите за имена, е много по-малък, отколкото изглежда.
Как да намеря своя DNS сървър?
Общо казано, DNS сървърът, който използвате, ще бъде установен автоматично от вашия мрежов доставчик, когато се свържете с интернет. Ако искате да видите кои сървъри са вашите първични сървъри за имена - обикновено рекурсивния резолвер, както е описано по-горе - има уеб помощни програми, които могат да предоставят множество информация за текущата ви мрежова връзка. Browserleaks.com е добър и предоставя много информация, включително вашите текущи DNS сървъри.
Мога ли да използвам 8.8.8.8 DNS?
Важно е да имате предвид обаче, че въпреки че вашият интернет доставчик ще зададе DNS сървър по подразбиране, вие не сте задължени да го използвате. Някои потребители може да имат причина да избягват DNS на своя ISP - например някои ISP използват своите DNS сървъри, за да пренасочват заявки за несъществуващи адреси към страници с реклами.
Ако искате алтернатива, можете вместо това да насочите компютъра си към публичен DNS сървър, който ще действа като рекурсивен резолвер. Един от най-известните публични DNS сървъри е този на Google; неговият IP адрес е 8.8.8.8. DNS услугите на Google обикновено са бързи и въпреки че има определени въпроси относно скритите мотиви, които Google има да предлага безплатната услуга, те наистина не могат да получат повече информация от вас, която вече не получават от Chrome. Google има страница с подробни инструкции как да конфигурирате вашия компютър или рутер за свързване с DNS на Google.
Как DNS добавя ефективност
DNS е организиран в йерархия, която помага нещата да работят бързо и гладко. За да илюстрираме, нека се преструваме, че искате да посетите networkworld.com.
Първоначалната заявка за IP адрес се прави към рекурсивен резолвер, както беше обсъдено по-горе. Рекурсивният резолвер знае кои други DNS сървъри трябва да поиска, за да разреши името на сайт (networkworld.com) с неговия IP адрес. Това търсене води до основен сървър, който знае цялата информация за домейни от първо ниво, като .com, .net, .org и всички тези домейни на държави като .cn (Китай) и .uk (Обединеното кралство). Основните сървъри са разположени по целия свят, така че системата обикновено ви насочва към най-близкия географски.
След като заявката достигне до правилния основен сървър, тя отива до сървър за имена на домейн от първо ниво (TLD), който съхранява информацията за домейна от второ ниво, думите, използвани преди да стигнете до .com, .org , .net (например тази информация за networkworld.com е „networkworld“). След това заявката отива до сървъра за имена на домейни, който съдържа информацията за сайта и неговия IP адрес. След като IP адресът бъде открит, той се изпраща обратно на клиента, който вече може да го използва, за да посети уебсайта. Всичко това отнема само милисекунди.
Тъй като DNS работи през последните 30 години, повечето хора го приемат за даденост. Сигурността също не е взета предвид при изграждането на системата, така че хакерите са се възползвали напълно от това, създавайки различни атаки.
Атаки с отразяване на DNS
Атаките с отразяване на DNS могат да затрупат жертвите с голям обем съобщения от сървъри за преобразуване на DNS. Нападателите изискват големи DNS файлове от всички отворени DNS резолвери, които могат да намерят, и го правят, като използват фалшивия IP адрес на жертвата. Когато резолверите отговорят, жертвата получава поток от непоискани DNS данни, които затрупват машините им.
Отравяне на DNS кеша
Отравянето на DNS кеша може да отклони потребителите към злонамерени уеб сайтове. Нападателите успяват да вмъкнат фалшиви адресни записи в DNS, така че когато потенциална жертва поиска адресна резолюция за един от отровените сайтове, DNS отговаря с IP адреса за различен сайт, контролиран от нападателя. Веднъж попаднали на тези фалшиви сайтове, жертвите може да бъдат подмамени да се откажат от пароли или да претърпят изтегляне на зловреден софтуер.
Изчерпване на DNS ресурси
Атаките с изчерпване на DNS ресурси могат да задръстят DNS инфраструктурата на интернет доставчиците, като блокират клиентите на интернет доставчика да достигнат до сайтове в интернет. Това може да стане, като нападателите регистрират име на домейн и използват сървъра за имена на жертвата като авторитетен сървър на домейна. Така че, ако рекурсивен резолвер не може да предостави IP адреса, свързан с името на сайта, той ще попита сървъра за имена на жертвата. Нападателите генерират голям брой заявки за своя домейн и хвърлят несъществуващи поддомейни, за да заредят, което води до поток от заявки за разрешаване, които се изстрелват към сървъра за имена на жертвата, затрупвайки го.
Какво е DNSSec?
DNS Security Extensions е опит за по-сигурна комуникация между различните нива на сървъри, участващи в DNS търсения. Той е създаден от Интернет корпорацията за присвоени имена и номера (ICANN), организацията, която отговаря за DNS системата.
ICANN разбра за слабости в комуникацията между сървърите на директории от първо, второ и трето ниво на DNS, които биха могли да позволят на нападателите да отвлекат търсенето. Това би позволило на нападателите да отговарят на заявки за търсене на законни сайтове с IP адреса за злонамерени сайтове. Тези сайтове могат да качват зловреден софтуер на потребителите или да извършват фишинг и фарминг атаки.
DNSSEC би се справила с това, като накара всяко ниво на DNS сървъра да подписва цифрово своите заявки, което гарантира, че заявките, изпратени от крайните потребители, не се командват от нападатели. Това създава верига на доверие, така че на всяка стъпка от търсенето целостта на заявката да се потвърждава.
Освен това DNSSec може да определи дали съществуват имена на домейни и ако не съществуват, няма да позволи този измамнически домейн да бъде доставен на невинни заявители, които искат да разрешат име на домейн.
Тъй като се създават повече имена на домейни и все повече устройства продължават да се присъединяват към мрежата чрез устройства за интернет на нещата и други „умни“ системи, и тъй като все повече сайтове мигрират към IPv6, ще е необходимо поддържането на здрава DNS екосистема. Растежът на големите данни и анализите също води до по-голяма нужда от управление на DNS.
SIGRed: Недостатък на червеи в DNS надига главата си
Светът наскоро разгледа добре вида на хаоса, който слабостите в DNS могат да причинят с откриването на пропуск в DNS сървърите на Windows. Потенциалната дупка в сигурността, наречена SIGRed, изисква сложна верига от атаки, но може да използва неподправени DNS сървъри на Windows за потенциално инсталиране и изпълнение на произволен злонамерен код на клиенти. И експлойтът е „податлив на червей“, което означава, че може да се разпространява от компютър на компютър без човешка намеса. Уязвимостта беше счетена за достатъчно тревожна, че федералните агенции на САЩ получиха само няколко дни да инсталират кръпки.
DNS през HTTPS: Нов пейзаж на поверителността
До момента на писане на това, DNS е на ръба на една от най-големите промени в своята история. Google и Mozilla, които заедно контролират лъвския дял от пазара на браузъри, насърчават преминаването към DNS през HTTPS или DoH, при който DNS заявките са криптирани от същия HTTPS протокол, който вече защитава повечето уеб трафик. При внедряването на Chrome браузърът проверява дали DNS сървърите поддържат DoH и ако не го поддържат, той пренасочва DNS заявките към 8.8.8.8 на Google.
Това е ход не без противоречия. Пол Викси, който свърши голяма част от ранната работа по DNS протокола през 80-те години на миналия век, нарича този ход "катастрофа" за сигурността: корпоративните ИТ ще имат много по-трудно време да наблюдават или насочват DoH трафика, който пресича тяхната мрежа, например. Все пак Chrome е вездесъщ и DoH скоро ще бъде включен по подразбиране, така че ще видим какво крие бъдещето.
(Кийт Шоу е бивш старши редактор за Network World и награден писател, редактор и рецензент на продукти, който е писал за много публикации и уебсайтове по целия свят.)
(Джош Фрулингер е писател и редактор, който живее в Лос Анджелис.)
Присъединете се към общностите на Network World във Facebook и LinkedIn, за да коментирате теми, които са на първо място.