Страница 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 скрипт который проверяет наличие этого аттрибута и если он есть и что то содержит то предпринят какие либо действия.
Идея простая до безобразия Но думаю реализовать можно, могу и я написать если оргинизация что нить заплатит
Добавлено:
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.
Самый главный админ (главнюк??) имеет программку сброса такого флагау у младшего главнюка.