Книга: Linux глазами хакера
5.4. Демон inetd/xinetd
Для того чтобы сервер смог обрабатывать запросы клиентов, программа должна быть постоянно загружена и связана с определенным портом. В этом нет ничего сложного, но зачем постоянно держать программу в памяти, особенно если она слишком большая, а работает очень редко. Намного лучше, когда один сервис в системе будет следить за портами, и если пользователь обращается к определенному каналу, то эта программа запустит необходимый сервис. В ОС Linux такая возможность есть, и для этого используется демон inetd или более новая версия — xinetd.
Как определить, что запускать? Для этого используется файл /etc/services, в котором находится список сервисов и их портов в следующем формате:
имя порт/протокол псевдоним
? имя
— название сервиса, который необходимо запускать;
? порт
— номер канала, который должен прослушиваться;
? протокол
— сервис inetd умеет работать с TCP- и UDP-протоколам, порты которых не пересекаются (и они совершенно разные), то необходимо в явном виде указывать протокол;
? псевдоним
— вымышленное имя для сервиса.
Например, в файле /etc/services вы найдете следующие строки:
tcpmux 1/tcp # TCP port service multiplexer
tcpmux 1/udp # TCP port service multiplexer
rje 5/tcp # Remote Job Entry
rje 5/udp # Remote Job Entry
echo 7/tcp
...
...
ftp 21/tcp
ftp 21/udp fsp fspd
...
...
Я специально выбрал такие строки, чтобы вы увидели варианты описания различных сервисов.
Если вы используете старый дистрибутив ОС Linux, то в нем, скорей всего, еще работает inetd. Но мы уже говорили, что давнишний дистрибутив не может быть безопасным, и с ним что-либо делать бесполезно. Лучший защита — обновление, и тогда основным сервисом станет xinetd, который становится, если уже не стал, стандартом для всех.
Я рекомендую переход на xinetd, потому что в нем появилось много дополнительных возможностей, которые делают удобным администрирование и повышают безопасность. Например, в сервис xinetd встроены проверка всех удачных и неудачных соединений, возможность контроля доступа и даже предоставление его строго в определенное время.
- 5.4. Демон inetd
- 5.4.1. Конфигурирование xinetd
- 7.2.6.3. Системные демоны и традиционные сигналы
- 8.1. Суперсерверы inetd и xinetd
- Интернет-демон (xinetd
- 13.2. Демон syslogd
- Глава 13 Процессы-демоны и суперсервер inetd
- 8.1.4. Установкаx inetd
- 13.5. Демон inetd
- Пример: сервер времени и даты, активизированный демоном inetd
- Глава 5 Администрирование