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

0 ... 71 72 73 74 75 76 77 ... 125

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

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

Редактирование файла inetd.conf

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

Таблица 13.1. Поля в файле /etc/inetd.conf Поле

иписание

NameИмя службы, например ttp или telnet. Эта имя применяется в файле /etc/services,

содержащем номера портов для всех служб

Data type Тип службы. Обозначоет, что служба использует протокол без (datagram, или dgram) или с (stream) установкой соединения

ProtocolТранспортный сетевой протокол службы, например tcp или udp. Протоколы определены

в файле /etc/protocols

Wait-state Состояние ожидания. Если указано wait, демон inetd запускает процесс для

обслуживания запроса и ожидает его завершения, прежде чем исполнить следующий запрос. При записи nowait демон после запуска процесса продолжает ожидать появления новых запросов и сразу же обслуживает их по мере поступления

UIDИдентификатор пользователя (User ID), под которым выполняется процесс службы

ServerИмя программы сервера, запускаемой демоном inetd для обслуживания запроса

ProcessАргументы командной строки, передаваемые программе сервера. В качестве первого

argumentsаргумента всегда задается имя программы

Как видно из табл. 13.1, в этом файле не описано, кому разрешено запускать службу. В файле inetd. conf имени службы просто сопоставляются исполняемый файл программы, которая будет обслуживать запрос, а также используемый протокол и идентификатор пользователя, под которым будет запущена программа.

Пакет TCP Wrappers позволяет контролировать доступ к службе. Возьмем в качестве примера запись для службы FTP:

ftp streamtcpnowaitroot/usr/etc/in.ftpd in.ftpd

Основываясь на данной записи, демон inetd запустит программу /usr/etc/ in. f tpd. Чтобы контролировать доступ к этой службе с помощью TCP Wrappers, необходимо поменять эту строку на

ftp streamtcpnowaitroot/usr/etc/tcpdin.ftpd


Где находится демон tcpd?

Когда-то UNIX начиналась как универсальная переносимая операционная система, однако было бы ошибкой называть ее таковой сейчас. Существует множество различных вариантов этой операционной системы, и положение файлов в версиях от разных производителей может различаться. Не следуйте буквально примерам из этой главы. Обратитесь к документации и файлам настроек своей системы и определите, где находятся исполняемые файлы демонов и куда следует поместить демон tcpd.

-,-

Перезапускайте демон inetd после редактирования файлов настройки

После редактирования файла настройки inetd. conf необходимо перезапустить демон inetd, чтобы он считал измененный файл настройки. До перезапуска демона (или операционной системы) изменения не вступят в силу. Команды перезапуска демона в разных версиях UNIX отличаются. Например, в Solaris 7для этого используется команда pki 11 - HUP inetd.

Такие изменения надо произвести для всех строк в файле inetd. conf, описывающих запуск служб, доступом к которым вы хотите управлять с помощью TCP Wrappers. Рекомендуется перед началом редактирования этого файла создать его копию, чтобы в случае ошибки можно было вернуться назад.

Файлы hosts, allow и hosts, deny

Чтобы демон tcpd управлял доступом к определенным сетевым службам, следует после редактирования файла inetd. conf отредактировать два других файла -ho s t s.а11ow и ho s t s.deny - с информацией о том, кому соответственно разрешено и запрещено использовать каждую из служб. Демон tcpd вначале проверяет первый файл, а затем второй.

Основной синтаксис записей в обоих этих файлах:

слисок демонов : список клиентов [: команда оболочки]

В поле список демонов заносится имя службы, к которой относится данное правило. Можно записать в одной строке сразу несколько имен служб, разделив их запятыми. В поле список клиентов помещается имя узла, домена или IP-адрес. В нем также допустимо ввести несколько имен, разделив их запятыми. И последнее, необязательное поле содержит команду оболочки. Задавать такие команды бывает очень удобно, как вы вскоре увидите в примерах.


Важно помнить о том, что tcpd применяет первое правило, удовлетворяющее критерию, и прекращает дальнейший поиск. Еще существеннее то обстоятельство, что если такое правило не найдено, то по умолчанию доступ разрешаетсяХ Поэтому необходимо всегда явно запрещать любой доступ, а затем избирательно разрешать его только тем, кому он нужен!

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

О ALL - все службы или все узлы;

О LOCAL - любой узел, имя которого не содержит точек;

О UNKNOWN - любой пользователь, имя которого неизвестно системе, или любой узел с неизвестным адресом;

О KNOWN - любой пользователь, имя которого известно системе, или любой узел с известным адресом;

О PARANOID - любой узел, имя которого не соответствует его адресу. Чтобы можно было применить это ключевое слово, демон tcpd должен быть скомпилирован с параметром —DPARANOID.

Существует также оператор для изменения поведения правила: EXCEPT. Он имеет такой синтаксис:

список1 EXCEPT список2

Рассмотрим теперь некоторые простые примеры: Файл hosts. allow:

ALL: localhost in.telnetd: twoinc.com inet.ftpd : zira.twoinc.com

Файл hosts. deny:

inet.telnetd : ritchie.twoinc.com

Мы видим, что все узлы в домене twoinc. com могут использовать демон Telnet, но лишь узел zira способен работать с демоном FTP. Предположим, что в домене twoinc.com есть общедоступный узел ritchie, поэтому вы намерены запретить доступ с этого узла. Кажется, что строка в файле hosts. deny реализует именно это, но такой запрет не сработает. Демон TCP Wrappers никогда не доберется до этой строки, поскольку имя ritchie. twoinc. com совпадет с записью для домена twoinc. com в файле hosts. allow. В результате демон TCP Wrappers прекратит дальнейший поиск, и доступ узлу ritchie не удастся запретить, несмотря на ваше желание сделать это.

Чтобы гарантировать запрещение всего, что не разрешено, достаточно добавить в начале файла hosts . deny строку:



0 ... 71 72 73 74 75 76 77 ... 125