OTP

aameno2

Lotus Team
27.01.2009
778
190
BIT
413
Руки ваши да будут здоровы!
Я не вижу причин, по которым благородные доны не могут пропустить по стаканчику ируканского)
Надеюсь доны простят некоторую фривольность в изложении. Это не инструкция, но благородные доны опытные и направления хватит.
Итак. Мне кажется у вас тоже встречаются идиоты заблудшие овцы, сохраняющие веб пароли в браузерах. Речь пойдет как раз о таких.
Ни для кого не секрет, что сохраненные пароли спокойно вытаскиваются. В моем случае, достаточно было перейти по ссылкам в письме.
Да да, так делать нельзя, но для идиотов овец это не преграда. Это приводит нас, как ни банально, к 2fa.
Казалось бы ну что тут....однако мы сидим на домино и вариантов у нас 2. Ждать 12ю версию и использовать готовый продукт, который обойдется папаше Дорсету в много долларов.
Оба варианта отметаем. Когда еще выйдет 12, стучалки и стоимость перехода.....готовый продукт дешевле перехода но в моем понимании слишком дорог.
Как истинные доны направляем взор в гугл. Не буду утомлять перебором вариантов, но меня он привел к OpenAM.
Небольшое отступление. Домино прекрасен, однако как старые индусы так и новые забили болт и пилят наверное нужные вещи, но вот лдап в домино гавно не поддерживает некоторые стандарты, которые вы легко найдете в openldap.
Из-за этого кстати нашел замечательные продукт lsc, ибо нужно было прибить пользователей из домину к cucm.
Продолжаем. У нашего подопытного есть некоторое количество агентов авторизации. Меня устроил агент индейца. Банальности опускаем, первый итог - авторизация идет через портал OpenAM и использует лдап.
Но после первого этапа нас приветливо встречает уже родная авторизация домино, что не красиво.
Конечно можно посмотреть на SAML,OAUTH2 в домино....но нет. На мой не искушенный взгляд, в текущий момент, это делается через жопу излишне сложно.
Остается LTPA. Открываем дедушку гугла и он нас приводит к замечательному . Итак мы получили генератор печенок. Теперь просто передадим это пользователю....да но нет.
Вариантов это сделать слишком много. Однако они все сводятся к - "вы конечно можете вот так, но правильный путь это Authentication Post Processing Classes. И скромный пример шаблонного класса.
Ладно) Опять пропускаем мои поиски. В функции плагина есть параметр SSOToken, в него то и можно запихнуть наш лтпа. Победа ? Хрен там)
Чтобы он появился в куках, нужно эмпирически найти параметр в настройках агента индейца и сказать ему - все параметры пихай в куки. И да) Он появился, но......значение берется в кавычки!
И да, это не лечится настройками. Однако мы ведь красноглазые?) Берем исходник агента, находим нужный нам класс и грязно говорим, что не нужно трогать лтпа.
Вот теперь победа доны. Авторизация проходит на портале, получается лтпа кука и мы радостно попадаем в домино.
Ну а описание прикручивания отп в цепочку авторизации описано на .
Уф....две недели господа, но я дико доволен.
З.Ы, Если @lmike как гуру nginx, расскажет как сделать его фронтом для tomcat, я буду признателен)
 
  • Нравится
Реакции: boltov

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
@aameno2 потрясающее изложение :)
путь был долгий, почему с кукой не склалось у индейца не знаю, победили и хорошо
с др. стороны - если есть любая внешняя аутентификация и юзер уже приходит с доминошным именем - можно задействовать (на локалхосте) $WSRU хидер и подправить ини домины, разумеется после этой правки к домине ток с локал хоста можно (без прокси)

Еще делал интеграцию в OnlyOffice по прешаренному ключу шифровал ссылку (для калбэка с именем юзера + unid + соль) при обратном вызове расшифровывал имя и для него получал сессию в хэпагах...

Делал nginx фронтом к домине, к томкату не вижу разницы или вопрос прозвучал не полностью
 

aameno2

Lotus Team
27.01.2009
778
190
BIT
413
кукой не склалось у индейца
Все просто на самом деле. За эту обработку отвечает функция do_cookie_set_generic. В исходниках видим:
/* RFC6265#section-4.1.1, except double-quotes, which are handled by urlencoding value (forced) */
Ну и плавно обходим этот момент.
Не пробовал, мне нужно ссо с коннекшнс еще, поэтому сразу смотрел на лтпа. Если при авторизации сопостовлять пользователя с базой, то в AM авторизация не пройдет. Ибо будет приходить полное имя домино.
Пришлось делать через мыло. Ну и LTPA_UsrNm.
Делал nginx фронтом к домине
Тоже делал. Но в случае с АМ как то не корректно обрабатываются заголовки, и в результате получаю 302 на внутреннее имя АМ. А вот если реверс через индейца, то все ок.
При этом другие приложения томката спокойно идут через реверс nginx.
Думаю просто не умею готовить)
ProxyRequests On
ProxyPreserveHost Off
ProxyPassReverseCookieDomain
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
Тоже делал. Но в случае с АМ как то не корректно обрабатываются заголовки, и в результате получаю 302 на внутреннее имя АМ
дык редайрект прописывается если http->https
Не пробовал, мне нужно ссо с коннекшнс еще
будет ССО автоматом - сервер выдаст куку (соответ.) сам
 

aameno2

Lotus Team
27.01.2009
778
190
BIT
413
Все ssl. при этом если реверс индеец, то редиректа немай
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
Все ssl. при этом если реверс индеец, то редиректа немай
я знаю что у формы домины , используемой в ССО, есть особенность - запросы в хттп , они появляются исходя из серверных настроек
сами соединения отслеживали?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
кстати $WSRU емнип работает по всем алиасам в фулнейм
 

aameno2

Lotus Team
27.01.2009
778
190
BIT
413
я знаю что у формы домины , используемой в ССО, есть особенность - запросы в хттп , они появляются исходя из серверных настроек
сами соединения отслеживали
Приходит запрос на томкат, в ответ он меняет имя хоста и отправляет 302.
С доминой то как раз все хорошо всегда было). Имя приходит в виде почты, можно конечно заморочиться, но лтпа в общем устраивает.
 

aameno2

Lotus Team
27.01.2009
778
190
BIT
413
немного некропостинга благородные доны.
Openam заменил на Keycloak. Все без танцев с бубнами, нативно openid connect.
В keycloak добавляется плагин для определения условий по ip и все.
Входит в диапазон - имя и пароль, нет - спросим дополнительно отп.
 
Последнее редактирование:

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
А вот с 12-й домины есть служба TOTP/ Она юзабельна в контексте топика?
есть даже какие-то прилаги типа

TOTP Authenticator – 2FA Cloud​

 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!