5.4.1. Конфигурирование xinetd

5.4.1. Конфигурирование xinetd

Основной конфигурационный файл для xinetd — это /etc/xinetd.conf. В нем описываются настройки по умолчанию для запускаемых сервисов и директория, в которой будут находиться конфигурационные файлы, влияющие на работу конкретных сервисов. Рассмотрим по листингу 5.3 содержимое этого файла.

Листинг 5.3. Файл конфигурации /etc/xinetd.conf

#

# Simple configuration file for xinetd

# Пример конфигурационного файла для xinetd

#

# Some defaults, and include /etc/xinetd.d/

# Некоторые параметры по умолчанию

# и подключение директории /etc/xinetd.d/

defaults {

 instances      = 60

 logotype       = SYSLOG authpriv

 log_on_success = HOST PID

 log_on_failure = HOST

 cps            = 25 30

}

includedir /etc/xinetd.d

После ключевого слова defaults в фигурных скобках описываются настройки по умолчанию для всех сервисов. Любое из этих значений можно изменить для каждого отдельного сервиса.

Последняя строка подключает директорию /etc/xinet.d:

includedir /etc/xinetd.d

В этом каталоге для каждой службы есть собственный конфигурационный файл, где можно изменить параметры. Имена файлов соответствуют названиям сервисов, а содержимое — похоже на /etc/xinetd.conf. В листинге 5.4 приведено содержимое конфигурационного файла /etc/xinet.d/telnet для сервиса Telnet.

Листинг 5.4. Конфигурационный файл для сервиса Telnet

# default: on

# По умолчанию включен

# description: The telnet server serves telnet sessions;

# it uses unencrypted username/password

# pairs for authentication.

# Описание: Telnet-сервис обслуживает telnet-сессии.

# Он использует не зашифрованные имя пользователя

# и пароль для аутентификации

service telnet {

 disable        = no

 flags          = REUSE

 socket_type    = stream

 wait           = no

 user           = root

 server         = /usr/sbin/in.telnetd

 log_on_failure += USERID

}

Рассмотрим основные параметры, которые можно изменять:

? disable — если этот параметр установить в true, то сервис будет запрещен для исполнения;

? flags — атрибуты выполнения сервиса;

? socket_type — тип используемого сокета. Для протокола TCP здесь должно быть значение stream, а для протокола UDP — dgram;

? protocol — используемый для передачи данных протокол (TCP или UDP);

? server — полный путь к запускаемой программе;

? user — права доступа. В большинстве случаев можно увидеть имя пользователя root. Это нормально, потому что в ОС Linux для работы с номерами портов менее 1024 необходимы права администратора. В настоящее время большинство сервисов понижают свои права в соответствии с установками;

? instances — максимальное количество одновременно работающих экземпляров программы;

? log_type — запись событий будет производиться в указанный файл или системный журнал;

? log_on_success и log_on_failure — информация, которая будет сохраняться в журнале при удачном и неудачном входе в систему соответственно, Здесь можно указывать значения: PID, HOST или USER;

? per_source — максимальное количество соединений от одного пользователя. Их может быть несколько, потому что юзеры любят максимально нагружать каналы и повышать скорость работы с помощью создания нескольких одновременно работающих соединений;

? server_args — аргументы, с которыми будет запускаться сервер.

При рассмотрении параметра user я упомянул о необходимости прав администратора для доступа к портам с номером менее 1024. Это действительно так, но зачем это нужно? Не имея прав root, пользователь не сможет запустить сервер, который работает с портом от 1 до 1024. Такая защита необходима, потому что в данном диапазоне функционируют очень важные сервисы, и их нельзя запускать простому пользователю.

Представьте себе, что хакер с правами простого пользователя смог бы запустить FTP-сервер, который используется для передачи файлов. Сделав это, он получит возможность загружать на сервер файлы и скачивать их к себе на компьютер, что нежелательно.

Данный текст является ознакомительным фрагментом.