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