Ident
ident (читается идэ́нт) — это протокол, описанный в RFC 1413. Он предназначен для идентификации пользователя, устанавливающего TCP-соединение. Сервер, реализующий протокол ident, называется identd (идэнт дэ́).
Схема работы
[править | править код]Начальные условия: на компьютере клиента работает identd. Клиент обращается к внешнему серверу, который умеет выполнять ident-проверку.
- Клиент посылает запрос.
- Перед посылкой ответа сервер спрашивает у клиентской машины по порту 113 имя пользователя, сделавшего запрос, и указывает номера портов соединения с обеих сторон.
- identd, слушающий порт 113, отправляет ответ.
- Сервер получает ответ и что-нибудь с ним делает (скажем, пишет в лог), после чего, в свою очередь, отсылает ответ клиенту.
Применение ident
[править | править код]- В IRC: некоторые IRC-сервера требуют обязательного ответа от identd на стороне входящего в сеть пользователя.
- Для фильтрации спама, исходящего с локального компьютера (например, на хостингах): программа sendmail спрашивает у identd, кто послал письмо, и приписывает к письму настоящее имя отправителя. Если «подписанное» письмо со спамом попадёт после этого на другой компьютер под тем же административным контролем, то локальный спамер будет моментально выявлен и (впоследствии) заблокирован.
- Для аутентификации в пределах одного компьютера в тех ОС, в которых нет возможности проверить отправителя сообщения через UNIX-сокет (т. н. схема unix credentials).
Ограничения безопасности
[править | править код]- Никогда нельзя доверять данным, которые поступают от чужих ident-серверов (то есть тех, которые настраивали не вы), потому что они могут быть подделаны/скрыты. Ни в коем случае нельзя использовать identd для аутентификации по сети, даже в случае с доверенными клиентами, так как взлом клиентской машины приведёт к взлому доверяющего ей сервера (см. также межсистемное доверие).
- Иногда для клиента бывает нежелательным «светиться» в интернете. Примером того могут служить разные боты, работающие по какой-либо причине с привилегиями пользователя root. Некоторые ident-сервера предоставляют возможность контролируемой маскировки некоторых пользователей.
Реализации
[править | править код]Протокол ident — это de-facto наиболее популярная тема для продвинутого «Hello, World» (то есть лучшее направление при серьёзном изучении программирования). В связи с этим, количество демонов, его реализующих, огромно. Ниже даны ссылки на наиболее распространённые и чаще всего используемые сервера такого класса.