Problemy z prywatnością DNS
Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał
Do niedawna myślałem, że wpisy subdomen w DNS zapewniają wystarczające ukrycie, a więc powinny być bezpieczne. Jeśli serwer DNS nie pozwala na transfer domeny w inne miejsce, to wszelkie subdomeny powinny być niewidoczne publicznie. Transfery, jeśli są włączone (a raczej źle skonfigurowane), można wykonać za pomocą:
dig -t axfr example.comDruga rzecz to zapytanie o opcję ANY, ale nie oznacza ona „wszystkiego”:
dig example.com anyPrzy wyłączonych transferach i braku stricte prywatnych wpisów w odpowiedzi na zapytanie any można by więc pomyśleć, że jest się bezpiecznym. I to jest właśnie błąd. Na stole są dwie, a właściwie 3 opcje:
- Ktoś uruchamia crawlera i zbiera ze stron internetowych nazwy domen – prawdopodobnie jest mnóstwo takich systemów, bo widuję je dość często w logach serwera HTTP
- Ktoś włamał się do perymetru Twojej sieci i podmienił adresy DNS na własne – dotyczy to wszystkich klientów podłączonych do takiej sieci, o ile udałoby się wymusić taki ruch. Jest to oczywiście złośliwa i inwazyjna procedura, która nie zdarza się na co dzień.
- Korzystasz z publicznego/prywatnego/dostarczanego przez operatora serwera DNS, który zapisuje Twoje zapytania, budując bazę danych. Oczywiście może to być DNS forwarder, resolver albo dowolny inny element w łańcuchu zapytań DNS z podobną konfiguracją.
O ile mi wiadomo, w przypadku większości domen nie ma możliwości transferu ani ujawnienia zbyt wielu informacji przez „any”. Nie każda domena pojawiła się kiedykolwiek na jakiejkolwiek innej stronie, tak aby mogła zostać automatycznie wykryta przez crawlera. Czy wszyscy zostali zhakowani, czy też najpopularniejsze publiczne serwery DNS biorą udział w budowaniu bazy danych z listą domen? Jest mnóstwo subdomen, a nawet domen, które są zbyt skomplikowane, by je odgadnąć. Nie sądzę, żeby te informacje wyciekały od rejestratorów domen, ale jest taka możliwość.
Jest taki projekt: domainsproject.org. Twierdzą, że korzystają z crawlingu i sprawdzania DNS, ale nawet nie chce mi się sprawdzać ich kodu, bo wygląda to na fugazi (ściemę). Jak u licha mieliby sprawdzić jakiś losowy tekst umieszczony w subdomenach? Z pewnością pochodzi to z zapytań DNS, które powinny bezpiecznie pozostać na tych serwerach. Na szczęście nie obejmuje to każdej skonfigurowanej subdomeny.
Dziś trzeba trochę zmienić sposób myślenia. Jeśli umieszczasz coś w internecie, to domyślnie nie jest to ani bezpieczne, ani ukryte. Może po prostu założyłem zbyt naiwnie i przyjąłem za pewnik, że ludzie prowadzący publiczne serwery DNS podzielają moje podejście do kwestii prywatności.