xinetd

xinetd
Разработчик(и)Роб Браун
Окончательный релиз
2.3.15 / 9 мая 2012 ; 12 лет назад ( 2012-05-09 )
Репозиторийgithub.com/xinetd-org/xinetd
Написано вС , оболочка [1]
Операционная системаUnix-подобный
ТипДемон
ЛицензияС открытым исходным кодом [2]
Веб-сайтweb.archive.org/web/20051227095035/http://www.xinetd.org:80/ [ мертвая ссылка ]

В компьютерных сетях xinetd ( Extended Internet Service Daemon ) — это суперсерверный демон с открытым исходным кодом , который работает на многих Unix-подобных системах и управляет интернет -подключениями. [3]

Он предлагает более безопасную альтернативу старому inetd («Интернет-демону»), который в большинстве современных дистрибутивов Linux считается устаревшим. [4]

Описание

xinetd прослушивает входящие запросы по сети и запускает соответствующую службу для этого запроса. [5] Запросы выполняются с использованием номеров портов в качестве идентификаторов, и xinetd обычно запускает другой демон для обработки запроса. [6] Его можно использовать для запуска служб как с привилегированными, так и с непривилегированными номерами портов.

xinetd имеет механизмы контроля доступа, такие как TCP Wrapper ACL , обширные возможности ведения журналов и возможность предоставления услуг на основе времени. Он может устанавливать ограничения на количество серверов , которые может запустить система, и имеет развертываемые механизмы защиты от сканеров портов , среди прочего.

В некоторых реализациях Mac OS X этот демон запускает и поддерживает различные службы, связанные с Интернетом, включая FTP и telnet . Как расширенная форма inetd, он обеспечивает повышенную безопасность. Он заменил inetd в Mac OS X v10.3 , а впоследствии launchd заменил его в Mac OS X v10.4 . Однако Apple сохранила inetd в целях совместимости.

Конфигурация

Конфигурация xinetd находится в файле конфигурации по умолчанию /etc/xinetd.conf, а конфигурация поддерживаемых им служб находится в файлах конфигурации, хранящихся в каталоге /etc/xinetd.d. Конфигурация для каждой службы обычно включает переключатель, контролирующий, должен ли xinetd включать или отключать службу.

Пример файла конфигурации для сервера времени RFC 868 :

# по умолчанию: выкл.# описание: Сервер времени RFC 868. Этот протокол обеспечивает# независимые от сайта, машиночитаемые дата и время. Служба времени отправляет обратно# к исходному источнику время в секундах с полуночи первого января№ 1900.# Это версия TCP.время обслуживания{ отключить = да тип = ВНУТРЕННИЙ id = временной поток тип_сокета = поток протокол = tcp пользователь = root подожди = нет}# Это версия udp.время обслуживания{ отключить = да тип = ВНУТРЕННИЙ id = время-dgram тип_сокета = dgram протокол = udp пользователь = root подожди = да}

Строки с символом "#" в начале являются комментариями, не оказывающими никакого влияния на сервис. Существует две версии сервиса: первая основана на протоколе управления передачей (TCP), вторая основана на протоколе пользовательских датаграмм (UDP). Тип и планируемое использование сервиса определяют необходимый основной протокол. Проще говоря, UDP не может обрабатывать огромные объемы передачи данных, поскольку у него нет возможности переставлять пакеты в указанном порядке или гарантировать их целостность, но он быстрее TCP. TCP имеет эти функции, но он медленнее. В каждой версии внутри фигурных скобок есть два столбца. Первый — тип опции, второй — применяемая переменная.

Параметр «отключить» — это переключатель для запуска службы или нет. В большинстве случаев состояние по умолчанию — «да» . Чтобы активировать службу, измените его на «нет» .

Существует три типа служб. Тип INTERNAL , если служба предоставляется xinetd, RPC , когда она основана на удаленном вызове процедур (обычно указывается в файле /etc/rpc), или он может быть UNLISTED, когда служба не указана ни в файлах /etc/services, ни в файлах /etc/rpc.

Идентификатор это уникальный идентификатор сервиса.

Socket_type определяет способ передачи данных через сервис. Существует три типа: stream , dgram и raw . Последний полезен , когда мы хотим создать сервис на основе нестандартного протокола.

С опцией пользователя можно выбрать пользователя, который будет владельцем запущенной службы. Настоятельно рекомендуется выбирать пользователя без прав root по соображениям безопасности.

Когда ожидание установлено на yes , xinetd не получит запрос на службу, если у него есть соединение. Таким образом, количество соединений ограничено одним. Это обеспечивает очень хорошую защиту, когда мы хотим установить только одно соединение за раз.

Для xinetd доступно гораздо больше опций. В большинстве дистрибутивов Linux полный список возможных опций и их описание доступны с помощью команды "man xinetd.conf".

Чтобы применить новую конфигурацию, необходимо отправить сигнал SIGHUP процессу xinetd, чтобы он перечитал файлы конфигурации. Это можно сделать с помощью следующей команды: . PID — это фактический номер идентификатора процесса xinetd, который можно получить с помощью команды . [7] [8]kill -SIGHUP "PID"pgrep xinetd

Ссылки

  1. ^ "xinetd-org/xinetd". GitHub . Получено 2014-07-10 .
  2. ^ "COPYRIGHT". GitHub . 2003-02-19 . Получено 2014-07-10 .
  3. ^ Уэллс, Николас (2000). "4: Использование простых сетевых служб". Руководство по установке и администрированию Linux. Том 1. Бостон, Массачусетс: Cengage Learning EMEA. стр. 167. ISBN 9780619000974. Получено 2017-07-03 . [...] суперсервер (также называемый метасервером) [...] прослушивает несколько сетевых портов и запускает соответствующую службу, когда клиентское соединение приходит на этот порт. Наиболее широко используемая программа суперсервера называется inetd , что означает Internet daemon. Другой суперсервер, который набирает популярность, — xinetd , что означает extended Internet daemon [...].
  4. ^ Смит, Родерик В. (2001). "Сеть". Linux Study Guide . Sybex Press. стр. 365. ISBN 0-7821-2939-0.
  5. ^ Негус, К. (2002). "Запуск сетевых служб". Red Hat Linux 8 Bible . Wiley Publishing Inc. стр. 1007. ISBN 0-7645-4968-5.
  6. ^ "Ubuntu Manpage: xinetd - расширенный демон служб Интернета". Ubuntu . 14 июня 2001 г. Архивировано из оригинала 23 сентября 2019 г. . Получено 21 апреля 2020 г. Из-за особенностей работы xinetd (а также inetd) также называют суперсервером. (...) До сих пор единственной причиной существования суперсервера была экономия системных ресурсов за счет избегания разветвления множества процессов, которые могут быть бездействующими большую часть своего времени.
  7. ^ Страница руководства Linux: xinetd.conf(5) http://linux.die.net/man/5/xinetd.conf
  8. ^ Пере, Ласло (2005). «Hálozati szolgáltatások». GNU/Linux восстанавливает работоспособность II . Кискапу Кфт. (Венгрия). стр. 107–136. ISBN 963-9301-98-1.
  • Форк openSUSE, содержащий все исправления из нескольких дистрибутивов: openSUSE, Debian, Fedora, Gentoo, ...
Взято с "https://en.wikipedia.org/w/index.php?title=Xinetd&oldid=1217537508"