Pull to refresh

Comments 242

Что за нелепая глупость? Я, как системный администратор, вполне знаю, что у меня находится в /etc/hosts. И то, что я туда прописываю, я прописываю потому, что мне так нужно. А если вы не хотите пользоваться hosts, так выключите его нафиг, да и всё. /etc/nsswitch.conf и всех делов.

А ещё там может быть не DNS а другой NS, например yp.
Ну во-первых, Интернет-банками пользуются не только сисадмины.
Во-вторых, не у всех есть /etc/nsswitch.conf, да и не все вообще знают о самом hosts.
И по этой причине нужно сломать работающий функционал? А когда вам начнут подменять domain suffix (почему никто не догадался до сих пор использовать его в троянах?) вы начнёте говорить «предупреждайте меня, когда я использую доменные суффиксы»? А если DNS-сервер подменят?
О каком сломанном функционале идет речь? Предупреждение?
Предупреждение о сертификате SSL ломает функционал браузера?
Предупреждение об некорректом SSL с возможностью продолжить — фэнсервис. По-хорошему сбой SSL должен выглядеть так:

ОШИБКА SSL:

Не удалось установить защищённое соединение, сертификат сервера не прошёл валидацию.
(подробнее).

А предупреждение об использовании при ресолвинге hosts много чего поломает. Например, у меня множество систем используют именно hosts, а не DNS из-за большей надёжности решения (то есть DNS они тоже используют, но для критических служб — hosts).
Ну отключите Вы это предупреждение в настройках браузера.

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

Просто для Вас, для меня и для многих функционал hosts очевиден. Но существует на порядок большее кол-во людей, которые о нем не знают. И поверьте, для них станет открытием то, что сама ОС пр вводе адреса в браузер перевела их на другой сайт.

Ну что плохого в том, что когда вы введете в адрес «alfabank.ru», браузер скажет Вам:

«Уважаемый пользователь! Домен alfabank.ru прописан в Вашей системе на другой IP адрес. При переходе по нему вы попадете на IP адрес 85.234.190.98».

Все! И тут уже даже моя мама, далекая от IT, поймет, что что-то не так и не будет вводить логин и пароль.
Вы пытаетесь лечить симптомы, а не причину.
А причина проблемы в том, что на многих компьютерах используется изначально неверный подход к организации безопасности. Я сейчас говорю про элементарные вещи: работа юзера по умолчанию от имени административной учётки (в первую очередь такой подход распространён среди пользователей WinXP).

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

1. Технический фактор. Редирект на уровне ОС.
2. Человеческий фактор. Сами виноваты, что в hosts залез троян.

Технический фактор можно контролировать.
Человеческий тоже можно, но полностью — никогда.
Какой редирект? О чём вы? hosts — это штатный механизм ресолвинга имён. Отключаемый, кстати.

Понимаете, как только вы добавите эту функцию, трояны первым делом будут ставить галочку в реестре «не спрашивать меня больше». Троянам это не сильно помешает, а вот всем остальным эта галка будет глаза мозолить.
Троянцы будут локальный днс поднимать и подменять настройки. Так что действительно, нужно политику безопасности фиксить, а не лечить симптомы.
Не администратор не может записать что-то в hosts.
Что бы пользователь не штатным образом не стал администратором надо обновлять ОС.
ну и администратор может подменять и днс резолвинг. hosts просто немного проще.
Вы все так реагируете как будто чтото новое сейчас узнали
автор пользуется Microsoft Security Essentials. значит, речь идёт о windows. в этой ОС традиционно все пользователи — администраторы. значит, надо запрещать доступ на давись всем пользователям. тогда в hosts точно ничего не запишут.
извините, опечатался — *на запись*
В этой ОС традиционно все пользователи группы «администраторы» — администраторы. Остальные пользователи обладают теми правами что им администраторы назначили.

Ваш КО.

p.s. Надеюсь мы с вами не говорим об windows 95/98/ME? Ибо в этом случае, как говорится в известном анекдоте, «ты бы еще маму вспомнил!»
Нет, но можено поговорить про XP. Меня всегда удивляло, что мастер установки этой системы предлагает создать пользователя (или даже нескольких) для работы, но при этом созданные пользователи наделяются правами администратора.

Речь вот об этом экране:
habreffect.ru/files/3a6/f803fdd90/29234905.jpg
Вот, о чем собственно и речь. В организациях разделение прав организовывают специально обученные люди. Все необходимые для этого средства в windows есть, поэтому настроить можно так, как этого требуют правила безопасности организации.
При домашнем же использовании эта необходимость кажется не такой очевидной. В самом деле, если посмотреть на то как менялись умолчания, мы увидим что серьёзное разграничение прав началось в Vista и Win7.
Дивый идеал.

1. Человеческий фактор.
Когда я первый раз сделала на родительском компа отдельного админа (увы, не скрытого), его, зная пароль, очень бысто оккупировала моя младшая сестра — ну лень ей было при каждой установке игрушки пароль вводить. Ок, комп почищен от вирусни, старый админ лишен прав, создан новый. Через неделю захожу в гости, — под новым админом сидит папа. Он забыл, что такое «запуск от имени» и где его берут, ну вообще, ах, что это за безобразие, пароли эти все, неудобно же!

Ну хорошо, это можно решить, оставляя всегда только скрытого и раз за разом объясняя, зачем эти «сложности». Ну а если в наличии дитё раннего подросткового возраста, которое доколупается-таки до админских прав на свою учётку, наловит дерьма, а мама его тем временем будет честно сидеть под ограниченной и юзать интернет-банкинг? Нет, человеческий фактор тяжело обойти.

2. Отсутсвие кого-то, мало-мальски разбирается
Это убойная причина и неизлечимая. Вы почему-то предпологаете, что у каждого виндоюзера есть близкий — не продвинутый юзер даже, а крутой админ, который всё пуленепробиваемо настроит. Это далеко не так. Была недавно у сестры в общаге, пришлось там немного покулупаться в трех соседских ноутах с семёрками. ВСЕ были с админскими правами. Подозреваю, при большей выборке картина не была бы краше. Условно, эти девочки просто приходили в магазин, говорили «посоветуйте ноут», и покупали. Никто им не сказал, что сидеть под админом нельзя, они и сидят. Таких большинство. И hosts у них в 99% случаев используется только вирусами.
Мне идея топикстартера кажется хорошей.
вывод: долбоебов нельзя даже близко подпускать к компьютерам. или вводить получение прав на серфинг в инете, как это сделали в свое время в случае с автомобилями.
А мобильным телефоном им можно пользоваться? А телевизором? На крайняк хотя бы микроволновкой разрешите?

Сейчас компьютер — такая же обыденная вещь, как раньше был телефон (не мобильный). И точно так же от незнания правил использования можно пострадать. Простыми способами подобная проблема не решается — только долгий и нудный процесс обучения, пресловутая компьютерная грамотность.
да, обезьян тоже смогли научить на нужную кнопку жать, чтобы банан вывалился.
Для того чтобы чему-то научить, нужно учить. Или создать такие условия, чтобы человеку нужно было научиться.

А до тех пор пока этого не будет, пожалуйста: трояны, ботнеты, текст в ворде, отформатированный пробелами.
Мне кажется что более-менее правильный подход реализован в убунту и ко. Когда по-умолчанию создается пользователь с определенными правами, но не администратор, причем при инсталляции стать суперюзером нельзя. Ну а дальше sudo sudo и sudo (или ввод в gui администраторского пароля при свершении действий, превышающих пользовательские права).
Да. Почитала комментарии и поняла, что предложение про проверку hosts критики не выдерживает, а вот этот вариант как раз самый правильный :)

Убунта и линуксовый софт, правда, ещё намного лучше винды заточены под несидение под рутом, там не ощущаешь от этого дискомфорта.
Он будет это говорить КАЖДЫЙ? Раз? Или один раз с галочкой «не спрашивать меня больше»?

Кроме того, что означает фраза «другой адрес»? Извините, вы просто не хотите разобраться с системой ресолвинга имён. Приоритет hosts перед DNS задаётся в nsswitch.

Кстати, если у браузера будет галочка «не спрашивать меня больше», то её (в реестре) будут выставлять те же трояны и ваша security though ignorance не сработает.
более того, для выставления этой галочки им админские привелигии не нужны (если не из под админа работать)
Сделать галочку «не спрашивать меня больше» только и исключительно на уровне доменных политик для машин, входящих в домен. Пользователь даже в правами локального админа чтобы не мог опцию отключить. Аналогично для компа не в домене опция не отключается.

Только доменный админ.

Вот только реально ли это прикрутить в таком виде к браузерам, отличным от осла — сильно не уверен…
За что такая привилегия доменным админам? Мне что надо будет, чтобы локально сайт потестить каждый раз нажимать «Да, блин, я знаю что я делаю» или Server покупать там, где и Home справляется?

И, думаю, что если дошло до доменной политики, то с hosts там куда более вероятно, что всё нормально, чем на «средней» домашней машине.
Именно потому и предлагаю прикинуть такой вариант.

В том то и дело, что 95% домашних пользователей про hosts вообще не в курсе. Т.е. он у них должен только локалхост и содержать. И именно этих пользователей через hosts чаще всего и кидают.

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

Ну так давайте из этого и исходить и размышлять над оптимальной реализацией.
Исходить надо из того, что:

а) злоумышленник, получив админские привилегии, может делать с машиной всё что хочет, в том числе незаметно от пользователя. Может, например, поднять локальный прокси-сервер и перенаправлять весь трафик в него, а из него куда угодно, а может DNS локально поднять и резолвить для «чудо-браузера» как захочет какие захочет адреса, да и вообще сам браузер (да и ОС) модифицировать как ему будет угодно.

б) изменить «ненужный» файл hosts он может (по умолчанию) только получив админские привилегии

Делаем вывод, что проблема не в том, что злоумышленник изменяет hosts, а в том, что он получает админские привилегии. Подавляющее большинство таких случаев связано, по-моему, не с уязвимостями какой-то конкретной ОС или другого ПО, а с сознательными (реже) или несознательными (куда чаще) действиями (или бездействием) пользователя по предоставлению злоумышленнику такой возможности. Проблема локализована, осталось её решить.

Самый простой способ, если говорить о безопасности серфинга — не запускать браузеры (да многие другие программы) от имени пользователя, имеющего админские права. Грубо говоря, первой строчкой поставить что-то вроде if (User.isAdmin()) exit(1); И всё!
Все мы тут прекрасно знаем, насколько правильно работать под учеткой с ограниченными правами.

Также мы все прекрасно знаем, насколько массовый юзер привык работать под админской учеткой. И привык категорически, так что даже появление UAC в висте было воспринято в штыки.

Большинство присутствующих прекрасно знают набор правил, следование которым даёт близкую к 100% гарантию от заражения виндового компа гадостью, но сейчас то речь о конкретном ограниченном варианте защиты от конкретного типа зловредов. Для тех, кто этим правилам не следовал и следовать согласиться только под дулом плазмагана.

Было логично замечено, что запущенный с правами локального админа вирус сможет за юзера выставить все галочки, что доступны локальному админу. Т.е. в простом варианте реализация идеи топикстартера безсмысленна.

Потому я и говорю про возможную вариацию идеи — сделать в системе набор задач, для которых привилегий локального администратора недостаточно и необходимы права доменного администратора. А если комп не в домене, то настройки вообще недоступны.
В таком варианте реализация идеи топикстартера, теоретически, может иметь какой-то эффект.

То, что злоумышленник может сделать с компом-жертвой всё что угодно, вовсе не означает, что не следует усложнять ему работу :).

И это ни разу не отменяет правил гигиены при работе в Сети. Это лишь попытка «поразмышлять на заданную тему».
UAC в висте было воспринято в штыки, потому что это было уродское и мешающее работать творение. Но МС молодцы, сделали выводы, и теперь в семерке UAC — клёвая и нужная штука.
> Все! И тут уже даже моя мама, далекая от IT, поймет, что
> что-то не так и не будет вводить логин и пароль.

Это Вы так думаете. Большая часть пользователей нажимает кнопки диалоговых окон, не вникая в смысл сообщений.
>Предупреждение об некорректом SSL с возможностью продолжить — фэнсервис.
В таком случае точно такую же ошибку стоит выдавать при любом HTTP (не https) соединении. Они же ещё менее безопасны, чем, например, SSL с самоподписанным сертификатом.
Нет, почему же? Соединение http устанавливается без проверки сертификатов. Тут вопрос не в надёжности канала (вон, у меня по pop3 пароли plain-text'ом ходят, правда, там снаружи pptp с 128 битным шифрованием), тут вопрос в следующем: мы устанавливаем защищённое соединение. Проверяем сертификат. Совершенно общим механизмом проверки доверия PKI. Обнаруживаем, что функция, которая должна вернуть нам подтверждение (после проверки САСЛ, политики УЦ и т.д.) вернула нам кукиш, то есть ошибку. Всё, соединение неуспешно.

Это как если бы нам по HTTP ответили 599 OK, It's joke. Шутка не шутка, а 5хх ошибка — всё, до свидания.
>Это как если бы нам по HTTP ответили 599 OK, It's joke. Шутка не шутка, а 5хх ошибка — всё, до свидания.

Ну вообще говоря браузер может вывести контент (если он есть) при любом коде ответа — спецификации это не нарушает
Может-то может, но должен далеко не при любом, если мне не изменяет склероз
Иногда люди создают SSL соединения для себя любимого. Знаете, было бы немного странно, если бы я не мог зайти к себе на компьютер из какого-либо браузера только потому, что «сертификат самоподписанный». Конечно самоподписанный, ведь я его лично сам подписывал!

Живой пример:
На работе для внутренних нужд пользуемся VMWare Server 2.0. Там все управление через SSL веб-морду. Сертификаты, естественно, создаются без участия центров сертификации…
А вы не пользуйтесь самоподписанными сертификатами. Пользуйтесь собственным УЦ, внесите его в список доверенных и подписывайте всё, что вам в голову придёт.

Сертификат, создаваемый без участия УЦ — насмешка над PKI.
во-первых, для модификации hosts нужны права администратора.
UFO just landed and posted this here
Ну так раз у вас hosts используется только вирусами/троянами/кейгенами, так единожды настройте его (или обнулите, замените на каталог) и на уровне файловой системы запретите доступ к нему.
Впрочем, со временем найдутся более умные вирусы, которые не просто будут пытаться тупо писать в файл, а сначала захватят владение над ним и настроят себе доступ на запись или удалят/перезапишут его нужным файлом.
сотни строк??
cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

Функционал (а зачастую и синтаксис) у файла hosts одинаков во всех ОС
Во всех POSIX-совместимых ОС.
Его и в Windows сделали в etc\hosts только чтобы формально вписаться в POSIX.
Хм, а я всегда думал, что-это из-за того что в винде цельнотянутый TCP стек от BSD.
Какое имеет отношение ресолвер к TCP-стеку?
Да, а с фишингом должны бороться не производители браузеров, ломая нормальный функционал, а админы банков, используя SSL, в котором вас предупредят о том, что «сертификат-то поддельный».
Вы правы, там есть SSL. Но представьте себе ситуацию: Вы захоидили в Интернет-банк в течение месяца каждый день. Вы уже и забыли, что там в урле должно быть https.

И тут Вас ломанули, и сделали зеркало, но без SSL. Браузер не скажет «сертификат-то поддельный». Он просто откроет сайт.
Я зашёл в очередной раз по хоткею на панели закладок. Вообще, «если меня ломанули», то беспокоиться о конфигах системы я стану в последнюю очередь — если можно смело кейлоггить, делать руткиты, сниффить сетевой трафик, то подмена файла ресолвера — это наименьшее из зол.
Откровенно говоря, я не сильно разбираюсь в способах взлома.
Просто мне кажется что подмененный hosts на Винде — очень популярный механизм. И его можно было бы избежать, если бы пользователя предупреждали о его содержимом.
Откровенно, я не сильно разбираюсь в способах взлома. Просто мне кажется, что Windows — очень популярный механизм. И его можно было бы избежать, если бы пользователя предупреждали о её использовании.

hosts — ШТАТНЫЙ механизм ресолвинга. И у него миллион применений помимо троянов.
хотя бы десяток из миллиона перечислите, плиз. Правда интересно.
Рассказываю. Если вы монтируете NFS-шару с корневым каталогом и/или usr, то полагаться на DNS нельзя, если у DNS временные проблемы, то куча рабочих станций и серверов останется с носом. Использовать IP не хочется, так как он фигурирует во многих местах. В этом случае используют hosts.

Далее. Если у вас есть несколько привычных вам серверов, то их можно называть очень кратко. Например, у меня на работе есть несколько десятков однотипных серверов и хранилища. Называются они у меня h1-h50, st1 st2 и т.д. Дома у меня это реализовано через доменный суффикс, на работе не я администрирую DNS и мне проще использовать hosts.

В случае необходимости тестирования ПО в конфигурации со специфичными именами, прописывать их в hosts проще, чем возиться с DNS.

hosts не кешируются, что очень полезно при частой смене настроек (можно быть точно уверен, что если поменял, то всё работает как должно).

Это только из моей области. Наверняка, люди занятые другими вопросами (например, керберосом, SQL'ем и т.д.) назовут и другие примеры.
Применение у hosts одно — локальная (в рамках ОС) база резолвера прямых записей (А-записей). Вы же описали цели, с которыми применяют hosts. Их может быть миллион, да. Использовать hosts как DNS неправильно, это старый костыль, тянущийся с незапамятных времен. Для всех описанных вами целей необходимо использовать ДНС, как вы и написали, иначе будет адский hell (уж простите за тавталогию) при количестве систем > чем одна. Особенно больно это будет бить по голове вашего преемника на работе. На сегодня хостс полезен лишь для резолвинга loopback-а. Или для изолированных систем.
Причину, почему DNS is ng для NFS-шар я уже указал. Прелесть hosts в том, что он есть всегда, когда есть живая система с живым /etc.

Далее. Вы говорите про открытые системы, в которых есть вариативность. У меня, например, строго известно, что конфигурация НЕ будет меняться. И она описана в локальной Вики до уровня, когда эту работу могут выполнять дежурные инженеры.

hosts же для быстрого обращения к машинам на моей машине — это вообще лично моё дело, а мой преемник (наследник) не сильно будет с этим париться.

а если через N лет будет изменена логическая архитектура сети? Изменятся сети и, соотв. адреса? Будете хостс перезаписывать на всех серваках? Руками или изобретёте элегантный костыль красного дерева для пакетной смены?
Почему вы говорите «сменит_ся_? Адреса в локальной сети контролирую я. И если я решил, что у меня в локальной сети IPV4, то даже если весь мир перейдёт на IPV6, это не будет мешать серверам отдавать наружу IPV6, а внутри работать по IPV4. Если же будет идти вопрос о смене IPv4 на v6 в локальной сети, то правка hosts будет наименьшим из открывающихся зол.
хорошо вам. В больших конторах за каждую бирюльку отдельное подразделение отвечает и если тебе сказали, что с переходим на новую адресацию (причины бывают разные), то ты никуда не денешься. Поэтому всё взаимодействие между системами выстраивается при помощи наиболее типовых, стандартных, масштабируемых и центрально управляемых инструментов/механизмов/протоколов. Иначе работы будет хоть полгода жопой ешь и еще останется. Когда парк только WIN-серверов более тысячи, а разных *nix (от SCO до HP UX и linux) — еще больше, как-то страшно становится, если кто-то из админов на своей части серверов колхозил год назад со всякими hosts, статическими маршрутами, arp-таблицами, etc. Такие полтергейсты вылезают… Такое потом карается как минимум выговором.
Я прописываю в hosts виртуальные хосты, которые настраиваю в apache
а зачем? Нет, правда?
У меня в apache несколько виртуальных хостов site1.cms, site2.cms и т.д. Можно конечно настраивать DNS, но проще прописать их адреса в hosts
дык вы про свой домашний комп, который сам себе и веб-сервер? Да, как я уже сказал, для замкнутых изолированных систем использование хостс нормально.
Приятель «балуется» тем, что на работе всяким vkontakte.ru назначает в hosts на всех машинах 192.168.0.2 со страничкой, напоминающей его сотрудникам, что работать надо (то есть по сути делает именно то, с чем призывает бороться статья). Поднимать для этих целей DNS или прокси тоже не очень, железный роутер позволяет только по IP блокировать и число правил ограничено, hosts самое простое решение для блокировки доступа к определенным доменам на ограниченном числе клиентов.

Я прописываю в hosts свои сервера (с «белыми» IP), чтобы иметь к ним доступ по имени доменов сразу после смены A-записей, а не ждать пока волна обновлений до моего провайдера докатится.
Слово «баловство» очень точно описывает ваши с другом действия. Ни больше, ни меньше.
По вашей проблеме с «волнами» (вот ведь какие смешные городские мифы рождаются от незнания принципов работы ДНС) рекомендую почитать про TTL.
Стоит задача на нескольких (не всех) машинах ограничить доступ к определённым доменам, для частичного предотвращения использования сотрудниками ресурсов компании в личных целях и повышения производительности их труда. Для доступа в интернет используется слабоконфигурируемый девайс, топология сети «звезда», где этот девайс в центре, топологию сети или девайс менять нет возможности. Решение должно быть кроссплатформенно (Win, Linux) — можете предложить вариант более простой, чем использование hosts?

Можете ещё сказать способ, как мне, простому клиенту своего провайдера, установить на его серверах (а также у всех остальных DNS серверов по цепочке) TTL записей в 0, а не 3600? Скажете — перестану использовать для этого hosts. Вариант получить админский доступ к ним не предлагать :)
контроль доступа к ресурсам по определению должен быть централизованным. Даже в дешевых SOHO-роутерах есть функции URL и domain-фильтрации, с разбиениями на группы (этим — можно, тем — нельзя). А уж если в вашей «звезде» в центре стоит PII с линуксом, то тогда вообще вопрос лишь в уровне компетенции админа. Применение хостс — показатель некомпетентности.
По второму вашему вопросу. Во-первых, вы невнятно его сформулировали. Вы вообще знаете, что такое TTL в системе DNS и как это работает?? Изменять значение TTL нужно лишь на NS-серверах, авторитетных за конкретный домен. Все остальные ДНС-сервера в мире, будучи лишь рекурсорами по отношению к этому домену, принимают в RR-запросе TTL от авторитетных NS-серверов, никакой самодеятельности. Поставите его в 0 (не рекомендую, рекомендованное минимальное — 60 секунд), то весь мир узнает о смене ip у вашего домена ровно через одну минуту. Но нужно понимать, что чем короче TTL, тем больше нагрузка на сервера ДНС.
Если у вас сайт(ы) на шаред-хостинге и панель не подразумевает изменения TTL, то купите DNS-хостинг, у тех же fastvps.ru он стоит 2 или 3 евро в год, полУчите 2 NS-сервера в георгафически разделённых ДЦ.
Видимо у приятеля очень дешевый роутер (+adsl-модем и wifi точка доступа), там только на уровне IP и MAC можно ограничивать доступ. В центр звезды поставить нормальный (в смысле с некастрированной ОС) сервер не выйдет без дополнительных затрат на железо (прошивок под этот длинк тоже не нашлось). Этот же роутер не позволяет использовать ТД как независимое устройство, чтобы получать трафик на модем, отправлять его на сервер, а с сервера через ТД раздавать инет клиентам.

Никакой самодеятельности не допускается стандартом, на практике от него отступают, видимо. Иначе как вы можете объяснить, что обновления на ns3/ns4.fastvps.ru c TTL 3600 «докатываются» до меня (только до дома, в других местах или через GPRS всё ок) где-то около полуночи, независимо от времени изменения, хоть в час ночи, хоть в полдень, хоть в 11 вечера? Никакoго кэширования DNS на своей стороне не включал, проверял через обычный nslookup в Ubuntu (причём nslookup -d пишет 3600 TTL)

nslookup уже давно deprecated, используйте dig.
Такого быть не должно, после изменения записи проверяйте на каждом из ns-серверов, тут может быть проблема в передаче NOTIFY от мастера к слейву:
dig yourdomain.ru @ns3.fastvps.ru +short
dig yourdomain.ru @ns4.fastvps.ru +short

Значения должны совпасть достаточно быстро. Если нет, то ваша проблема кроется в задержке синхронизации между ns-серверами, смело пишите в саппорт.
Или вот так:
bondbig@bondbig-laptop:~$ dig ya.ru +noquestion +nocmd +nocomments +noauthority +noadditional +nostats

; <<>> DiG 9.7.0-P1 <<>> ya.ru +noquestion +nocmd +nocomments +noauthority +noadditional +nostats
;; global options: +cmd
ya.ru. 1095 IN A 87.250.251.3
ya.ru. 1095 IN A 87.250.250.3
ya.ru. 1095 IN A 77.88.21.3
ya.ru. 1095 IN A 213.180.204.3
ya.ru. 1095 IN A 93.158.134.3

Подчеркнутые цифры — значение TTL (или его остаток, если запись уже была запрошена ранее и есть в локальном кеше)
Его можно избежать, запретив доступ к файлу на изменение.
Если вирус запускается от текущего юзера, который при этом имеет админские привилегии, то ему ничего не помешает сначала настроить себе доступ к файлу hosts, а потом изменить его.
А почему у вас юзер, не разбирающийся куда тыкать и по каким сайтам лазить имеет админские привилегии?
Почему у меня?
Я лишь отметил, что если некий процесс (предположительно вирусный) имеет возможность изменить файл hosts, то значит у него есть административные привилегии, а значит ему хватит привилегий и на то, чтобы сначала вступить во владение файлом, изменить права доступа к файлу, а потом уже исправить его содержимое.
А если у процесса изначально не было прав на изменение файла, то и права доступа к файлу можно не менять.

Таким образом, запрет доступа к файлу на изменение ровным счётом ничего не меняет. Если до этого мог, то и после изменения сможет, а если раньше не мог, то и при новых правах доступа не сможет.
Таким образом, предполагая что есть другие небезопасные места универсальнее будет окошко «процесс лезет куда только админам можно».
А вообще, если процесс получил админские права, это очень серьезная уязвимость, такие стараются закрыть как можно быстрее после обнаружения.
А вообще, если процесс получил админские права, это очень серьезная уязвимость, такие стараются закрыть как можно быстрее после обнаружения.
Стараются закрыть? Да неужели?
Кучи пользователей Windows до сих пор запускают все свои юзерские процессы с админскими правами. Что-то мне подсказывает, что автор топика тоже из их числа.
Проблема не в какой-то конкретной уязвимости в отдельно взятом приложении, проблема в комплексном подходе к безопасности.
Естественно, я имел ввиду уязвимости с повышением прав. Если юзер «сидит под админом», то он ССЗБ и никакие всплывашки не помогут, а будут только мозолить глаза
Получение админских прав — фигня. Вот когда какой нибудь вирус повышает себе права до SYSTEM — вот это весело.
Если есть админские права (с отключенным UAC), то получить SYSTEM можно штатными средствами
В том то и дело, что я видел достаточно новые(этого года) эксплойты, которые позволяют получить SYSTEM из под любого пользователя и вне зависимости от включенного/выключенного UAC
В metasploit была парочка и несколько месяцев назад они еще работали.
Даже если и так, то получение SYSTEM и получение админа эквивалентны, поэтому получение прав админа не может быть фигней.
не эквивалентны, хотя бы потому, что при включенном UAC так просто SYSTEM не получить.
Под админом я имею в виду настоящего админа (того что при выключенном UAC или когда UAC получил разрешение на повышение)
эти уровни эквиваленты, т.е. имея админа можно получить system и наоборот.
нет. Можно быть SYSTEM на контроллере домена и не иметь при эом возможности получить права администратора.
Просто на контроллере домена нет локального администратора, если не ошибаюсь…
В обычном режиме работы локального (машинного) админа на контроллерах нет, только доменный (который аутентифицируется через базу AD).
Локальный админ (админ локальной машины) на контроллере домена есть только при загрузке в DSRM (Directory Services Restore Mode), который используется для оффлайнового доступа к базе AD в режиме восстановления.
Я за виндами давно не слежу, но что-то мне подсказывает, что для SYSTEM не проблема создать аутентификационный токен любого пользователя. По крайней мере, так было во времена NT4.
_локального_ пользователя. А не любого. Назначить себе чужой сид, наверное, теоретически можно, однако, однако, это будет фальшивый сид, не прошедший авторизацию на контроллере домена и не имеющего доказательств этого (ни тикета, ни TGT).
Фальшивый SID? (:
При доступе процесса к локальным ресурсам только SIDы прописанные в токене процесса имеют значение.
При доступе по сети нужно иметь валидные credentials, но опять же, вроде не проблема поменять пароль жертвы на что-нибудь удобное.
Локально — да. Но SYSTEM никто не мешает просто сделать ownership change на объект и не париться с фальсификацией SID'а. При взаимодействии с внешними системами фальсифицировать ничего не удастся — авторизация идёт посредством не пароля, а c помощью тикета. Тикет выдаёт kerberos при предъявлении TGT (ticket granting ticket), который в свою очередь выдаёт kerberos при аутоидентификации. Пароль при этом не выходит за пределы хоста, а пользователь (точнее. компьютер от его лица) доказывает, что он знает shared secret. Дальше работа идёт только с TGT. Таким образом, если не был перехвачен пароль в момент ввода пользователем и пользователя нет залогиненым на сервере, то сервер не может фальсифицировать его наличие для внешних систем.

У майкрософта это мутно описано, лучше смотреть в описании принципов работы кербероса (у линуксового неплохая документация есть).
Это окошко в Windows называется User Access Control, и половина людей его отключают, потому что оно их раздражает, видите ли.
«у вас», в смысле «в вашем примере».

Откуда берутся все эти процессы? Это либо дырка в системе, либо дырка в управлении правами. И те и другие дырки нужно затыкать в соответствующих местах, а не путём подстановки костылей в браузере.

В том-то и дело, что браузеры пишут с точки зрения, что «раньше не мог». И смысла проверять то, что пользователь не может совершенно никакого.
Поставьте себе (маме, тёте, подруге) софтину под названием WinPatrol. Там есть функционал слежения за файлом hosts.
если вы не смотрите на наличие https при управлении своими деньгами, лучше просто отдайте их мне :)

И это, увы, не паранойя, это элементарное «мытьё рук перед едой»
Это элементарные правила безопасности при работе с финансами. Имеете проблемы с памятью — не пользуйтесь интернет банкингом вообще, потому что потом жаловаться будет уже некому. Лично я всегда проверяю сертификат при заходе на страничку интернет банкинга.
Вот, кстати, была бы полезная фича для браузера: список URL-ов, вход на которые разрешен только через SSL. И возможность для сайта предложить пользователю добавить себя в этот список через специальный тег.

Например, если браузер видит тэг:
то выкидывает окно «Хотите добавить сайт в список сайтов, доступ к которым будет разрешен только через SSL?»

И во всех банк-клиентах и прочих критичных местах прописывать такой тег.

Плюс возможность предложить убрать себя из списка таким же тэгом, но со значением false (должно работать только из-под SSL) — на случай смены концепции.
тэг съелся.
<meta http-equiv=x-ssl-only content=true>
В случае с альфабанком то что злоумышленники узнают пароль не принесет существенных проблем так как аутентификация производится дополнительно с одноразовым паролем, который приходит по смс на привязанный к аккаунту номер телефона.
К альфабанку нареканий нет)
Но что-то мне подсказывает, что у многих людей в hosts целый букет таких айпишников на всевозможные сайты.
И многие из них не знают, что ОС сама перенаправляет их на сайты злоумышленников.

Я просто хочу сказать, что было бы неплохо как-то оповещать пользователя о таких вещах.
Может даже не браузером. Но ведь надо!
Пока люди не разучатся сидеть под админом на винде, подобные штуки будут популярны. «Разруха не в клозетах, а в головах» © М. А. Булгаков
Вообще-то фишинговые сайты тоже не дураки делают.
— мошенник получает от клиента его логин+пароль (тот их сам вводит на фишинговом сайте);
— мошенник в режиме онлайн автоматизированно подключается с ними к реальному интернет-банку;
— оттуда жертве СМСкой высылается временный пароль для входа;
— мошенник через фишинговый сайт запрашивает этот пароль у клиента;
— клиент отдаёт пришедший ему смской пароль мошеннику через формочку на фишинговом сайте;
— мошенник входит в аккаунт интернет-банка жертвы, делает перевод денег, что требует ещё один временный пароль;
— при этом клиент-жертва пока видит, что вход якобы не произошел и идёт проверка введенного пароля;
— мошенник снова запрашивает уже второй пароль у жертвы, со словами «введен неверный пароль, введите второй, который вам отправлен»;
— и если клиент лох и не прочитал во второй смс-ке, что это уже пароль не для входа, а для совершения операции перевода денег, то он его снова отдаёт мошеннику через фишинговые сайты, ну и денежки уходят налево…

Аналогично и с запросом олноразовых кодов с карточки для Телебанка от ВТБ24.
Об этом уже в различных новостях недавно писали, вот например:
marker.ru/news/2132
Там правда заголовок жёлтый, т.к. реально вирус деньги не уводит, он просто делает записи в hosts-файле, чтобы перенаправить клиента на фишинговые сайты, а деньги из интернет-банка уже уводят сами мошенники с помощью фишинговых сайтов. Но в целом суть там изложена.

А меры защит тут самые простые:
— убедиться, что подключаешься с использованием SSL (по https://);
— убедиться, что сертификат при этом валидный;
— внимательно читать СМСки с временными паролями.
Все правильно. Я просто все беспокоюсь за обычных людей, для которых есть только браузер и адрес сайта.
Они не знают про SSL и сертификаты.
В браузере есть предупреждение об отправке данных через незащищённое соединение. Как вы думаете, сколько людей там поставила галку «предупреждать меня каждый раз»? И что ещё сделать? Убрать галку? Первым же взвоете.
«Аналогично и с запросом олноразовых кодов с карточки для Телебанка от ВТБ24. „
… несмотря на то, что Телебанк явно пишет прямо рядом с окном ввода одноразового кода, что никогда ни при каких условиях не будет запрашивать второй пароль.

Но никто же не читает.
А если какерский сайт будет в роли MITM выступать?
Давайте тогда кофеварка будет Вас предупреждать о повышении концентрации углерода монооксида, а пылесос — о тайфунах и цунами.
> углерода монооксида

По-русски это называется угарный газ.
Вы, наверное, и воду называете оксидом водорода или дигидридом кислорода?
А как же! Кислорода дигидрид — страшный яд!
Монооксид дигидрогена
Я просто что хочу сказать.

Механизм не новый. Почему до сих пор происходит угон из-за hosts?

Да просто потому что его наличие и функционал неочевидны для многих пользователей.

Вот и все. Все умные, все всё знают, все говорят про SSL и т.д.

А деньги как уводили, так и уводят. И все знают как. Не парадокс ли?
> Да просто потому что его наличие и функционал неочевидны для многих пользователей.

В работе компьютеров и сетей есть ещё много всего неочевидного обывателям.
Уберёте как класс hosts-файл — мошенники начнут использовать DNS-спуфинг, а наличие и использование DNS будет ещё более неочевидно для многих пользователей.

Поэтому, как я уже сказал выше, нужно двигаться не в направлении увеличения очевидности для пользователей (в таких сложных системах это уже нереально), а в направлении выстраивания грамотной политики безопасности.
— не работать под рутом/админом (дополнительно можно настроить запрет на изменение файла hosts);
— регулярно обновлять систему и ПО;
— по возможности не использовать дырявые продукты, на которые мошенники в первую очередь направляют вектор атак (Internet Explorer, Adobe Reader, Windows);
— использовать защищённые протоколы и обращать внимания на предупредления безопасности;
— не переходить по непонятным ссылкам, не запускать непонятные присланные файлы (даже присланные якобы от знакомых) и т.д.

Считаю что подобные азы безопасности при работе в сети должны вообще преподавать в школах на уроках информатики, чтобы это с детских лет запоминалось и было очевидным для всех пользователей интернета, сетей и компьютеров.
Во всем этом есть неотъемлимый человеческий фактор. Он делает описанные Вами политики труднореализуемыми на практике.

Можно провести аналогию с пользованием автомобиля, к примеру. Для того, чтобы водить — нужны права. И только потому, что за рулем человек несет ответственность не только за себя, и за окружающих.

Рядовой пользователь ПК условно несет ответственность только за себя. Пользование ПК имеет низкий порог входа.

Система должна взаимодействовать с человеком. Наличие грамотной системы взаимодействий поможет избежать различного рода проблем. Алан Купер в книге «Психбольница в руках пациентов» довольно подробно осветил эту проблему.

В свою очередь я вижу проблему в отсутсвии взаимодействия ОС с пользователем касательно механизмов, которые наиболее часто используются злоумышленниками. А заловок статьи я назвал «Проверка hosts в браузере» потому, что мне кажется, что на уровне браузера это взаимодействие логично было бы реализовать.
только что проверил, не надо никакого спуффинга. Достаточно просто прописать dns suffix. В этом случае человек будет набирать alphabank.ru, а ему будут показывать содержимое alphabank.ru.domainsuffix.badass.cn (не показывая domainsuffix.badass.cn в строке браузера!).

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

А если хотят избежать дополнительных DNS-запросов по списку суффиксов, то в конце имени добавляют точку, тогда идёт только первый запрос без суффиксов, а запросы с добавленными суффиксами уже не идут.
Вообще, имхо, наоборот, сначала суффикс, потом FQDN. Хочешь без суффикса — добавляй точку в конце.
Потому что уводят не у тех, кто знает, а у тех, кто не хочет знать и разбираться. И им не поможет предупреждение от браузера, потому что они его проигнорируют так же, как и все остальные предупреждения.

(Вот у меня в системе как минимум два незавимых слоя защиты /etc/hosts. Вы правда думаете, что вирус, который их обошел, не сможет заодно и отключить предупреждение в браузере?)
Да, вот вспомнил… Вирусы и фишинг — это наиочевиднейшее из зол, которое поджидает вас в интернетах. Уязвимости XSS могут быть гораздо коварнее. На хабре была статья про увод денег, почитайте её:
habrahabr.ru/blogs/yandex/74811/

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

Вспоминается пословица к месту: «Меньше знаешь — крепче спишь».
whois 85.234.190.95

descr: Latvia, Rezekne, Darzu 21
descr: +371 20034981
remarks: abuse-mailbox: piotrek89@gmail.com

пишите абузу…
Этим должна заниматься система, а не браузер.
поскольку данной проблеме подвержены в основном виндовые системы, то было бы логично не в броузер встраивать защитную уведомлялку, а например в центр поддержки(вин7, флажок возле часов). Сделать так что при каждом изменении hosts там выскакивало уведомление с текстом «Файл hosts был изменен. Это может быть результатом действия вирусов. Если вы не вносили никаких изменений нажминете Отмена для возврата значений по умолчанию, или Применить если изменения сделали вы»
Это не панацея. Если вирус изменил файл hosts, то значит у него есть админские привилегии, а значит он чисто технически сможет и отменить появление такого предупреждения на экране. Когда вирусописатели это реализуют — лишь вопрос времени.
не успел ответить в том же русле, что автор что данный комент, идут одним и тем же путем, борются со следствием, а не причиной, причем методы борьбы извратнее не придумаешь.
в данном случае причину побороть значительно сложнее изза привычки(и недостатка знаний) миллионов людей. потому и придумывают костыли
думаю есть способ сделать службу безопастности не подвластную админу, или хотябы требующую ввода пароля. ну и естественно избавится от такой уязвимости как пустой пароль у админов.
Это достаточно серьёзные архитектурные изменения ОС. Для уже выпущенных ОС Microsoft этого делать не будет.
ну я и не рассматриваю версии ниже 7ки, а для нее можно следующим сервиспаком изменения внести. но и дураку понятно что делать этого мс не будет, ведь это проблемы юзеров, а не их. Вот и приходится ставить тормозные антивири/фаерволы и надеятся что они защитят, хотя последнее время они как по мне проигрывают войну:(
вообще стоит запретить сидеть под админом, а для настройки системы/установки прог приучить юзать runas (или какой там гуевый аналог) с запросом пароля.
абсолютно с вами согласен.
подытожу:
1) на работе у обычных пользователей доступ должен быть только с ограниченными правами _без знания_ как что-то запустить с админскими правами — так и админу легче уснуть и безопасность намного лучше.
если нужно что-то действительно поставить — звоните админу, а если софт такого плана, что «стесняются» звонить — значит он и не нужен.
2) дома нужно работать от простого пользователя с возможностью запускать что-то от админа. если уж есть необходимость поставить в текущий профиль — можно дать привилегии на текущий сеанс работы.
дома как правило хватает таких вещей:

runas /user: Администратор install.exe
runas /user: Администратор «control чтото.cpl»
runas /user: Администратор «mmc чтото.msc»

Вот только все cpl-ки не запомнишь. А .msc свою создать можно.
Я сделал sudo.bat runas /user:Admin %1 %2 %3…
Во-первых, вместо %1 %2 %3… правильнее будет указать %*
А во-вторых, если пароль не вводится в команду runas явно, то вместо него нужно ставить звёздочку, которая означает, что пароль нужно запросить интерактивно у пользователя.
Если в runas не указать ни явно пароль, ни звёздочку, то команда будет пытаться аутентифицироваться с пустым паролем, а запрос на ввод пароля администратора будет выдан пользователю только после нескольких неуспешных попыток залогиниться админом с пустым паролем. А если в системе включена политика lock-out, блокирующая пользователя при нескольких неправильных попытках ввода пароля, то такой скрипт будет ещё вызывать постоянные блокировки пользователя, прописанного в скрипте, ещё до запроса пароля (впрочем, если это BUILTIN\Administrator, то он не лочится, но всё равно корректнее сразу указать в скрипте звёздочку вместо пароля).
UFO just landed and posted this here
достаточно runas /user:Administrator control.exe — открывается просто панель управления
И что изменится? Сейчас для настройки/установки пользователю надо нажать Yes.

Ровно те же люди, которые сейчас бездумно нажимают Yes, будут бездумно вводить пароль.
«думаю есть способ сделать службу безопастности не подвластную админу»
Нет, и не должно быть. Локальный админ может на компьютере все. Если система не подвластна ему — кому она подвластна? МС?

Понимаете, проблемы от того, что людям лень предпринимать действия для того, чтобы быть защищенными.
А вы знаете, в той самой Win 7 это предупреждение давно уже есть. Называется User Account (как мне верно подсказывают выше) Control. Не дав ему подтверждение, записать в /etc/hosts нельзя (даже если сидеть под администратором).

И таки что? Помогло это автору статьи?
нехрен сидеть под рутом\админом
ну в nix-ах никто и не сидит под рутом, десктопная система будет создавать неудобства лишь бы вы сидели под нормальным пользователем. В случае винды все наоборот, неудобства получают те кто сидит под ограниченой учеткой… потому и развелось столько «админов»
ну я об этом и говорю, не соблюдают простейших правил безопасности и ноют, еще и просят функционал для них писать…
UFO just landed and posted this here
не перегибайте. В случае ПДД, подушки нужны если и кто-то другой совершит ошибку. В случае компа — только если его админ.
UFO just landed and posted this here
домохозяйка сама устанавливала себе виндовз?
UFO just landed and posted this here
Кстати, была бы неплохая практика создавать на оемной системе сразу двух юзеров — админа и ограниченного. И при первом запуске генерить админский пароль и устанавливать ограничения сложности при его смене.
Она в магазине нажала «согласиться с лицензий» и попросила ей пользователя Алёной назвать. Так что да, практически сама. Много в каких магазинах заморачиваются с настройкой политик пользователей? Увы.
Обычно вообще продавец сам соглашается, а пользователя зовут 1
Ну вот тем более :)

Короче, крайний найден, и это, как всегда, разработчик ОС.
в Win7 слава богу, сделали более-менее нормальный UAC, и хоть я сейчас и сижу под админом, но всякие непонятные изменения в реестре или системных файлах все равно надо подтверждать. другое дело, что рано или поздно найдут таки пару дырок в этой системе, и тогда будет новая эпидемия
В винде ограниченная учетка тоже не создает проблем в работе.
Другой вопрос что большая часть программ не то что ставиться, даже обновляться не умеет в таком варианте. Типичные примеры — flash и java.
И да, виндовый update даже не запускается без админских прав :)
> И да, виндовый update даже не запускается без админских прав :)

По умолчанию да, но в политиках безопасности системы в User Rights Assignment можно установить, чтобы уведомления об апдейтах получали не только администраторы. Там же имеет смысл настроить ряд других действий для своего неадминского пользователя, под которым регулярно работаешь, (например, право настройки сетевых интерфейсов и что-то там ещё).

А вообще Windows (по крайней мере Win2k/XP/2k3) действительно очень плохо приспособлен для удобной работы без админских прав. Вместо того, чтобы система сама запрашивала пароль для совершения некоторых административных действий, пользователь сам должен догадаться что-то запускать от имени админа через runas (а иногда и логиниться от имени админа).
Именно поэтому многие и работают там постоянно под админом, т.к. без этого там неудобно выполнять административные действия.
Причём даже если догадываешься, что что-то надо запустить, то надо ещё догадаться и что именно. То же обновление Java пишет о необходимости обновляться простому пользователю, но вот обновляю я его только перелогином. Наверное не надо говорить, что не всегда можно/хочется оторваться от текущего процесса, чтобы чего-то там обновить, а когда становится возможным/приемлемым, то забываешь — в результате какое-то время (часы, дни, недели ...) обновления не устанавливаются лишь по причине неудобства (требуется перелогин) или неочевидности способа (что запустить как параметр runas?) их установки под простым пользователем.
В виндах сейчас другая зараза: много программ любят устанавливаться в пользовательский каталог, вместо %programfiles%. Тот же всеми любимый Хром.

[картинка с голубем]
Товарищи, простите за глупый вопрос, а на Win7 есть hosts? И где он там?
ЗЫ Давно не виндузятник, за своим etc/hosts поглядываю переодически)
есть. тамже где и всегда. виден только запущеным под админом софтинам(тотал итд)
\Windows\System32\drivers\etc\
видео но всем, редактировать не админам нельзя. Блокнот запущеный из под админа легко открывает и сохраняет изменения.
UFO just landed and posted this here
>Так почему бы не сделать?
действительно, почему вы этого не сделали?
или вы как бы намекаете, что кто-то другой за вас это будет делать?
В каком виде я могу это сделать? Написать по плагину для каждого браузера? Чтобы пользователь их сам устанавливал?
Это не вариант
А причём тут вообще веб-браузер?
Сами веб-браузеры разрешением имён не занимаются. Введённое имя в адресной строке браузера передаётся системному ресолверу, тот их неким образом разрешает в IP-адрес (через hosts-файл, через DNS-сервер, через WINS-сервер, через широковещательные запросы в сети или ещё как-то, в зависимости от своих настроек) и передаёт этот IP-адрес обратно браузеру, и браузер уже устанавливает соединение с этим IP-адресом.
Браузер понятия не имеет, через что именно было разрешено имя в адрес (через hosts или через DNS-щапрос), да браузеру это и неважно.
Поэтому браузер никак и не сможет выдать предупреждение «Этот адрес разрешён через hosts-файл», т.к. он этого сам просто не знает.
ну на чтение то hosts открыт, так что бразер просто может проверить, есть ли запись с указанным доменом
может. просто не браузерное это дело, делать допущения о работе системного днс-клиента и на основе этих допущений информировать пользователя.
Естественно… но учитывая, что винда — это один большой грязный хак, такое решение вполне соответствует общей парадигме
если уж такой кривохак и делать, то делать в более общем виде — чтобы браузер мог использовать собственный днс-клиент и игнорировать системный. и это должно действительно несколько увеличить безопасность браузера. в любом случае, такие пожелания лучше оставлять на багтрекере/форуме разработчиков браузера, а не на «каком-то русском сайте» (как это выглядит с точки зрения разработчиков)
Ненадежное решение. Вирусы в дополнение к hosts станут прописывать галочку «не предупреждать» для этих доменов в конфиг браузера.
Лучше, если браузер будет по умолчанию ругаться при любом открытии любого окна из-под рута/администратора (как минимум, по ssl).
Самый прикол что именно hosts может быть нормальный, а подмена доменов всё равно будет. Я как раз с таким столкнулся www.g0l.ru/blog/n248
Это, кстати, наглядный пример ситуации, когда я хотел бы иметь возможность редактировать свой коммент :-(
«Слово — не воробей...»
Ага, много не нагадит :-)
Вы, вероятно, имели в виду, что в системном реестре Windows
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
В параметре DataBasePath может быть прописан другой путь к папке, где лежит файл hosts.
Тогда действительно содержимое файла %SystemRoot%\System32\drivers\etc\hosts может быть одно, а в реальности ресолвером будет использоваться файл hosts совсем по другому пути.
А я столкнулся с более интересной штукой — зараза подменяла адрес ДНС-севера. Очень удобно между прочим для атакующего…
Я когда-то разбирался с Windows API.
Это оказалось элементарно сделать из VBS.
Думаю и другие пути есть.
а мне нужен обратный функционал — изменять резолвинг в самом браузере — удобно для отладки :)
хотя тут будет больше вирусов
Чтобы туда сделать запись — нужно обладать административными правами.
Вы выключили UAC?
или запускаете непонятные программы и опрометчиво даете им административный доступ?
Для тех, кто в танке: защита %windir%\system32\drivers\etc\hosts от изменений давно есть в дырвебе, емнимс аутпосте и наверняка много еще где.
Это, опять же, лечение симптомов и поверхностная защита от тупых вирусов.
Более умные вирусы и антивирус выключат, и в реестре путь к hosts отредактируют.

Надо смотреть в корень проблемы — а это админские права у обычного юзера при регулярной работе в системе. Вот эту проблему в первую очередь нужно решать для организации системы безопасности.
«Более умные вирусы» себе и права до админских (а то и до system'ных) через какую-нибудь дыру повысят.
У вас есть примеры експлоитов которые подымают права, ну хотябы за последение пол года?
cureit за таким следит, касперский наверное тоже. не знаю как другие.
Вот лучше бы пользователи следили, честное слово)
UFO just landed and posted this here
Господа, комментирующие выше, вы, что, издеваетесь?

Пользователь не должен сидеть под админом? А кто ему об этом скажет?
Хорошо, сидит он не под админом, но будет вводить пароль админа каждый раз при появлении окошка. Откуда блондинке понять что там требуется системе и почему в этот конкретный раз пароль вводить не надо?
Фраза «установить драйвера» большинство пользователей повергает в шок. Существуют юзеры, которые не знают что такое архив!

Что, никто не читал habrahabr.ru/blogs/social_networks/104035/?

Те же антивирусы, кстати, не являются абсолютной защитой. Их использование лишь повышает стоимость взлома конкретного домашнего компьютера. Предложенная автором мера — аналогична. Только вот предлагать эту меру надо было производителем антивирусов
Нет, мы не издеваемся, и юзер действительно не должен сидеть под админом.
Кто ему скажет? А все и всё время об этом кричат. Учитывая известность этой истины в обществе юзера уже нельзя назвать жертвой (кроме случаев когда это малое дитя).
Ну не будешь же называть несчастной жертвой алкоголика, влезшего в зоопарке в клетку к хищникам и станцевавшего там стриптиз. Сам виноват.
Люди, занимающиеся финансами на ПК, не могут позволить себе сидеть под админом. А если забили на проблему — сами виноваты в последствиях. А раз страдают еще и другие (получатели спама, жертвы ddos), то этих самых «админов» еще и нужно считать соучастниками
Где об этом кричат? На Хабре? :) Вот будут кричать в каком-нибудь вконтакте или одноклассниках, тогда, может быть, услышат и, может быть, отреагируют.

Хотя кричать об этом могла бы сама ОС: сделать рабочий стол админских аккаунтов аналогичным ему в safe mode — неизменяемый фон, неубираемые надписи на нём и т. п.
Юзеры никому ничего не должны. Вообще.

Про сам виноват почитайте «Психбольница в руках пациентов». Там в самом начале очень хорошая история про самолет и кто кому чего должен.
Окей, никому ничего не должны. Пусть наслаждаются :)
По моему, разумней было бы сделать так:
если ты сидишь под юзером, но для какого-то действия требуются админские права — появляется запрос имени и пароля админской записи. В Windows Vista я такое наблюдал несколько раз, но почему-то только когда ей хочется, а не например когда мне надо установить программу или драйвера к принтеру.
Я уж не говорю про ситуацию, при которой некоторые программы ставятся по умолчанию только под конкретным пользователем.
Если бы такая логика присутствовала (отсутствие необходимости перелогинов) — люди бы работали под пользователем.
А производители антивирусов давно в курсе. Вменяемые давно блокируют запись в «системные зоны» (точное определение у каждого свое).
Водитель не должен выезжать на встречку? А кто ему об этом скажет?
Фраза «переключить передачу» большинство водителей повергает в шок. Существуют водители, которые не знают, что такое тормоз!

Мда.
> Существуют водители, которые не знают, что такое тормоз!

Это пока они Flash не увидят на различных аппаратных платформах…
Сравнение с автомобилями — лживый путь аналогий. В случае с автомобилем водителя заставляют учиться теоретически и практически, и пока не сдаст экзамен — на дорогу без инструктора не выпускают.
Вопросы:
1. Вы (вот лично вы) хоть одного пользователя учили подобным образом?
2. Даже если всех юзеров начнут учить правильно, во всех подробностях — кто помешает юзеру просто купить комп и начать что-то делать методом тыка? Какой-такой интернет-гаишник его остановит, выпишет квитанцию на 2,5 тыра и отстранит от управления компьютером?
В случае с автомобилем водителя заставляют учиться теоретически и практически, и пока не сдаст экзамен — на дорогу без инструктора не выпускают.

Причину знаете?

1. Вы (вот лично вы) хоть одного пользователя учили подобным образом?

Нет, я просто не даю прав рута. Поэтому получается не автомобиль, а роботизированное средство передвижения. Между тем, сам жалею о том, что учился методом тыка.
2. Даже если всех юзеров начнут учить правильно, во всех подробностях — кто помешает юзеру просто купить комп и начать что-то делать методом тыка? Какой-такой интернет-гаишник его остановит, выпишет квитанцию на 2,5 тыра и отстранит от управления компьютером?

Пользователь сам потеряет 2,5 т.р. и передоверит управление более компетентным людям (напр., себе после обучения), если не идиот. А извне это не регулируется просто потому, что неопытный пользователь ПК способен причинить меньше вреда другим, чем неопытный пользователь автомобиля. А вот себе он может и жизнь подпортить.
Пользователь не должен сидеть под админом? А кто ему об этом скажет?


Тот же что сказал писать на заборе номер своей карты и CVV2 — черевато. И прочее в том же духе.

Откуда блондинке понять что там требуется системе и почему в этот конкретный раз пароль вводить не надо?


Неоткуда, посему блондинке не нужно знать админовый пароль. И уже тем более учить его вводить в окошечко.
Как блондинка будет устанавливать «асечку»?
Вызовет мастера
Откуда мастер узнает пароль админа? Или каждый мастер будет «взламывать» на каждый минорный апдейт аськи или браузера? Или пускай блондинка с дырявым софтом по инету шастает?
Насколько я знаю у приходящих мастеров есть свои места где они вписывают данные о компе — записка внутри системника или сзади монитора, внутри коробки с установочным диском, скрытые файлики в Program Files или что-то подобное

В общем мастер — не блондинка обычно, разберется.
Есть три простых правила:
1. не запускать неизвестную фуйню
2. закрыться файрволом
3. поставить хоть какой-то антивирус.

Самое главное тут пожалуй, правило №1.
третье — костыль
Потому что отсутствие админских прав и своевременная установка заплаток на дыры (плюс возможно песочница для приложений, глядящих в сеть) это гораздо более эффективное и правильное решение
Да и первое не главное — «шуйня» может запуститься сама, даже без всяких эксплоитов — автозапуск штатная функция «самой популярной ОС»
4. Не использовать IE без апдейтов.
Слишком ортодоксально, хотя знакомым даю именно такой совет. К сожалению для MS, мой личный опыт показывает, что он (совет) себя оправдывает. Пункты 1,2 и 4 + Panda USB Vaccine почти гарантируют чистую систему на протяжении довольно долгого времени.
UFO just landed and posted this here
Преимущества «вакцины» в том, что она пишет на флешку нестираемый штатными средствами autorun.inf (во всяком случае, пока мне не попадались трояны, которые бы умели его стирать), так что эта флешка в дальнейшем не может стать источником заражения для компьютеров, где нет вакцины или ограничений выполнения кода.

Да, и пути флешек могут теоретически изменяться. Например, сетевой диск может встать заместо флешки.

Ну а так вообще, конечно, верное решение.
UFO just landed and posted this here
А толку? Альфа присылает СМСку с временным паролем после авторизации, без нее дальше не залогинишься.
Очень просто. Человек логинится. Мы тут же логинимся сами из-под его украденного аккаунта. Ему приходит смс-ка. Он передает её текст нам. Мы вводим ключ и тырим деньги.

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

Думаю, расчет на тех пользователей, которые, скажем, не заметят разницу в нескольких цифрах в номере счета, скажем, Яндекс-Денег.
в смс-ке написано назначение платежа и сумма.
oh, shi, не дочитал ваш коммент )
И да, теперь троянописатели знают, что Вы — клиент Альфы :-)
от рута не сижу, увы
А кто мешает трояну сразу вписать свои NSы вместо системных? Тогда уж и на это тоже нужно проверять. А как? Резолвить каждый адрес через системные NSы и сравнивать с результатами, скажем, из Google Public DNS? Тормозить будет страшно…
Интересно, какое предупреждение надо писать, чтобы поняли домохозяйки и менеджеры, пользующиеся услугами банков?
> Тут уж видимо я дурак, раз решил, что Microsoft Security Essentials держит меня в безопасности.

Именно так. Дурак — это ещё мягко сказано про человека, который ходит в интернет под пользователями, имеющими доступ на запись к системным файлам.
У детей на компьютере Dr.Web предупреждает об изменении hosts. Приходиться его править для доступа к ресурсам локалки провайдера
провайдеру так сложно у себя в DNS несколько записей добавить?
Провайдер ниасилил свой DNS сервер вообще.
некоторые не пользуются DNS-серверами провайдера :)

я видел такой вид паранойи (но оправданной): человек у себя заводил виртуальную машину с DNS-сервером (смотрящий напрямую в руты), который и юзал на самой хост-тачке.
лучше сделать другую опцию — чтоб браузер автоматически резолвил сайты на которые заходит пользователь дополнительно через 8.8.8.8 (или по выбору пользователя, но смена только по паролю) и при несовпадении ip выдавал предупреждение.
То есть встроить в браузер лишний велосипед?
ну да. ради защиты и не на такое пойдешь, а браузер это последний рубеж обороны, в конце концов состояние своих записей днс и hosts не будешь проверять постоянно а тут как бы автоматом чекинг идет.
Почему это не будет работать:
  1. Прокси. Если выход в интернет только через прокси, то ты не проверишь ничего.
  2. Многие трояны ставят левые прокси. Собственно, отличить их от легальных невозможно (всё, что может пользователь, может и троян).

О том, каким бредом является встраивание подобного в браузер, помолчу. Тут и до гуглеОС в виртуалке «ради безопасного браузинга» недалеко.
И да, даже в windows использую ограниченную учётную запись.
Почитайте зачем в DNS нужен низкий TTL или почему по вашей схеме не откроется ни один крупный сайт
Ну во-первых — на месте автора я бы убрал из статьи «85.ххх.ххх.98» — если ссылка вредоносная, то нечего подставлять Хабр.
Во-вторых — зачем браузеру этот функционал? Он не для этого рассчитан! Более того — я вас удивлю, потому как аналогичную штуку можно организовать через статмаршруты. Детект этого тоже прикручивать к браузеру? ;)
В-третьих — контроль файла hosts (как и статмаршрутов) выполняют сейчас практически все полноценные программы безопасности — это как раз их задача. Поставьте себе хотя бы одну, тем более, что есть бесплатные.
«кто не спрятался, я не виноват» :)
пользователям давно пора понять: что не всё, что работает по умолчанию, есть благо
А с какого хрена браузер должен проверять работу службы DNS?
> Ведь можно же в браузере, при переходе по ссылке, проверить, не прописан ли этот домен в hosts?

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

Если речь о безопасности, то это не метод защиты. Метод защиты — использование SSL-соединений и проверка подлинности сертификатов. А в данной ситуации сертификат был бы не валиден.
> Ведь можно же в браузере, при переходе по ссылке, проверить, не прописан ли этот домен в hosts?
Ну будут троянцы помимо хостс еще в реестр дубликат добавлять (в список «не предупреждать более для этого домена»), делов-то :)
Для Firefox'а есть плагин Perspectives

Perspectives is a new approach to help clients securely identify Internet servers in order to avoid «man-in-the-middle» attacks. Perspectives is simple and cheap compared to existing approaches because it automatically builds a robust database of network identities using lightweight network probing by «network notaries» located in multiple vantage points across the Internet.

Проще говоря этот плагин «пробивает» сайт через несколько серверов — если сертификат не совпадает, то показывает сообщение пользователю.
Sign up to leave a comment.

Articles

Change theme settings