Первый эшелон: блокировка интернет-шлака через HOSTS


Давным-давно, когда Интернета еще не было, человечество собиралась поработить компьютерная сеть SkyNet ARPANET, к которой на пике ее расцвета было подключено аж несколько сотен компов. Поэтому список всех существующих необходимых в работе сетевых ресурсов и их адреса хранились на каждом таком компьютере, в файле HOSTS.TXT


С тех пор к уже глобальной Сети подключили еще сколько-то миллиардов компьютеров, смартфонов, телевизоров, утюгов и других устройств, которым доступны миллиарды сайтов, IP-адреса которых постоянно меняются. В общем, все стало сложно, но файл HOSTS.TXT (ныне просто hosts) остался и работает так же, как и 30+ лет назад.


Если кратко и без зауми, то работает он так: вы в браузере набираете «pikabu.ru» и ваша Windows/Android/iOS первым делом лезет в файл hosts на вашем устройстве – проверить, не сказано ли там что-нибудь про искомый сайт. Если не сказано, тогда начинаются DNS-запросы во внешний мир и прочая суета, к делу не относящаяся, а вот если сказано... то смотря что.


Нас интересует не все богатство возможностей манипуляций с этим файлом, а лишь одно из возможных (и, к слову, нецелевое) его использований – в качестве первого эшелона обороны от разнообразного интернет-шлака – рекламы, счетчиков, трекеров и прочей гнуси, любезно подсовываемой нам сегодня каждым первым сайтом.


С помощью файла hosts мы можем сказать своей операционной системе: ресурса, к которому ты собираешься обратиться, согласно инструкциям, полученным на открытом нами сайте, не существует, даже не пытайся его загрузить. Говорится это так: в «Блокноте» открывается файл hosts (обычно находится в папке C:\Windows\System32\Drivers\Etc), в него добавляется строчка, например, 0.0.0.0 googleads.g.doubleclick.net после чего файл сохраняется.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы
Все, большинство шлака от рекламной сети Google даже не загружается на наш комп, а сама Корпорация Добра лишается одной из возможностей шпионить за нами. googleads.g.doubleclick.net – это доменное имя, ресурсы с которого мы загружать не хотим. 0.0.0.0 – адрес, на который мы принудительно переадресуем все запросы к доменному имени googleads.g.doubleclick.net В данном случае этот адрес будет расценен операционной системой, как заведомо несуществующий, и запрос к нему будет сброшен.
Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

Как узнать, какие доменные имена стоит заблокировать в hosts? Самый простой способ – скачать один из готовых и регулярно обновляемых списков, например, MVPS HOSTS. Плюсы – все уже сделано за вас, минусы – те же самые: в список могли добавить что-то лишнее, что именно вам не мешает и даже наоборот, а чего-то, мешающее именно вам, могли и не добавить.


Я добавляю вручную, узнавая имена мешающих мне доменов с помощью инструментов разработчика, встроенных в Firefox (в Chrome есть аналог). Инструменты/Веб-разработка/Сеть, «Обновите», клик на колонке «Домен», чтобы отсортировать список открытых страницей подключений по доменным именам.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

И вот, на примере сайта РБК, видим кучу доменных имен, которые мы не заказывали – счетчик, рекламная сеть, снова счетчик, опять счетчик, и еще раз счетчик... (читай – шпионский модуль), и это лишь то, что на скриншот влезло, а если прокрутить вниз, там еще сюрпризы будут. Вот их-то ручками, ручками – ничего лишнего, но и никто не спрячется. Видим в колонке «Статус» пустое место вместо «200» или иного кода – все правильно сделал!

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

Если же надо отловить самовольные запросы к посторонним доменам от других программ или самой операционной системы, на помощь приходит DNSQuerySniffer. Например, хочет Windows 10 слить в сеть «телеметрию» (строго в наших же интересах, конечно), а мы не хотим: запускаем DNSQuerySniffer, смотрим в реальном времени список доменных имен, к которым идут обращения, понимаем, что сами мы в этом время не обращались ни к одному из них, открываем файл hosts, copy/paste...


В чем недостатки способа блокировки через hosts и почему мы говорим лишь о первом (а значит, не единственном) эшелоне обороны от интернет-шлаков? Первый и главный – он не предусматривает возможности использовать «маски». Т.е., если нам надо заблокировать такие доменные имена:

1.doubleclick.net

2.doubleclick.net

...

99.doubleclick.net

нам придется их все, поименно добавлять в hosts, вместо того, чтобы добавить одну «маску» – *.doubleclick.net.


Второй: hosts позволяет заблокировать доступ к доменному имени вообще, для всех сразу, без исключений. Заблокировать доступ только браузеру, а почтовому клиенту оставить – невозможно, для этого нужен полноценный межсетевой экран (файрвол).


В остальном же – одни сплошные плюсы: изменения, внесенные в файл, активируются сразу; даже большой файл hosts не нагружает систему и не приводит к зависаниям браузера, логика работы списка блокированных доменов прозрачна. И, самое главное, заблокировать домен с мусором сможет даже не самый продвинутый пользователь ПК.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

На закуску – немного дополнительных знаний, для интересующихся. Если не нашли ответа на свой вопрос – комменты открыты ;)


1. В Android файл hosts расположен в директории: /system/etc/ Права на файл (CHMOD): 644 (-rw-r-r--) Доступ к этой директории возможен лишь при наличии root-прав. Символ переноса строки в файле: LF (про это часто забывают, копируя файл из Windows).


2. Правильно посылать нежелательные домены на три буквы 0.0.0.0 (в Windows можно для краткости просто на 0), а не на 127.0.0.1 В контексте файла hosts 0.0.0.0 означает «несуществующий адрес», обращение к которому сразу приводит к завершению соединения. А 127.0.0.1 означает вполне себе существующий адрес – он служит для имитации обращения к тому же самому компьютеру из сети. Т.е. вместо сразу «нет такого адреса» мы получим через какое-то (пусть и небольшое) время «никто не отвечает». Хотя в некоторых случаях могут и ответить, что чревато сбоем системы.


3. Файл hosts – первый, но не единственный (и даже не главный) эшелон защиты компьютера от интернет-шлака. Не стоит забывать про межсетевой экран, системы контентной фильтрации, плагины для браузера с тем же назначением, да и просто грамотную настройку программ, вылезающих в Интернет. А для ценителей – локальные прокси, позволяющие вволю поглумиться над своим трафиком, прежде чем допускать его до браузера.

Вы смотрите срез комментариев. Показать все
12
DELETED
Автор поста оценил этот комментарий

1) примерно после 10000 записей в hosts начинают тормозить и жрать оперативу браузеры на всяких там i3/i5 - причем хуже, чем с адблоком;

2) Win10 умеет обходить блокировку адресов через этот файл.

раскрыть ветку (4)
4
Автор поста оценил этот комментарий

1. Хм, не замечал даже когда MSVP стоял, а там побольше 10к записей...

2. ЕМНИП еще XP обходил для каких-то мелкософтовских адресов, если не 98. Вернее, не обходил, а обращался напрямую по IP, в этом случае hosts и не должен использоваться. Не подкинете ссылку, где почитать про обход в 10?

раскрыть ветку (3)
Автор поста оценил этот комментарий
MSVP
что за зверь?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

MVPS, опечатался. http://winhelp2002.mvps.org/hosts.htm

DELETED
Автор поста оценил этот комментарий

Ссылка, к сожалению, давненько утеряна. Читал в недрах хабра по темам телеметрии после Update 1 для Win10

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку