Основы безопасности в сети
Вопросы безопасности весьма актуальны при соединении с сетью и доступе к ее ресурсам многих пользователей. К счастью, в Linux существует механизм, позволяющий контролировать, какие компьютеры в сети пытаются соединиться для получения услуг конкретной системы Linux.
Этот базисный механизм безопасности обеспечивается двумя файлами: /etc/hosts . allow и /etc/hosts. deny. Они являются лишь звеном в цепи безопасности, которая состоит из трех звеньев.
По умолчанию записи в 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