Skip to content

About

Отправка ident-отклика контроллеру Active Directory из Linux

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Минимальный ident-сервер (RFC 1413) на Perl. Используется на машинах без собственной службы identd, например на Windows, когда удалённый сервер (IRC, прокси и т. п.) проверяет пользователя по протоколу ident.

На любой корректный запрос сервер возвращает одно и то же имя пользователя, заданное в настройках.

Принцип работы

Удалённый сервер подключается к порту 113 и присылает пару портов соединения:

6193, 23

Сервер отвечает в формате RFC 1413:

6193, 23 : USERID : WIN32 : ldap_ruslan1001

Если номер порта вне диапазона 1–65535, возвращается ERROR : INVALID-PORT. На запрос в неверном формате сервер ничего не отвечает и закрывает соединение. Если запрос не пришёл за отведённое время, соединение тоже закрывается.

Требования

  • Perl 5.10 или новее (модули IO::Socket::INET и IO::Select входят в стандартную поставку);
  • на Linux для порта 113 нужны права root или CAP_NET_BIND_SERVICE;
  • на Windows может потребоваться правило брандмауэра, разрешающее входящие соединения на порт 113.

Настройка

Параметры задаются переменными окружения:

Переменная Назначение По умолчанию
IDENT_HOST адрес для прослушивания 0.0.0.0
IDENT_PORT порт 113
IDENT_USER возвращаемое имя пользователя ldap_ruslan1001
IDENT_OS тип ОС в ответе WIN32
IDENT_TIMEOUT таймаут ожидания запроса, в секундах 10

Запуск

IDENT_HOST=10.25.116.194 IDENT_USER=ldap_ruslan1001 perl tcpserver.pl

В Windows (cmd):

set IDENT_HOST=10.25.116.194
set IDENT_USER=ldap_ruslan1001
perl tcpserver.pl

Проверка

Для проверки без прав администратора сервер необходимо запустить на непривилегированном порту:

IDENT_HOST=127.0.0.1 IDENT_PORT=11300 perl tcpserver.pl

и отправить запрос из другого терминала:

echo "6193, 23" | nc 127.0.0.1 11300

Ожидаемый ответ: 6193, 23 : USERID : WIN32 : ldap_ruslan1001.

About

Отправка ident-отклика контроллеру Active Directory из Linux

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages