• Категории
  • Подписка
  • Разместить статью
11/01/11 3 2307 Управление Internet-службами
-

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

При запуске inetd во время начальной загрузки системы для указания поддерживаемых служб используется информация файла конфигурации /etc/inetd.conf. Рассмотрим фрагмент этого файла:

echo    stream tcp nowait root internal
echo    dgram  udp wait   root internal
daytime stream tcp nowait root internal
daytime dgram  udp wait   root internal
time    stream tcp nowait root internal
time    dgram  udp wait   root internal
ftp     stream tcp nowait root /usr/sbin/in.ftpd -l
telnet  stream tcp nowait root /usr/sbin/in.telnetd
shell   stream tcp nowait root /usr/sbin/in.rshd
pop-3   stream tcp nowait root /usr/sbin/in.pop

В каждой строке файла /etc/inetd.conf содержится информация об определенной службе, например:

telnet  stream tcp nowait root /usr/sbin/in.telnetd

Поля этой записи описаны ниже:

  • название службы — telnet (использует порт 23, как определено в файле /etc/services);
  • тип сокета — STREAM;
  • протокол — TCP;
  • значение nowait определяет, что inetd должен незамедлительно запускать новый процесс in.telnetd;
  • запуск процесса осуществляется от имени суперпользователя (root);
  • место хранения программы telnet — /usr/sbin/in.telnetd.

Таким образом, при подключении к порту 23 супер-сервер inetd будет запускать процесс /usr/sbin/in.telnetd от имени root.

В приведенном файле реализована поддержка многих необязательных служб наподобие time и rsh. Использование таких служб может закон­читься проведением успешной атаки хакера. Основное правило многих профессионалов — «отключать все, что не является необходимым». Поэтому можно отредактировать файл /etc/inetd.conf и отключить все службы, подобные daytime и time (закомментировав соответствующие строки):

#daytime stream tcp nowait root internal
#daytime dgram  udp wait   root internal
#time    stream tcp nowait root internal
#time    dgram  udp wait   root internal

He забываем перезапустить супер-сервер inetd с помощью команды hup:

# killall -HUP inetd

Блокировка определенных компьютеров домена при использовании inetd

Для блокирования доступа только для компьютера подозрительного пользователя предна­значен оператор EXCEPT, который записывается в файле /etc/hosts.allow.

# Содержание файла /etc/hosts.allow
 
ALL: 127.0.0.1
ALL: trusted.machine.example.com
ALL: .example.org EXCEPT trouble.example.org
ipop3d: 10.0.0

Альтернативным способом блокирования отдельного компьютера является удаление его обратного адреса DNS. В таком случае при обработке запроса от указанного компьютера не бу­дет найдено соответствие доменного имени, и правила, разрешающие доступ для этого имени, не будут выполняться. Блокировку с помощью xinetd читайте в статье — Управление сетевыми службами: описание демона xinetd.

При удалении записей обратного имени DNS для какого-либо определенного компьютера необходимо убедиться, что в файле /etc/hosts.allow не осталось правил, которые разрешали бы доступ по IP-адресу этого компьютера.


3 комментария на «“Конфигурация inetd”»

  1. Это вить скорей техническая документация, чем занимательная статья для широкого круга пользователей :)

  2. Спасибо большое! Отличный сайт много узнал для себя полезного!

  3. Аноним:

    в зависимости от того как собрано ядро, если с поддержкой логов, то можно перенаправлять логи допустим в файл inetd.log (как это уже другой вопрос), впринципе в линухе inetd демон заменен на xinetd, поэтому есть смысл почитать вот это — http://lantan.chat.ru/xinetd.log.html

Добавить комментарий

Яндекс.Метрика