8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 75 76 77 78 79 80 81 ... 125

{ Перезапустите Inetd после редактирования его файла конфигурации!

Поскольку демон inetd считывает информацию из файла конфигурации только при старте, необходимо после редактирования файла/etc/inetd. conf перезапустить демон (или перезагрузить систему).

Как видно из этого примера, поле Server в файле /etc/inetd. conf теперьсо-держит имя программы netacl, а не сервера FTP. Имя файла сервера передается программе в качестве параметра. Но для того, чтобы netacl была в состоянии запустить сервер, нужно выполнить еще один шаг. Необходимо внести в файл /usr/ local/etc/netper-table запись для сервера FTP и определить, разрешено ли выполнившему запрос узлу воспользоваться службой, и если да, то какая программа должна быть запущена в качестве сервера и под каким идентификатором пользователя. На рис. 14.2 показано, что это приводит к удлинению обычного процесса запуска сетевой службы на несколько шагов.

Файл конфигурации FWTK

Запущенная демоном inetd программа netacl не сразу запускает программу сервера, имя файла которой передается ей в качестве параметра. Предварительно она пытается найти информацию об этой службе в таблице правил, определенных в файле /usr/local/etc/netperm-table, который является основным файлом конфигурации для всех proxy-серверов, входящих в состав пакета FWTK. Как только программа netacl (или любой другой proxy-сервер из пакета) запускается на выполнение, она считывает информацию о своих настройках из этого файла и сохраняет ее в памяти. Таким образом, если программа поменяет каталог, например, с помощью команды chroot, она по-прежнему будет располагать данной информацией. Этот метод не позволяет воспользоваться ошибкой в программе сервера для получения несанкционированного доступа к файлу netperm-table.

Каждая строка текста в файле netperm-table называется правилом (rule). Любое правило применимо к одной или нескольким программам пакета. Каждое правило состоит из двух основных частей:

О ключевого слова - имен(и) программ(ы), к которым относится правило. Часть ключевого слова совпадает с именем службы в файле /etc/sevices;

О атрибута valueslist, определяющего правило для программы, с которой оно связано. Атрибут содержит параметры запуска программы.

Какую длину может иметь правило?

Максимальная длина правила зависит от используемой операционной системы - оно должно умещаться на одной строке. Не существует символа «переноса строки», который позволял бы записывать правило в несколько строк. В большинстве систем максимальный размер строки ограничен длиной в 1024 байт.


Демон inetd получает запрос к сетевой службе от клиента. Соответствует ли номер порта записи в файле /etc/services?

Нет-»Ч

Отказ в доступе к службе

Да

По имени службы в файле /etc/services искать ее в файле /etc/inetd.conf. Есть ли соответствующая запись?

ЬНет-

Да

Поскольку в файле /etc/inetd.conf указано, что при вызове этой службы используется программа netacl, запустить netacl, передав ей имя службы в качестве параметра

netacl проверяет файл /usr/local/etc/netperm -table. Разрешен ли доступ к этой службе с данного узла?

Нет*

netacl регистрирует неудачную попытку доступа и завершает работу

Да

netacl проверяет все правила

из файла netperm-table,

применимые к данной службе.

На основе полученной информации

netacl переходит в отдельный

каталог и запускает соответствующую

программу для обслуживания запроса

netacl регистрирует успешную попытку доступа и завершает работу

Рис. 14.2. Демон inetd вызывает для обслуживания запроса программу netacl

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


Еще один важный момент, о котором нужно помнить: если в атрибуте правила задано имя, то IP-адрес узла проверяться не будет, и наоборот. Сравните два следующих примера:

netacl-in.ftpd:permit-hosts yoko.twoinc.com -exec /usr/etc/in.ftpd

И

netacl-in.ftpd:permit-hosts 140.176.177.69 -exec /usr/etc/in.ftpd

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

В правила удобно вводить подстановочные символы (wildcards), тогда эти правила становятся применимыми сразу к нескольким узлам. Так, не обязательно создавать большое количество правил для всех узлов в сети, которым вы хотите разрешить (или запретить) доступ к определенным службам, достаточно обратиться к такому формату: netacl-in.ftpd:permit-hosts 140.176.177.* -exec /usr/etc/in.ftpd

В этом случае правило разрешит всем узлам в сети 140.176.177.0 работать с сервером FTP.

В предыдущих примерах вместе с атрибутом hosts встречался модификатор permit-. В зависимости от программы, к которой относится правило, применяются различные атрибуты, и с некоторыми из них можно использовать модификаторы permit- и deny-. В документации, поставляемой вместе с пакетом, описаны атрибуты, допустимые для каждого приложения. В приведенных выше примерах присутствовал атрибут hosts. К proxy-серверу ftp-gw применим также атрибут denial-msg файл, задающий имя текстового файла с сообщением, которое увидит пользователь при отказе в доступе.

Что такое неизвестные узлы?

Если обратное преобразование IP-адреса в имя узла завершается неудачей, то возвращается строка unknown (неизвестный). Слово unknown иногда употребляется в правилах вместо имени или IP-адреса. Например, чтобы запретить доступ к proxy-серверу всем неизвестным узлам, следует записать deny- unknown.

Кроме того, некоторые программы позволяют задавать параметры, начинающиеся с символа«-». В следующем примере демонстрируется применение параметра -log в правиле для proxy-сервера ftp-gw (входящего в пакет FWTK): ftp-gw: hosts 140.176.177.* -log {retr stor}



0 ... 75 76 77 78 79 80 81 ... 125