Средства управления доступом
Средства управления доступом
Одно из преимуществ xinetd состоит в том, что эта программа объединяет в себе функции суперсервера и средства управления доступом, характерные для TCP Wrappers. Кроме того, настройка xinetd выполняется достаточно просто. Средства управления доступом xinetd не дублируют соответствующие функции TCP Wrappers; некоторые задачи лучше решаются с помощью xinetd, для решения других приходится применять TCP Wrappers. Настраивая xinetd, можно определять доступ либо одновременно для всех серверов, либо для каждого сервера в отдельности. Основные опции, предназначенные для управления доступом, описаны ниже.
• Ограничения для различных узлов. Для xinetd предусмотрены опции only_from и no-access, которые выполняют те же функции, что и содержимое файлов /etc/hosts.allow и /etc/hosts.deny TCP Wrappers. Эти опции могут присутствовать либо в главном конфигурационном файле, либо в файле, предназначенном для конкретного сервера. В качестве значения опции only_from задается список компьютеров, которым разрешено обращаться к серверу (для всех остальных компьютеров доступ запрещен). Аналогично, значение опции no-access представляет собой "черный список"; компьютеры, указанные в списке, не имеют права устанавливать соединение с сервером, а для остальных компьютеров доступ разрешен. Если адрес присутствует в обоих списках, приоритет имеет адрес, заданный более конкретно. Для идентификации компьютеров используются разные способы. В опциях only_from и no-access может быть указан IP-адрес узла (например, 172.23.45.67), адрес сети, оканчивающийся нулем (например, 172.23.0.0 для сети 172.23.0.0/16) или заданный с помощью маски (172.23.0.0/16), имя сети, указанное в файле /etc/networks, или доменное имя узла (например, badguy.threeroomco.com). Если в качестве значения опции указано имя узла, xinetd выполняет преобразование имени в адрес один раз при загрузке суперсервера. Поскольку в течение работы xinetd доменное имя может измениться, данный способ установления ограничений неэффективен.
• Ограничения по времени. Для указания временного интервала, в течение которого сервер доступен для клиентов, используется опция access_times. Значение этой опции задается в формате часы:минуты-часы:минуты, например, 08:00-18:00 означает, что к серверу можно обращаться с 8 до часов. Значение опции access_times влияет только на установление соединения. Например, если для Telnet-сервера задан интервал 08:00-18:00, то соединение, установленное в 17:58, может использоваться как угодно долго.
• Ограничения на использование интерфейсов. При необходимости вы можете связать сервер с одним сетевым интерфейсом. Для этого используется опция bind (либо опция interfасе, которая является синонимом bind). В качестве значения опции задается IP-адрес, связанный с интерфейсом. Например, если интерфейсу eth1 присвоен адрес 172.19.28.37 и для сервера задана опция bind = 172.19.28.37, это означает, что обращаться к этому серверу можно только через интерфейс eth1. Попытки установить соединение через eth0 окончатся неудачей; результат будет такой же, как в случае, когда сервер не установлен в системе. Эту опцию удобно использовать на маршрутизаторах или на компьютерах, подключенных одновременно к нескольким сетям. Предположим, что на компьютере, обеспечивающем связь локальной сети с Internet и использующем для соединения с сервером провайдера PPP-соединение, установлены серверы Telnet и FTP. С помощью опции bind вы можете настроить xinetd так, чтобы доступ к серверам Telnet и FTP имели только компьютеры, подключенные к локальной сети.
В этом и предыдущем разделе были описаны лишь наиболее часто используемые опции xinetd. Для получения информации об остальных опциях обратитесь к справочным данным.