Страница 1 из 1

Список IP пользователя

СообщениеДобавлено: 13 янв 2006, 22:57
newman
Есть у меня следующая задача: из под Windows подсоединиться к Novell Netware Server и по имени пользователя определить список IP адресов с которых этот пользователь подсоединялся к серверу.

Желательно все это сделать без внесения изменений в сервер. Поиски по интернету дали мне надежду что это можно сделать :) Но вот направление в котором лучше всего работать я пока слабо себе представляю.

Подскажите какие возможны способы решения этой задачи.

СообщениеДобавлено: 14 янв 2006, 02:46
Владимир Горяев
1. аудить
2. acu.log
3. ...

СообщениеДобавлено: 14 янв 2006, 11:41
Алексей Волков
Можете и через LDAP...

Добавьте маппинг атрибута "Network Address" в объекте "LDAP Group" и рестартоните LDAP-сервер (или через снапин С1, или перезагрузкой модуля NLDAP.NLM)

Учтите, что атрибуты будут возвращаться в бинарном виде.
Например, для IP: 192.168.1.100 вы получите следующий шестнадцатиричный код: 0x31 0x23 0xC0 0xA8 0x01 0x64.
Первые 2 байта - это номер протокола, в данном случае IP.
Следующие 4-е байта - сам адрес.

СообщениеДобавлено: 14 янв 2006, 14:58
Андрей Тр. aka RH
Насчет атрибута Network Address - да, но человеку ИМХО надо что-то типа хистори - лога всех адресов, с которых логинился пользователь, а не только последнего. Насколько я помню, в NA хранится адрес с последнего логина.

Вообще, по-хорошему задача на аудит - опять же ИМХО нигде на сервере Novell Netware ( хоть и непонятно, какой версии ) не хранится требуемая инфа ( список всех адресов, с которых логинился пользователь ). Нечто подобное можно получить, если установлен Зен и рабочие станции импортированы в дерево - тогда при логине на станции имя пользователя помещается в один из атрибутов ее объекта. Вот только вытащить оттуда эту инфу стандартными средствами не очень-то легко ( хотя можно смотреть в С1, но как ее достать по ЛДАП я не понял ). Кроме того, это не лог, а всего лишь список пользователей - повторные логины там отдельно не хранятся, со всеми вытекающими.

Можно еще в логин скрипт добавить вывод имени и адреса куда-то в файл на сервере .. но это тоже не лучший вариант. Мораль - ИМХО в любом случае без изменений на сервере вряд ли что получится.

СообщениеДобавлено: 14 янв 2006, 15:08
newman
Возможно LDAP это выход. Я тут нашел перловый скрипт, который делает то что мне нужно.

http://www.novell.com/coolsolutions/tools/14325.html

Но очень уж сказачно простой...

Сейчас будут проверять. Если не сложно - проверьте у себя тоже :roll:

СообщениеДобавлено: 14 янв 2006, 15:33
Андрей Тр. aka RH
newman писал(а):Я тут нашел перловый скрипт, который делает то что мне нужно.
Как я понял из постановки вопроса, нужен "список IP адресов с которых этот пользователь подсоединялся к серверу" ( а не ".. подсоединился к серверу" ) - т.е. типа лог за некий промежуток времени.

В атрибуте Network Address не содержится информации о прошлых логинах пользователя, а только о текущих - при этом адресов может быть несколько, т.к. пользователь может залогиниться одновременно с нескольких рабочих станций. При этом после выхода из сети ( или таймаута его рабочей станции - для соответствующего адреса ) адрес из этого атрибута удаляется. См. к примеру http://support.novell.com/cgi-bin/searc ... 099118.htm

А экспортировать атрибут можно и безо всякого перлового скрипта, как писал Алексей Волков. ИМХО атрибут в LDAP уже должен быть смаплен на networkAddress ( хотя проверить сейчас не могу ). Только потом придется как-то конвертировать адреса в нормальный вид.

СообщениеДобавлено: 14 янв 2006, 17:08
newman
Еще раз прочитал ТЗ - действительно похоже речь идет о пользователях которые подключены в текущий момент времени. Меня запутало упоминание о нескольких IP в результате. А то что вход может быть сделан с различных рабочих станций мне как-то в голову не пришло.

Наверно LDAP идеальное для меня решение. Только возникает один вопрос. На Novell Netware 6.5 LDAP доступен по умолчанию? Или надо какие-то телодвижения делать что бы с ним работать?

ответ

СообщениеДобавлено: 16 янв 2006, 11:06
Орлов Алексей
обычный порт (389) доступен по умолчанию, позволяет считать информацию, а по 636 добавить.

СообщениеДобавлено: 16 янв 2006, 11:52
Осетров Сергей
Если всё таки речь идёт о Real Time то лучще AdRem Server Manager не найти. Прекрасный инструмент. Показывает и пользователей и файлы и много всевозможных счётчиков и параметров.

СообщениеДобавлено: 16 янв 2006, 18:07
Andrey Karyagin
Что касается LDAP и декодирования атрибута networkAddress на языках PHP и Perl см.
http://developer.novell.com/wiki/index.php/LDAPNetAddr
http://www.novell.com/coolsolutions/tip/15257.html
http://www.novell.com/coolsolutions/tip/5897.html
Существует также альтернативный подход, основанный на перехвате событий NDS при помощи специального NLM:
http://www.novell.com/coolsolutions/tools/14175.html

СообщениеДобавлено: 16 янв 2006, 18:10
newman
Всем спасибо.

Исходную информацию я получил - буду "мучать" LDAP.