Первый эшелон: блокировка интернет-шлака через 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 – первый, но не единственный (и даже не главный) эшелон защиты компьютера от интернет-шлака. Не стоит забывать про межсетевой экран, системы контентной фильтрации, плагины для браузера с тем же назначением, да и просто грамотную настройку программ, вылезающих в Интернет. А для ценителей – локальные прокси, позволяющие вволю поглумиться над своим трафиком, прежде чем допускать его до браузера.

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

Hosts - вредные советы

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

Обоснуйте.

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

Реклама не показывается, бабло не капает.

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

Григория не читали?

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

Ну если в этом смысле...

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

Если клёвый и ужасный

Следит Гугель за тобой

Файлик в Виндах есть прекрасный

Хостс зовётся, он даст бой



А вот за методы поиска гадов спасибо) Правда почему-то яндекс-директ иногда проскакивает на мобилке, хотя яндекс так-то тоже в блоке. Загадка.

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

ЯД через hosts не убить, он грузится в т.ч. с тех же доменов, откуда и полезный контент. Эти упыри знают свое дело...

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

Ну-ка ну-ка, а чё за полезные домены?) Может они мне и не нужны?


ну и плюс смущает то что в десктопной версии я ЯД не вижу, а на мобилке - вижу.


Upd: А, ну да, вижу, ссылка на рекламную картинку тупо внутри yandex.ru

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

Вот-вот, та же фигня с Я.Новости и далее со всеми остановками. Самая сложная для блокирования сеть, постоянно меняют признаки рекламных блоков. Меня спасает лишь то, что их сервисами почти не пользуюсь, а то что они отдают на внешние сайты через свою рекламную сеть, убивается легко.

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

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

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

Могут брать код с adfox.ru, adfox.yandex.ru, awaps.yandex.net/.ru, причем для мобильных версий у них еще отдельные рекламные домены есть. Под Ведро мне AdAway нравится - логирует именно DNS-запросы.

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

У меня Diversion, всё что лочится, лочится на уровне роутера. Благодарю, вот этих двух не было.

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

Здравствуйте, давно не читал про hosts  - думал уже забыли все.
А как относитесь к dns серверам с функцией блокировки?

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

Как к идее - в высшей степени положительно: юзерам ничего особо и делать не надо, за них все делает профи. Но это в теории. На практике - это перенаправление всех своих DNS запросов через черт знает кого. То есть, если бы пров, который и так в курсе всего, держал 2 DNS на выбор: обычный и "чистый", то у юзера был бы весьма соблазнительный выбор, а если "чистый" DNS где-то там у кого-то, то лично мне - спасибо, не надо, я как-нибудь сам.

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