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

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

сейчас бывает что антивирусы видят что в hostst хоть что-то записано, и пишут "обнаружена непонятная активность, нужно срочно исправить!" и предлагают на пустой hosts заменить.

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

Хотите мое ИМХО? Такой антивирус после такого заявления сносить под корень. Просто потому, что "тут что-то странное" - это не диагноз "профессионала", это и блондинка, впервые севшая за комп, сама себе сказать может.

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

И какой же антивирус определит, что ваша запись в файле хостс

vk.com 1.2.3.4

- это  ваша личная заморочка, а совсем-совсем не деятельность вируса на компе, который хочет слямзить у вас пароль ВК таким вот образом?

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

А Вы разницы между несуществующим и существующим IP не видите? Ну и конкретно на приведенный Вами пример антивирусу можно не возбуждаться, эта запись просто не сработает никак.

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

сегодня данный IP свободен и не существует, а завтра там вполне определённый сайт который ворует ваши данные. Или наоборот.

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

Думаю, раньше мир полностью перейдет на ipv6, чем кто-то зохавает себе 0.0.0.0, для которого в RFC прописан особый статус ;)

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

А как ему понять, что айпишник существует? А если он не существует сейчас - значит ли это, что он не будет существовать в дальнейшем?


Эта запись сработает как. В лучшем случае, сайт vk.com перестанет открываться. Я в принципе согласен, дело хорошее, конечно...

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

#comment_143922376

Зарезервированных IP не так много, можно в белый список внести. Если же там просто некий IP сопоставлен домену, то таки да, можно и хрюкнуть: проверьте, это точно вы писали?

По RFC запись должна иметь вид: IP[TAB]domainname, если вместо цифр или служебных символов (#, :) стоят буквы, то строка ЕМНИП должна считаться ошибочной и игнорироваться.

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

0.0.0.0 - пожалуйста. Но обычно пишут 127.0.0.1, и вот это уже - потенциальная проблема. Лично видел вирус, который разворачивал веб-сервер локально на компе и таким образом пытался тырить пароли к соцсетям.


Да, давненько я туда не лазил. Конечно сначала айпишник, потом имя.

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

Я как раз в конце текста этот вопрос разбираю. ИМХО если вредонос уже невозбранно развернул сервер на инфицированном компе, поздно править hosts пить боржоми.

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

Пить боржоми поздно после того, как вирус получил права администратора. Но это не значит, что антивирь не должен трепыхаться. Потом, внесение 0.0.0.0 в хостс - тоже потенциальная проблема. Например я могу завалить работу всей своей организации, добавив строчку 0.0.0.0 domain.name через групповую политику на все машины. Аккурат перед увольнением.

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

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

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

Каким антивирусом пользуетесь?

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

обычно freedrweb, но жаловался не помню кто

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

Никаким, когда-то давно hands.sys пропатчил и с тех пор не требуется.

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

Так я не у тебя спрашивал))

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

Нахер такой антивирус сносите.

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