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

"Одноразовый" аккаунт.

СообщениеДобавлено: 02 мар 2004, 11:23
Влад А.Сокол aka Akina
Сразу извинюсь - не просите досконально объяснить зачем... сам пока до конца не понял. Однако задали мне вопрос, на который я не смог ответить.

Требуется аккаунт. На NW 5.x. Закрытый паролем. Его особенность - он должен допускать подключение ТОЛЬКО ОДИН РАЗ. После чего деактивироваться - по expired или еще как, но до ручной реактивации повторно им чтобы воспользоваться нельзя было. Причем независимо от того в каком режиме подключился пользователь - NDS, bindery...

Вариант с ручным установлением истечения срока действия аккаунта не проходит - неизвестно когда он понадобится, может сегодня, может через неделю.
Вариант с установлением истечения пароля тоже не проходит - для этого пользователь должен иметь разрешение на смену пароля.
Вариант изменения свойств пользователя из логин скрипта не проходит - исполнение скрипта отключаемо.
Вариант отслеживания появления юзера и изменение его свойств модулем на сервере не проходит - серверов в дереве может быть несколько, к тому же время логина может быть малым, а опрос с большой частотой - сами понимаете...

И так далее...

Уже всю голову поломал - не вижу приемлемого решения...

ЗЫ. Попробую объяснить зачем... сетка - в достаточно секьюрной организации, этот аккаунт - с большими специфическими правами. Недостаточными, впрочем, для того чтобы снять указанное ограничение или дать расширенные права другому аккаунту. Существует на случай когда ответственный за некие действия отсутствует. Смысл - пароль на аккаунт передается заму по открытым каналам связи (ака телефон) и параллельно набирается. Т.е. на момент завершения передачи пароль уже использован (есссно ограничение на 1 юзера) и, следовательно, даже перехваченный пароль - бесполезен. Потому как вторым никто не подключится, а после логаута - и первым тоже... реально несколько сложнее, но для понимания задачи - достаточно.

Ре:

СообщениеДобавлено: 02 мар 2004, 11:38
Алексей Митряков
Возможно стоит посмотреть в сторону программ передающих команды удаленно на консоль сервера, в логин-скрипте самой последней строкой передать на консоль disable login name, по идее пока пользователь не отвалиться он будет работать.

СообщениеДобавлено: 02 мар 2004, 11:51
Влад А.Сокол aka Akina
дать право оператора консоли - исключено.
опять же - кто запустит? юзер? с какой стати... логин-скрипт? обсуждено...

СообщениеДобавлено: 02 мар 2004, 11:58
Михаил Григорьев
Вопрос очень и очень интересный, на FreeBSD одноразовые пароли мы делали и успешно их используем до сих под (http://www.freebsd.org/doc/en_US.ISO885 ... words.html), штука очень замечательная в плане безопасности, а то иногда приходится выходить в инет из геймклубов, а там черт знает может сниферы стоят или логеры клавы.

На NW мне только что пришла вот какая идея, даже её проверил.

Есть у пользователя LDAP атрибут loginTime и подозреваю что он показывает время последнего логина, причем если пользовватель впринципе после создания не входил то этого аттрибута даже и нет, то есть можно написать Perl скрипт который проверяет наличие этого аттрибута и если он есть и что то содержит то предпринят какие либо действия.

Идея простая до безобразия Но думаю реализовать можно, могу и я написать если оргинизация что нить заплатит :roll:

СообщениеДобавлено: 02 мар 2004, 12:00
Сергей ака godless
А если вопрос безопасности решить логином с конкретной станции ? По мак адресу ? Это как обходной путь ... Или необходима возможность войти с любой станции ?

СообщениеДобавлено: 02 мар 2004, 13:32
Андрей Тр. aka RH
А чтобы по окончании работы этот ( законно залогинившийся в первый раз пользователь ) перед логаутом сам ( каким образом - другой разговор ) дизейблил свой аккаунт - не вариант ?

СообщениеДобавлено: 02 мар 2004, 15:05
Андрей Троценко
Чтобы полностью соответствовать условиям задачи, по-моему, нужно использовать DirXML, под который написать драйвер, который по событию изменения значения аттрибута LoginTime для указанных объектов "пользователь" (напр., у которых значение аттр. OneTimeLogin = true), меняет им пароль на явную чушь (автогенерированную) или устанавливает аттрибут времени действия пароля сколько-то минут от LoginTime - чтобы вошедший не засиживался.

А если DirXML нету, то, по-моему - только поллингом: периодически читать упомянутый аттрибут и делать упомянутую гадость... Реализовать можно на чем угодно, напр. на Java.

СообщениеДобавлено: 02 мар 2004, 15:58
Влад А.Сокол aka Akina
мда... в общем куда не плюнь - поллинг... так не хочется... что до самообрезания - тоже малореально, может так случиться что эти "чрезвычайные действия" будет выполнять человек, в компьютерах слабый... да элементарно забыть можно... ну да, потом открутят все что выступает, но прокол уже был...

интересно, а есть возможность установки каких-нить "триггеров" на процесс логина/аттача юзера? с запуском NCF-ки?

СообщениеДобавлено: 02 мар 2004, 16:13
Андрей Тр. aka RH
Можно в логин-скрипт вынести нечто, что критично для дальнейшей работы юзера ( т.е. при отключении скрипты чтобы от него толку было мало ), причем не просто map, который можно сделать и вручную, а что-то посерьезнее. Поллинг ИМХО в данной ситуации вариант тупиковый .. можно поглядеть на SNMP ? в eDire оно есть.

Еще можно другого пользователя ( специально под это дело созданного ) обязать включать / выключать данный аккаунт, после чего уже логиниться тем с одноразовым паролем :) Еще по нешифрованному каналу можно передавать "хэш", а не сам пароль .. по которому каким-то образом выясняется пароль к аккаунту.

СообщениеДобавлено: 02 мар 2004, 16:24
Сергей ака godless
Интересно, а нет ли какого либо скрипта на logout ?? На логин есть, это ясно, а на логаут ?? Тогда и проблема бы решилась, если при выходе запускается скрипт и выполняет необходимые действия ....

Не знаю есть ли, но может в этом направлении покапать ??

СообщениеДобавлено: 02 мар 2004, 16:29
Андрей Тр. aka RH
Сергей ака godless

Неа .. т.к. логаут - событие далеко не гарантируемое ( ты щелкнул питанием, к примеру, или коннект к серверу пропал ). Впрочем, никто не мешает на раб. станции настроить планировщик на событие логаута.

СообщениеДобавлено: 02 мар 2004, 16:58
Сергей ака godless
Андрей Тр. aka RH писал(а):Неа .. т.к. логаут - событие далеко не гарантируемое ( ты щелкнул питанием, к примеру, или коннект к серверу пропал ). Впрочем, никто не мешает на раб. станции настроить планировщик на событие логаута.


Ну хорошо, не гарантируемое, но есть время ожидания, если конект висит - до тех пор пока не отрубиться - другой не войдёт, а при автоматическом отключении с сервера - пожалуйте скрипт выполнить - не пойдёт ??

СообщениеДобавлено: 02 мар 2004, 18:32
Аркадий Глазырин
Григорьев Михаил писал(а):штука очень замечательная в плане безопасности, а то иногда приходится выходить в инет из геймклубов, а там черт знает может сниферы стоят или логеры клавы.


Не "может быть", а стоят. Местные админы в частности UIN-ами приторговывают.

СообщениеДобавлено: 02 мар 2004, 18:42
Михаил Григорьев
Коллеги про логин скрип забудте как средство контроля.

Конектится одноразовый юзер по FTP и какой тут логин-скрипт??? Нету его тама....

Или через Web на iManager заходит, то же самое нет там скрипта.

Или просто заходит через веб на запароленую апачавскую страничку где апачь пароль берёт из NDS, тоже нет там скрипта

Смотреть нужно либо в сторона Perl+проверка аттрибута loginTime
Либо написание NLM'ки с проверкой того же аттрибута
Либо DirXML драйвер писать, но это уже сложнее чем первый 2 пункта, ито не уверен что можно сиё реализовать с использованием DirXML

СообщениеДобавлено: 02 мар 2004, 21:17
Музалёв Николай
А если по школьному: расширяем схему - даем пользователю еще один атрибут (называем - ФЛАГ) . по первости в нем - ничего. Пользователю даем право работать с этим атрибутом. Вот только чем он будет работать - программка на 5ть сторочек - отлько у нас. По входу в логин скрипте - программка , которая от имени поьзователя ставит ФЛАГ. Он и знать ен будет- мало ли в логине внешних программок. При повторном входе - проверка. если ФЛАГ есть - отъезжает по EXIT.
Самый главный админ (главнюк??) имеет программку сброса такого флагау у младшего главнюка.