Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Не работает правило в etc/hosts.allow  (Прочитано 2299 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vasiliy_ZV

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Не работает правило в etc/hosts.allow
« : 01 Апреля 2017, 21:36:21 »
У меня не работает правило в etc/hosts.allow такого типа

Запретить любой доступ ко всем доменам кроме перечисленных
ALL: ya.ru: ALLOW
ALL: ALL: DENY

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #1 : 01 Апреля 2017, 21:59:21 »
Вообще-то hosts.allow контролирует доступ снаружи к системе, а не системы наружу…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Vasiliy_ZV

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #2 : 02 Апреля 2017, 12:56:34 »
Вообще-то hosts.allow контролирует доступ снаружи к системе, а не системы наружу…
хорошо, а доступ из системы наружу где контролируется, где можно это прописать, причем, желательно применительно к конкретному пользователю системы?
спасибо

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #3 : 02 Апреля 2017, 16:12:23 »
Надеюсь, что я не открою Вам тайну, что любая задача может решаться разными способами.
А уж та задача, которую Вы ставите имеет ещё и много неизвестных.

Но сразу скажу, в Linux привязка пользователя к сетевому трафику весьма условна

Оффлайн Vasiliy_ZV

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #4 : 02 Апреля 2017, 18:23:52 »
Надеюсь, что я не открою Вам тайну, что любая задача может решаться разными способами.
А уж та задача, которую Вы ставите имеет ещё и много неизвестных.
Но сразу скажу, в Linux привязка пользователя к сетевому трафику весьма условна
Способ решения задачи нужен самый простой. Привязка правила к пользователю не обязательна - отбрасываем (комп одно-user-ский). Необходимо обеспечить работу правила, действующего  из системы наружу: "Запретить доступ ко всем доменам кроме перечисленных" или наоборот "Разрешить доступ ко всем доменам кроме перечисленных".

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #5 : 02 Апреля 2017, 18:54:29 »
Неизвестных хоть и чуточку меньше, то всё равно критически много:

Доступ по какому протоколу(-ам)? Домены публичные или частные? Собственно это и к сети относится: объект в интЕрнете, в интрАнете или вообще в односегментной локальной сети(хотя, видимо, это отпадает по многочисленности доменов)?
продолжать лень. Ближе у универсальному, если это http-трафик - прокси с о своими acl-ами. Можно netfilter задействовать, но он не умеет работать с доменными именами...


Оффлайн Eugene Nuke

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #6 : 02 Апреля 2017, 20:21:04 »
Файлы /etc/hosts.allow и /etc/hosts.allow используются программой tcpd (TCP-wrapper), обычно в скязке с сервисом inetd. Если вы не используете tcpd, то изменения в этих файлах ни к чему не приведут.

И да, для ограничения исходящего www-трафика проще будет использовать прокси с ограничениями по доменам. Так же нужно будет ограничить использование метода CONNECT для сайтов, работающих по протоколу https.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #7 : 02 Апреля 2017, 21:11:22 »
Eugene Nuke, сказать то что хотели?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Eugene Nuke

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #8 : 02 Апреля 2017, 21:16:54 »
Я хотел сказать что вряд ли человек использует tcpd и смысла править эти файлы - нет.

Оффлайн Vasiliy_ZV

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #9 : 02 Апреля 2017, 21:28:16 »
Я хотел сказать что вряд ли человек использует tcpd и смысла править эти файлы - нет.
подскажите пож. по установке tcpd в 16.04 LTS (команда и т.п.),
интересно, возможно это самый простой путь решения задачи

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #10 : 02 Апреля 2017, 21:32:06 »
Vasiliy_ZV, ничего он не подскажет, он сам не понимает, что несёт, просто копирует бред из гугла.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Eugene Nuke

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #11 : 02 Апреля 2017, 23:10:51 »
Не нужен вам tcpd, это прошлый век и совсем не о том.
Ограничить конкретного пользователя от доступа к конкретным сайтам можно через прокси с авторизацией. Но вам придётся запускать прокси на отдельной машине.

Если забыть про конкретного пользователя, то самый простой вариант, добавить нужные домены в файл /etc/hosts с привязкой к 127.0.0.1. Просто, ничего не стирая добавьте нужные строки в конец /etc/hosts, вот вам пример:
 
127.0.0.1   ya.ru www.ya.ru yandex.ru www.yandex.ru
127.0.0.1   google.com
127.0.0.1   vk.com
127.0.0.1   vk.com www.vk.com

Тогда при попытке связаться с этими доменами вы попадёте на свою машину (которая сбросит соединение).

Запрещать доступ локальной машине к списку доменов через файервол (netfilter/iptables) очень не удобно, так как большие серфисы имеют пул серверов для одного доменного имени и их придётся вычислять всё или блокировать целыми  подсетями.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #12 : 02 Апреля 2017, 23:15:47 »
Формат файла hosts - одна строка на один адрес.
И это никак не поможет закрыть доступ от слова вообще.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Eugene Nuke

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #13 : 02 Апреля 2017, 23:42:17 »
Я обычно троллям не отвечаю, но тут ты не прав вот, прям, совсем.

Пункт 1:
$ man 5 hosts
For each host a single line should be present with the following information:

              IP_address canonical_hostname [aliases...]

Fields of the entry are separated by any number of blanks and/or tab characters.
Пункт 2:
Привязка доменного имени удалённого хоста к loopback закроет доступ с локальной машины на удалённый хост по доменному имени совсем, потому-что политика по умолчанию: resolver поиск начинает с hosts

$ cat /etc/nsswitch.conf | grep hosts

hosts:          files mdns4_minimal [NOTFOUND=return] dns

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Не работает правило в etc/hosts.allow
« Ответ #14 : 02 Апреля 2017, 23:51:25 »
Только для тех приложений, что полагаются на имена доменов и системный ресолвер.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.089 секунд. Запросов: 26.