Ident

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

ident (читается идэ́нт) — это протокол, описанный в RFC 1413. Он предназначен для идентификации пользователя, устанавливающего TCP-соединение. Сервер, реализующий протокол ident, называется identd (идэнт дэ́).

Схема работы

[править | править код]

Начальные условия: на компьютере клиента работает identd. Клиент обращается к внешнему серверу, который умеет выполнять ident-проверку.

  1. Клиент посылает запрос.
  2. Перед посылкой ответа сервер спрашивает у клиентской машины по порту 113 имя пользователя, сделавшего запрос, и указывает номера портов соединения с обеих сторон.
  3. identd, слушающий порт 113, отправляет ответ.
  4. Сервер получает ответ и что-нибудь с ним делает (скажем, пишет в лог), после чего, в свою очередь, отсылает ответ клиенту.

Применение ident

[править | править код]
  • В IRC: некоторые IRC-сервера требуют обязательного ответа от identd на стороне входящего в сеть пользователя.
  • Для фильтрации спама, исходящего с локального компьютера (например, на хостингах): программа sendmail спрашивает у identd, кто послал письмо, и приписывает к письму настоящее имя отправителя. Если «подписанное» письмо со спамом попадёт после этого на другой компьютер под тем же административным контролем, то локальный спамер будет моментально выявлен и (впоследствии) заблокирован.
  • Для аутентификации в пределах одного компьютера в тех ОС, в которых нет возможности проверить отправителя сообщения через UNIX-сокет (т. н. схема unix credentials).

Ограничения безопасности

[править | править код]
  • Никогда нельзя доверять данным, которые поступают от чужих ident-серверов (то есть тех, которые настраивали не вы), потому что они могут быть подделаны/скрыты. Ни в коем случае нельзя использовать identd для аутентификации по сети, даже в случае с доверенными клиентами, так как взлом клиентской машины приведёт к взлому доверяющего ей сервера (см. также межсистемное доверие).
  • Иногда для клиента бывает нежелательным «светиться» в интернете. Примером того могут служить разные боты, работающие по какой-либо причине с привилегиями пользователя root. Некоторые ident-сервера предоставляют возможность контролируемой маскировки некоторых пользователей.

Реализации

[править | править код]

Протокол ident — это de-facto наиболее популярная тема для продвинутого «Hello, World» (то есть лучшее направление при серьёзном изучении программирования). В связи с этим, количество демонов, его реализующих, огромно. Ниже даны ссылки на наиболее распространённые и чаще всего используемые сервера такого класса.