Основы безопасности в сети

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

Этот базисный механизм безопасности обеспечивается двумя файлами: /etc/hosts . allow и /etc/hosts. deny. Они являются лишь звеном в цепи безопасности, которая состоит из трех звеньев.

  1. Разрешение доступа для любой комбинации демон-клиент в hosts . allow.
  2. Отказ в доступе для любой комбинации демон-клиент в ho s t s . deny.
  3. Предоставление доступа кому угодно.

По умолчанию записи в hosts. allow и в hosts. deny отсутствуют, то есть по умолчанию любой пользователь может установить соединение с системой. Конечно, это не запрещает индивидуальным сервисам, например Telnet и fTP, требовать дальнейшей аутентификации. Это также не исключает те начальные попытки соединения, которыми начинаются многие хакерские атаки через неизвестные системы.

Создать записи для hosts. allow и hosts . deny просто.

Список_демонов Список_клиентов

Любая запись, подобная этой, указывает, какие демоны сети (f tpd, in. telnetd, in. rshd) могут разрешить соединение с конкретным хост-компьютером (в файле hosts .allow) или отказать в установлении соединения с каким-то хост-компьютером (в hosts . deny). В списке может быть указан любой демон сети. Например, запись

ftp: host1

в файле hosts. allow позволяет установить входное fTP-соединение с указанным компьютером hostl по его инициативе.

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

ALL: ALL

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

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

ALL EXCEPT ftpd: ALL

в файле hosts. deny запрещает доступ всем клиентам ко всем сервисам, исключая fTP. Аналогично

ALL: .local.domain EXCEPT foo.local.domain

в hosts . allow разрешает доступ ко всем сервисам для любого компьютера в домене local, domain (обратите внимание на "." перед local .domain), исключая foo. local . domain.

Наконец, ключевое слово LOCAL позволяет легко указать доступ для всех машин в локальном домене

ALL: LOCAL

в hosts . allow, предоставляя любой тип доступа с компьютеров в локальном домене.

Файлы hosts. allow и hosts. deny могут содержать разнообразные записи, что позволяет осуществлять более тонкий контроль, чем необходимо для большинства пользователей. С деталями настроек можно познакомиться на странице руководства для hosts . allow:

$ man hosts.allow