Комментарии 172
Спасибо за туториал, пойду вобью в свой Google Authenticator (или тысячу других подобных решений типа Яндекс.Ключа)
или проверенный Keepass + TOTP plugins https://keepass.info/plugins.html#kpotp
Или еще более проверенный KeepassXC безо всякиз плагинов )
или проверенный Keepass + TOTP plugins
В этом случае несколько теряется двухфакторность. Как-то оно выглядит правильней, когда парольный менеджер и TOTP-аутентификатор обитают на разных устройствах.
Я всегда в этом вижу, что вероятность потерять ключ и не найти потом коды становится несравнимо выше, чем вероятность, что его украдут.
Так и best practice держать 2 базы (файла) - в одном только пароли, в другом только TOTP.
Резервные копии БД можно держать в любых других скрытых и засекреченных местах. Здесь каждый сам решает. И никакие коды восстановления на бумажках не нужны.
Правильнее выглядит оценивать риски по обстоятельствам. В безопасности нет чекбокса "enable security", каждое энабле, автоматически дает свое дизабле к той же security. Сокращая свои риски конфиденциальности мы автоматически увеличиваем свои риски доступности (что если потеряем один из факторов).
Вот именно сегодня мне по работе пришло приглашение в Azure, в какой-то там проект (я так понимаю, альтернатива github, только от microsoft'а). Оказывается, у меня уже был заброшенный майкрософтовский акканут. Когда-то, сто лет назад, я его зарегал. Пароль не помню, обычные мои пароли не подошли. Тупо восстановить пароль (именно на мой ящик, который у них прописан) - не дали(!!). В каком-то смысле правильно - если тебя N лет не было - может это уже и не твой ящик? Спрашивали и имя и страну, откуда я регался и покупал ли продукты microsoft, и какие были у меня старые пароли. И потом отказали в восстановлении. Мало данных предоставил (ну или много из них не совпали)
Я и их даже понимаю. Странно, когда чувак не помнит свои старые пароли, не помнит из какой страны регался, и даже в сегодняшний день, пробует восстановиться из разных стран (я менял VPNы, думая, может VPN-адреса подозрительные?). Они прекрасно защитили мой аккаунт от угона, но реальная-то угроза оказалась в другом - я все равно лишился аккаунта, только угнал его у меня то ли "я позапрошлогодний", то ли сам майкрософт.
Ну и KeepassXC - это все таки два фактора. Первый фактор - владение базой данных паролей, второй фактор - знание пароля к ней.
Ради справедливости, замечу что TOTP работает и без плагинов нативно. Хотя я по привычке сижу на kpotp
Скрытый текст

Или напишу своё приложение )
Для TOTP пользуюсь прекрасным приложением 2FAS.
- Оно бесплатно и без рекламы.
- Исходники открыты.
- Есть в виде приложений для большинства популярных платформ (Android, iOS, расширение для браузера, часы).
Ente Auth. Бесплатное и у него есть киллер-фича, он показывает текущий код и следующий который будет за ним.
Aegis. Опенсорс, умеет абсолютно всё, что требуется от TOTP-приложения (в том числе показывать следующий код). Киллер-фича — экспорт ключей и автоматические шифрованные бэкапы в ФС телефона или на гугл-диск. Но только под Android.
А в чём преимущество, если показывает следующий код?
Я вижу два возможных сценария, где это могло бы быть полезно:
Можно сразу начать вбивать следующий код, если понимаешь, что текущий уже не успеешь набрать до истечения его срока действия. Не нужно будет стирать уже набранные знаки и начинать всё заново.
Если вдруг попадётся ненормальный сайт, который не следует рекомендации стандарта TOTP принимать не только актуальный код, но и предыдущий и следующий, эта фича может выручить. Кажется, когда-то давно у меня подобное было с Госуслугами — не принимался код и всё тут. Помогло быстро ввести код в самом начале срока его действия.
Я сам не пользуюсь этой опцией, но она есть в Aegis — в другой ветке её упоминали как киллер-фичу неизвестного мне приложения Ente Auth.
Кажется, когда-то давно у меня подобное было с Госуслугами — не принимался код и всё тут. Помогло быстро ввести код в самом начале срока его действия.
Это рассинхрон часов на клиенте и сервере. Первая T в TOTP не просто так означает time-based. От себя еще добавлю, что видеть сразу следующий код это визуальный сигнал, что предыдущий сейчас протухнет, т.к. счетчик секунд сбоку часто не настолько привлекает внимание, как новая строка с цифрами другого цвета. Сам пользуюсь 2FAS на телефоне с этой фичей и KeepassXC на ноуте.
Настоящая киллер-фича: экспорт секретов в файл и клиент под Windows/Linux. Менее безопасно, но можно не тянуться к телефону при пользовании сервисами с десктопа.
100500й раз об этом...
Лучше напишите, что из qr кода надо записать поле secret= и после этого, уже зная "секрет" можно генерировать коды на чём угодно, хоть в командной строке линукса, хоть на чайнике.. а то одна из проблем, в том ТОТР подаётся как магия и большинство приложений не позволяют "выгрузить" добавленный аутентификатор и добавить его в другое приложение.. ой.. это что тогда получается, что ТОТР это просто ещё один пароль вида JXRSAVMQEYTDYQEF .. ничего себе..
Пароль который не передаётся при однонаправленной связи. Это важно.
Протокол аутентификации CHAP.. 30 лет назад..
...при однонаправленной связи
Вы понимаете всю абсурдность? Мы ведь говорим про
secret="JXRSAVMQEYTDYQEF"; echo "${secret}$(date +%d%m%Y%H%M)" | md5sumКстати, ваш код несекурный :-)
Секрет секретнее (его сложнее забрутфорсить) когда он идет первым в хеше. Первые данные сильнее "размывают" хеш.
Но по сути, да - это та же замена CHAP, только чуть удобнее. Пользователь не должен трудиться передавая Challenge, а хакер (при MITM например) не может его легко replay или запросить конкретный ответ (для какого-то оптимального перебора).
Для случаев, когда нет особой потребности в 2FA, лучше было бы оставить только TOTP (чем только пароль).
...при однонаправленной связи
Что в данном случае значения не имеет. Все равно там в сценарии ввод паролей и вообще вся связь до сайта двунаправленная.
Тут существенно, что с TOTP возможен Air Gap. А если его не требовать (а требовать конкретно в этом случае его вредно, о чем уже много раз говорил) то, действительно, есть и другие протоколы, что пароля не передают.
В контексте Web-а - можно ту же 'Digest access authentication' внутри https использовать в качестве второго фактора. Оно, конечно, древнее и страшное для пользователя, но работало бы.
Ну и древнее mTLS тоже можно было бы использовать. Лежал бы у человека в кейсторе личный серт, и все работало бы. Просто тут удобство сначала победило безопасность а потом и само умерло из-за костылей.
mTLS - уже древнее?? Мне показалось, наоборот - еще не слишком популярное (еще!) и поэтому не очень удобно реализованное.
Но это оочень простая, удобная и секурная штука чтобы защищать внутренние (например, корпоративные) ресурсы. Или просто свою веб-админку на 1 юзера. Мое правило сейчас: если ресурс не для всего мира - на нем должен быть mTLS (требование клиентского сертификата).
в nginx настраивается в 2 строчки.
создать CA сертификат и клиентский через showcert/gencert - тоже 2 простых команды.
Не везде уместно (публичный ресурс так не защитишь) но где подходит - там просто прекрасно работает!
mTLS - уже древнее??
Разумеется. Еще во времена браузера Нетскейп, вроде, было.
еще не слишком популярное (еще!)
Я думаю, 'еще' и останется. По какой-то причине его решили не доделывать, а изобрели WebAuthn/Passkeys
Не везде уместно (публичный ресурс так не защитишь) но где подходит - там просто прекрасно работает!
Ну почему. Любой сайт может работать сам для себя CA и выписывать сертификат пользователю при создании учетки. Просто как это есть - неудобно(механизма разлогинивания, скажем, нет), а доделывать до 'удобно' не стали.
То что работает - согласен. Но во всяких туториалах очень мало распространен. Вот уж не знаю, почему так получилось.
у сертификата есть удобные отличия (минусы тоже, согласен) - не требует никаких плагинов и пассворд-менеджеров. А еще - выдается "сверху". То есть, всегда знаем, кому выдаем. Passkeys - больше для сайтов со свободной регистрацией.
Разлогинивание - ну как бы нету, но есть. Можно отдельный сертификат в блеклист локально внести ну или завести прямо свою настоящую схему с revokation, CRLи всякие там. Мне кажется этого никто не делает, потому что никому и не нужно на самом деле.
И в нашем случае, сертификат - это как второй фактор работает. Помимо него там обычная формочка логина и какое-то внутреннее приложение, которое пишется в спешке и может быть с дырками. А благодаря сертификатам, никто до этого приложения не достучится.
> Но во всяких туториалах очень мало распространен. Вот уж не знаю, почему так получилось
https://sysattack.com/posts/контроль-доступа-через-клиентские-сертификаты-nginx-showcert/
А еще - выдается "сверху".
В смысле 'сверху'? Я не про сценарий, когда серт кто-то третий выписывает, а когда точно так же посетитель говорит 'хочу зарегистрироваться' и сайт, который сам себе Certificate Authority, выписывает ему собственный сертификат "посетитель ID такой-то", без участия третьих лиц. Вполне себе свободная регистрация.
Можно отдельный сертификат в блеклист локально внести ну или завести прямо свою настоящую схему с revokation
Не это разлогинивание. А когда зашел в сайт под одной учеткой (браузер спросил и запомнил, какой сертификат использовать) и теперь хочешь из этой учетки выйти (чтобы зайти под другой). В существующих интерфейсах такой возможности не предусмотрено - надо полностью процесс браузера закрывать.
Про ссылку не понял. Самостоятельные статьи о том, как настроить mTLS есть -- с этим вопросов нет. Но вот инструкции(главы) сразу в комплекте инструкции по установки разных self-hosting сервисов 'ограничиваем доступ к админке при помощи mTLS' - такого практически никогда не бывает. А уж чтобы у каждого пользователя свой сертификат был (чтобы пользователей различать) - тут, похоже, вообще никто о такой возможности не помнит.
посетитель говорит 'хочу зарегистрироваться' и сайт, который сам себе Certificate Authority, выписывает ему собственный сертификат
Такого я в реальной жизни не встречал тоже. Да и в нереальной (внутри своей сети, для своих экспериментов) - тоже не встречал.
У нас ситуация ближе к тому, что в последнем абзаце (про защиту админки). Есть просто веб приложения (сомнительного уровня безопасности/надежность) для внутреннего использования, только сотрудниками, и в них обычный логин-пароль. Естественно, есть риск, что школьник из Индонезии или догадается попробовать test/test, admin/admin, или какой-нибудь SQL Injection сделает или как-то еще взломает.
Поэтому за 10 минут добавляем в nginx пару строчек, раздаем сертификаты сотрудникам и все, теперь у нас могут зайти на страничку не 8 000 000 000 человек, а просто 8.
Не уверен, что технически mTLS можно закрыть какой-то путь типа /admin/ - он ведь предьявляется еще до передачи HTTP запроса.
Такого я в реальной жизни не встречал тоже. Да и в нереальной (внутри своей сети, для своих экспериментов) - тоже не встречал.
В свое время был тег <keygen> для похожих сценариев. Сейчас его выпилил, но могли и доделать под современные условия.
Не уверен, что технически mTLS можно закрыть какой-то путь типа /admin/ - он ведь предьявляется еще до передачи HTTP запроса.
Не проблема для тех сайтов, где без авторизации не ходят.
Точнее, даже не так - если делать клиентский сертификат необязательным, то при отсутствии учетки/сертификата в кесторе браузер просто не спросит ничего и можно будет по сайту ходить анонимом. А вот если учетка/клиентский сертификат в кейсторе есть - браузер при запросе mTLS будет настоятельно предлагать его выбрать. (Или не будет - не помню, что происходит, если в первый раз отказаться).
Но в общем случае и не надо. При обращении проверяется сессионный токен. Если его нет - запрос отбивается. А получить его можно только на url-е auth.site.com, который mTLS использует.
Что, в общем, соответствуют современным практикам, когда авторизацию выносят через OAuth на отдельный домен/сервис.
И который ограничен по времени использования, т.е. его перехват зачатую просто лишен смысла.
Обычный пароль тоже не передаётся, только хеш от него.
В чём смысл передавать хэш обычного пароля? Если его перехватят, то войдут с эти хэшем не зная пароля, то есть сам хэш в таком случае и будет паролем.
по этому (в простейшем случае) сервер генерит случайное число которое добовляется к паролю, и передаёт его клиенту, а клиент добавляет его к паролю и вычисляет хэш от результата.
А это уже не обычный пароль, а схема аутентификации с nonce. У неё свои проблемы с хранением пароля.
Ну есть более сложные алгоритмы где не надо хранить на сервере открытый пароль.
Но всё равно из того, что хранится в базе и nonce вы должны получать предполагаемый ответ клиента. А значит и любой другой, получив доступ к базе, сможет это сделать.
Или из ответа клиента вы должны получать пароль. Но тогда это не хэш.
Ну либо получив зашифрованный клиентом nonce вы должны используя информацию из базы расшифровать его и сверить (асимметричная пара). Но это тоже не хэш.
Любой другой сможет проверить знает ли клиент пароль (а зачем?), но не сможет ни узнать пароль ни подделать ответ клиента.
Пароль который не передаётся при однонаправленной связи
(Второй) пароль, который меняется раз в минуту — так точнее.
ну да, по факту надёжность держится не на принципе работы, а на том как сильно зашифровано программа где он хранится
Я что-то не так делаю? Версия приложения последняя, слово "Пропустить" как было, так и есть.

Пока эта кнопка есть, но в конце прошлого года уже были сообщения тут, на Хабре, что у некоторых кнопка пропала. И либо через Макс, либо никак.
Значит пшли они нхй
Вы только загран, авто, недвижимость не оформляйте, а то они тоже пройдут.
Я подобную тактику использую когда какой-нибудь бот (который мне нужен раз в год, а то и раз в жизни) требует подписаться на 100500 каналов с котиками.
Окей, раз так сильно хочешь - подписываюсь. Но потом отписываюсь и все. Бот свое дело мне сделал, вечно тем каналам быть в моем тг не требуется.
Вот загран и недвига не так часто оформляются. Если уж даже прижало и надо - ну ок, но потом все откактить взад.
Я из этих сообщений сделал вывод, что кнопка пропала (пропадала?) именно в веб-версии, открываемой в мобильных браузерах.
Вот тоже удивляюсь после этих статей: всегда была кнопка "пропустить".
С тех пор как ~ в ноябре поменял sms на totp (Google Authenticator), к слову, подобный экран я вовсе перестал видеть.
Вы не заводили в максе аккаунт "чисто поглазеть-потыкать че это такое"? Я -- нет, потому моя догадка только в том, что за тебя аккаунт насильно создать не могут (пока?), и соответственно загнать туда твои госуслуги тоже не могут (опять же "пока?")
Такая плашка выскакивает, как я заметил, только на мобильных устройствах. Если на телефоне в браузере можно просто включить "Версия для ПК", то в условном приложении почта России для получения QR кода (для тех кто не привязал учётки почты и госов) может потребовать вход в госуслуги, который уже открывается через webview или даже встроенный браузер в приложении, то уже никак не выбрать "Версия для ПК". (Можно попробовать заменить или WebView или даже просто UA в нём же, сам бы попробовал да мобильная железка для экспериментов померла)
Такая особенность скорее всего для тех, кому срочно нужно войти в госы, но мобилы под рукой нет или запрещено во время работы (часто видел в организациях муниципальных, что они работают через госуслуги).
А по поводу "вдруг это у тех у кого уже создан аккаунт Макс", вот у меня создан но госы не знают этого, либо не пытаются. Для привязки госуслуг и Макса там отдельная кнопка и там и там. Догадываюсь что через какого нибудь бота это сделано (госуслуги выдают какой либо ключ, этот ключ нужно ввести в боте Макса например gosuslugi_verified_bot)
((За 100% правду не ручаюсь, маленькое объяснение того что я заметил, но никто не написал; а по поводу статьи - жёсткий самопиар на рынке среди 1000 однотипных приложений; личный фаворит опенсурсный Stratum с поддержкой SDA от Steam, где буквы вместо цифр, ну и реально удобный бэкап с группировкой ключей))
возможно, это сделано через A/B компанию поэтому результаты разнятся
Вам бы в врачи) Все бы от вас здоровые уходили) У вас же ничего не болит))))
Такая же ерунда
На каком точно этапе должна появиться?. У меня сейчас нет из под хрома с учётом десктопного отображения.
Это в общем не очень защита от мошенников.
Потому что чаще всего они НЕ пытаются зайти на Госуслуги "в лоб" через "окно логина". Для этого помимо СМС или TOTP им надо еще и пару логин/пароль знать.
Чаще всего мошенники пытаются попасть на Госуслуги через форму восстановления пароля. А в той форме TOTP не предусмотрен. Там голый SMS.
По хорошему, на Госуслугах надо внедрить добровольную возможность отключения восстановления пароля. Забыл пароль - топай ногами в МФЦ.
Тогда да, вообще никаких SMS больше приходить не будет.
Думаю в отказе от смс не на последнем месте их стоимость - 1 гбайт смс стоит примерно как квартира в москве.
Чаще всего мошенники пытаются попасть на Госуслуги через форму восстановления пароля. А в той форме TOTP не предусмотрен. Там голый SMS.
После того, как мошенники разведут на код из SMS для сброса пароля, для входа с новым паролем им всё ещё требуется второй фактор.
И если развести человека на очередной код из новой SMS им не проблема (был случай: на последних цифрах успел остановить человека, когда он диктовал уже второй код - ну кто ж читает все эти предупреждения прямо в сообщении "никому не говорите этот код"?..), то вот заставить человека запустить приложение и самостоятельно выбрать и продиктовать именно код для входа в ГУ - когда они притворяются, что это, какое-нибудь "подтверждение записи в поликлинику" - всё же будет сложнее.
предупреждения прямо в сообщении "никому не говорите этот код"?
«Всё правильно, никому не говорите! Зайдите на сайт www.moshennik.ru/steal_code и вбейте в форму!»
Я однажды при звонке в банк, до ответа мясного оператора слушал их унылые формальности, в том числе никогда и никому не говорить код...
А потом через минуту в этом же звонке они сказали - "мы выслали вам код на телефон, введите его, чтобы мы убедились, что вы это вы". Это был банк, настоящий, не мошенники. Но мошенники-то тоже говорят, что они не мошенники!
Ну по сути - да, надо предсказывать чью-то тупизну. Никакого универсального алгоритма описываемого парой предложений не существует - его взломают или с одной стороны (мошенники) или с другой (сам банк косыми алгоритмами).
Но меня больше пугают приколы когда доступ к банку получают с посощью дипфейка, перевыпуска симки, угона смс, поддельного паспорта и т.п. Тут уж от тебя вообще ничего не зависит. При чем только с поддельным паспортом у тебя есть хорошие шансы что-то доказать, когда мошенник засветился на камеру и точно известно что это не ты. Во всех дистанционных случаях банк будет отмораживаться что "ничего не знаю, это был настоящий клиент."
Ну да, должен быть "Принцип Долиной-Лурье". (Кстати, я там даже суд в каком-то смысле формально понимаю, который сказал, сделки нет, всем все взад, вам, Лурье, ваши деньги - как найдем, так сразу). Это тоже по своему разумно, но все-таки правило должно быть по принципу "кто дурак - тот и платит", потому что иначе может получиться совершенный бардак.
В первую очередь надо закрыть уязвимости, чтобы не взломали без участия жертвы, и уже во вторую очередь закрывать уязвимости, где требуется жертву убедить.
Но как его обеспечить - я не представляю. Или одни проблемы будут, или другие. Вот есть удобный способ восстановить акк через номер телефона (и в правильном сценарии в офисе оператора проверят паспорт). Но ведь оператор - не иисус христос, он может быть соучастником или просто раздолбаем - и наша схема восстановления превращается в схему угона.
Чаще всего мошенники пытаются попасть на Госуслуги через форму восстановления пароля.
У тестя была УСПЕШНАЯ попытка сброса пароля в офисе МФЦ. Естественно, не им самим. IP-внутрисетевой. Такие дела.
Благо платформа сразу заблочила учётку, т.к. за пару дней до этого сбрасывали ему пароль через веб-форму, и выполняли действия в системе.
У меня была статья на хабре про "уязвимость" (условную) на госуслугах в CSS. (Да, этим и интересно, какие угрозы предоставляет CSS, и ответ - не нулевые).
Так вот на ГУ есть проблема - очень тяжело найти телефон поддержки, и мошенники этим пользуются. Большинство людей чаще увидят на сайте госуслуг (с "замочком", что используется TLS, настоящем) - номер телефона мошенников (который есть возможность установить), чем телефон реальной службы поддержки.
Понимаете? ГУ хочет чтобы всякие там ненужные люди "не мешали им работать" и не звонили в техподдержку. А вы говорите о фишке, из-за которой люди будут в МФЦ приходить лишний раз, еще больше отвлекать их и ходить там по помытому...
А если нет аккаунта в макс ? Тоже предлагает ?
Зы я по ЭП захожу
Лайфхак - в мобильном браузере выберите "Запросить настольный сайт" (ios safari) или "Версия для ПК" (android chrome), после чего появится "Пропустить". Хорошо, что нашлись у них разумные люди, которые подумали о том, что у человека заходящего через компьютер может быть кнопочный телефон и макс устанавливать некуда.
В целом, устанавливать Госуслуги и прочие гос приложения - очень сомнительно.
так это, Макс+кнопочный телефон работает вроде как на обычном компе/ноуте же? т.е. наличия смартфона там вроде как необязательно же?
(сужу по разговорам людей, которых организации заставлять стали иметь аккаунт в Максе, при этом ставить что-то на смартфоны по разным причинам не собираются (у кого-то нет возможности - например я исп-ю только apk для установки и убрал варианты типа гуглплея и русторе, да еще андроид старой версии, которая не поддерживается, у кого-то еще и памяти не хватает - а менять смартфон не хотят и тд и тп)
Нет не нашлись. Например недавно с супругой брали потребительский кредит, да вот там вариантов никаких. Еще и смс не приходили у мтс(с ним это часто стало). Я пожал плечами и сказал либо решайте либо я пошел. В итоге самым древним из возможных способов все делали.
что у человека заходящего через компьютер может быть кнопочный телефон
Почему обязательно кнопочный ? У меня на телефоне Андроид 9 и на него макс не ставится
Наведите камеру на QR-код с экрана «Госуслуг».
Раньше входили при помощи браузера. А теперь, по вашему предложению, надо ещё и смартфон покупать?
Ну всё, ждём выключения авторизации с TOTP. А то чего это они всякие authenticatorы юзают.
Думаю, в количество пользователей упирается. Если количество пользователей с TOTP окажется достаточно значимым, чтобы ими пополнить аудиторию Макса - то отключат: дело-то нехитрое.
А если уже и доступ к сим-карте утерян, т.к. телефон в блоке в оператора связи уже лет 5 как и в РФ абонент не появляется. И к тому же, указанный в их системе номер не сменился в последний раз на актуальный когда доступ к их сайту,14 января без смс ещё был возможен.. ?
Всё, по ходу кирдых сайту и всей дебильный системе госуслуг, которая не предполагает почту электронную к восстановлению доступа к порталу а зациклена на тупой безопасности по номеру телефона.
Сами себя закопали, своими параноидальным правилам безопасности) клоуны.
Восстановление через почту доступно, проверьте сами, надо просто выбрать сброс пароля по паспорту или СНИЛС. Но войти без смски или Макса или тотр не сможете, так что если сами находясь за границей потеряли доступ к симкарте и не поменяли способ входа на тотр, то вы сами себе злобный буратино
Вы немного не додумали ситуацию мою, но я не сержусь т.к. все нюансы я не стал описывать в коротком комментарии. Суть то в рукожопости сервиса в целом, а не в отдельном случае доступности пресловутого "сброса пароля". Функционал что сайта что приложения не для нормального пользователя с различными нюансами, а для быдла пользующегося Макс-помощником и Max-месенджером в одном отдельно взятом городе,улице, квартире и айпишнике. А если шаг влево-вправо ничего не продумано наперёд - сырая болванка для танцев с дырявым барабаном.
К слову: доступ то был к аккаунту, даже без смс двумя неделями ранее, даже с указанием в настройках "подтверждение входа по смс" (не активного для выключения или смены номера) только вот ничего изменить было нельзя в свою пользу а лишь дивится тому что на дворе 2026г, а у этих дереволазов все ещё 1996...
Доступ восстанавливается через поход в МФЦ или через приложение банков, как минимум через сбер. Ну а если вы не в России и не позаботились к доступу на госуслуги, то вы сам себе злой буратин, ибо
Сами себя закопали, своими параноидальным правилам безопасности) клоуны.
этим "клоунам" ваш доступ в госуслуги не нужен, он ВАМ нужен.
Дорогой дружок, прочитав ваш комментарий я чётко понял, что у вас не развито мышление, а скорее всего простой синдром "рф головного мозга", поэтому снимаю с себя ответственность что-либо вам доказывать.
Живите тихо и мирно в этом состоянии хоть до ста лет, аминь.
Где-то в параллельной вселенной пользователь ругается, что у него угнали учётку взломав почту.
Да, да, именно так далеко от границы рфии и происходит действие. Всё верно. +
Причем тут граница рф? Восстановление через почту, так же как и восстановление через СМС это огромная дыра в безопасности, имхо такого не дожно быть в принципе на важных ресурсах.
Граница рфии - это ирония, за которой кроется простая истина: не должно быть настолько тупых правил будь то восстановления/сброса/подтверждения какие условились соблюдать дереволазы из этого "важного ресурса" (читать: помойки, собранной на коленке) не думая о банальных ситуациях пользователей, а лишь о прямой указке сверху - создать безопасный сервис для даунов и чтобы дауны его и создавали видимо (по ходу то на то и выходит).
Наверное и к лучшему, что я "самовыпилился" оттуда уже.
Прикрываться постоянно отсылкой на безопасность на "важном ресурсе" (прости Господи) не равно(!) создавать продуманный юзабилити продукт для масс, учитывая что в массе быдла будут просто люди с банальными затыками (как у меня, к примеру).
Наоборот отлично, что создатели не пошли на поводу у домохозяек, которые хотят сбрасывать пароль по одному фактору (СМС или емейлу), а сделали нормальную двухфакторку с поддержкой ТОТР и ЭЦП.
Тем времнем, ГУ чуть ли не единственный сервис в рф с TOTP альтернативой SMS. Пока еще. Хотя тенденции плохие, конечно.
Все это замечательно... Если бы не дикие тормоза смартфона... Открытие приложения госуслуг может занимать больше 30 секунд. Переключение с госуслуг на тотп и обратно - может занять больше минуты. За это время 6 цифр протухнут. Смс были хороши тем, что приходили в фоне, но кхм... кхм... неадекватное их использование не умеющих читать "никому не сообщайте..." и экономия на спичках со стороны государства заставляют народ становиться в позу зю.
А зачем переключать туда-сюда? один раз настроили (да, может быть муторно) и используем. А по асинхронности TOTP ещё лучше, т.к. не передаётся ниоткуда, а генерируется на устройстве.
Зачем в приложении то вводить коды?? Настройте вход по отпечатку или распознаванию лица (если телефон позволяет) и не будет никаких кодов при входе.
Меня бесит, что когда входишь на компе через браузер, там можно выбрать вход по QR-коду, но приложение действительно так долго открывается, что вход по смс получется гораздо быстрее.
Это как-то очень грустно звучит - первичный запуск да, допускаю, но после него переключение между последними двумя аппами у меня происходит буквально синхронно со свайпом пальца, которым я, собственно, переключаюсь. Это на телефоне трёхлетней давности.
Всё вы хорошо описали, только вот Ваш этот MULTIFACTOR не позволяет делать бекап. У меня был включён TOTP и смартфон сломался. Знаете сколько я прошёл мук ада для того, чтобы восстановить доступ к Госуслугам в МФЦ? "Тётеньки из окошка" знают как сбросить пароль, могут сменить номер телефона. НО ВНИМАНИЕ! У них нет инструкций и интерфейса как "понизить" тип аутентификации, отключив TOTP. И было отдельным квестом объяснить им что мне надо :)
В общем, у меня восстановление аккаунта заняло 2 недели, пока они отправляли запрос в "центр" и там отключали настройки. Май 2024 года, Питер.
только вот Ваш этот MULTIFACTOR не позволяет делать бекап
Эммммм.... когда при создании TOTP сканируете телефоном экран, нажмите в этот момент Print Screen — эта картинка и есть ваш бекап.
Там у QR-кода срок действия:

Может конечно они криво написали и срок действиятолько у кода подтверждения
это видимо срок действия до регистрации. в случае успешной регистрации он становится бессрочным. это время дается на то, чтобы сгенерить первый код.
по крайней мере по другому просто быть не может т.к. нет механизма обновить что-то в офлайновом по сути генераторе тотп без вашего участия.
это видимо срок действия до регистрации.
Совершенно верно. Если за это время не ввести шесть цифр, то на сервере генерируется новый ключ. А если успеть — то всё, снимок экрана работает. Читайте маны, ибо они — рулезь.
Накойхун так сделано — ХЕЗ: театр безопаcности, «смарите, мипахали».
А вы распечатайте и часики перестанут тикать, код станет бессрочным :)
А если серьёзно - то под этим QR-кодом просто url-like строка с паролем и всякой метой (алгоритм, срок переключения ключа, слово госуслуги). Его действительно можно сохранить
Что не противоречит тому, что автор советует продукт с vendor lock'ом.
К тому же, если сохранять эти коды.... то почему бы не сохранять их в KeepassXC (ну не в галерее же?)? А если сохранять в него - то зачем этот мультифактор нужен, уж генерить коды keepassxc умеет.
Всё вы хорошо описали, только вот Ваш этот MULTIFACTOR не позволяет делать бекап.
Поэтому юзаю обычный GA, ибо иначе я замучаюсь восстанавливать записи TOTP, которых у меня тьма.
Да, у кучи подобных приложений можно бекапить в облако или зашифрованный файл. Мультифактор отказываются реализовывать бекап.
Из GA их сложнее достать в стороннее приложение, у него свой формат кукарекода.
Если телефон сломался - уже не до сторонних приложений, хотя бы в такое же восстановить.
Но есть ещё риски блокировок сети и (пусть и минимальный, но ненулевой) бана от Гугла самого, так что да, оффлайн бэкап надёжнее.
Тут мне особенно нравится TOTP в GA от учетки гугла. Вспоминается ковидное "маски покупателям без маски не продаются, первую маску нужно добыть в бою" (мы тогда еще не знали насколько это буквально).
Если телефон сломался у меня синхронизация на несколько компов и шифрованный бэкап в облако.
Я так организовал цифровые активы что даже если выйду в одних трусах из моря мне нужн будет смартфон чтобы за час восстановить все доступы включая счета с прожиточным минимумом на год.
Я один раз оказался в похожей ситуации - отель в деревне, роуминг не алё, wifi тоже почему-то не работал. Из всего сетевого был только общий старый аймак в вестибюле - а понадобилось оперативно то ли билеты, то ли следующий отель перебронировать. С тех пор всё на эту ситуацию примеряю)
Но тут я всё же отталкиваюсь от темы статьи, она явно для тех, кто пока не в теме, поэтому и комментарии пишу соответственно)
Кстати, вспомнил, у меня была учетка в гугле. Там был стронг пассворд и всё. Девайс с ней благополучно умер. В итоге гугл меня не пускает - говорит что есть сомнения что это вы и всё. Начинает задавать вопросы ответы на которые я не знаю (типа девичей фамилии моей собаки).
При чем я однажды уже терял к ней доступ вместе с паролем. Пароль был в браузере и умер вместе с виндой. Но я как-то уболтал гугл вернуть мне доступ (там была такая опция).
Начинает задавать вопросы ответы на которые я не знаю (типа девичей фамилии моей собаки).
НЕТУМЕНЯСОБАКИ, конечно же!
Текст не читал, сей-час лень. Но на такие вопросы никогда не даю реальные и вообще сколько-нибудь осмысленные ответы. Потому что это адовая дырень и вообще дебильная практика. Обычно просто ввожу длинный рандомный текст и забываю. Потому что это текст для восстановления пароля. А я пароль никуда не терял.
Я тоже одно время решил вопрос выбирать рандомный, зато ответ - тот, который мне нравится. Скажем, пусть спрашивает девичью фамилию матери, а правильный ответ - моя любимая группа.
Это всё равно сокращает количество возможных ответов до скромного по меркам современной криптографии числа. Вторым фактором это бы еще проканало, но не единственным условием сброса пароля. А записывать всё равно надо. Потому, что ресурсов много, а использовать один вариант - моветон и не всегда возможно. А раз записывать, то проще сразу записать пароль.
Это всё равно сокращает количество возможных ответов до скромного по меркам современной криптографии числа.
А ничо, что после трёх попыток оно блокируется на час? Так что скромное по меркам современной криптографии число вариантов Вы в итоге будете перебирать нескромное по мерками моей жизни время.
Если мамкин хакер ломает с домашнего компа учетку однокласника, то чего.
А если ботнет ломает базу учеток, то ничего. Или там весь гугол на час блокируется?
в рф в прошлом кажется году один банк так ломали. тупо подбирали коды из смс.
А если ботнет
Сейчас ботнет уже не нужен. Дорогие мои КВНщики, сейчас есть подписки и в моей после тестирования - 400 квн-серверов с пингом до 300мс и еще 170 с пингом выше. То есть, у нас уже 570 IP адресов в распоряжении. Но надо только как-то придумать, как из пайтон скрипта переключать сервера в Throne (ну или другой утилите)
Многие изменилось в мире :-)
Хотя в плане восстановления пароля иногда могут блокировать аккаунт при большом количестве попыток восстановления. Но согласен, что "угадай фамилию" для доступа к аккаунту - плохая схема.
А вот использовать один пароль на многих (не всех сайтах) - почему бы и нет? Нечего password manager перегружать. Вот пароли от банка и важных рабочих серверов - в нем, а от тысячи аккаунтов где я регаюсь и там ничего интересного - там какой-нибудь единый MySSSegredPassword-639 подойдет. И достаточно надежно (никто их и атаковать не будет, а такую атаку он выдержит) и не забудешь, если будешь всегда писать, ну и даже если угонят - да и хрен с ним.
Можно чистить не все зубы, а только те, с которыми не жалко расставаться. Вот и учетки есть такие, с которыми не жалко расставаться.
А вот использовать один пароль на многих (не всех сайтах) - почему бы и нет?
Я когда-то был сильно удивлён когда прописал в гугле адрес почты и гугл сходу туда постучался с паролем от гуглового ящика. Не знаю на сколько это попуоярная практика, но я с тех пор на паролях не экономлю, кроме совсем мусорных ресурсов.
О чём это Вы сейчас? Есть конкретный Вася Пупкин, есть его пароль. Попытка ввести логин Васи Пупкина и неправильный пароль в третий раз блокирует его аккаунт на час (да даже на 5 минут — тоже вполне сойдёт, всё равно это афигеть как замедляет перебор). Что в это время происходит с аккаунтами других юзеров, Васю совершенно не колышет.
Так же
ботнет ломает базу учеток
Берём пул в 100 млн. учёток, пробуем у каждой пароль 3 раза - ГУ у всей страны заблочены.
Ну а типа безопасники мышей не ловят и не видят, что с одного и того же IP пробуют не одного юзера 3 раза, а 100 млн юзеров по одному разу.
ботнет
Что "ботнет"? Ботнет не колышет юзера Васю — ботнет должен колыхать безопасников сайта.
Ботнет пробует подбирать не с одного IP, а сразу с 20 млн. IP
Ну замечательно:
— бот №1 попробовал залогиниться с адреса 123.45.67.01 в аккаунт "vasya" с паролем password1, получил сообшение "invalid password";
— бот №2 попробовал залогиниться с адреса 123.45.67.02 в аккаунт "vasya" с паролем password2, получил сообшение "invalid password";
— бот №3 попробовал залогиниться с адреса 123.45.67.03 в аккаунт "vasya" с паролем password3, получил сообшение "invalid password";
— боты №4,5,6,.....100500 попробовали залогиниться с 20 млн адресов в аккаунт "vasya" с любым паролем, получили сообшение "account temporarily blocked".
Как это поможет им узнать, что у Васи пароль — "password284"?
Мы в этой ветке обсуждаем то, что если сервис начнёт блокировать учётку на час после 3 неудачных попыток, то легальный Вася никогда не сможет залогиниться, потому что его учётка будет всегда в блоке.
легальный Вася никогда не сможет залогиниться, потому что его учётка будет всегда в блоке.
А админы сайта типа всё это время спят и не видят, что их сайт атакует ботнет, и, может, надо бы меры какие предпринять?
Пока идёт атака — Вася может и потерпеть: да, форс-мажор, зато он в безопасности.
Что в это время происходит с аккаунтами других юзеров, Васю совершенно не колышет.
Те. варианты с горизонтами планирования больше 5 минут даже не рассматриваются?
O tempora, o mores!
Я же сказал — Васю не колышет. Что должно колыхать безопасников сайта — это уже не Васина прблема.
Раскройте мысль. На сколько тупым должен быть вася чтобы его не колыхало то, что он каждые 5 минут рискует лишиться всего имущества и всех денег на несколько лет вперёд? (берём условные госуслуги или крупный госбанк рф).
он каждые 5 минут рискует
О чём это Вы сейчас? При описанной схеме боты могут попробовать максимум 3 пароля в час. Васин папроль «перебором всех вариантов» они будут искать до тепловой смерти Вселенной. Вася рискует, только если его пароль — password1
Вася рискует никогда не попасть на сайт, поскольку его учётка блокируется через несколько секунд после разблокировки и новой попытки ботов залогиниться.
Вася рискует никогда не попасть на сайт, поскольку его учётка блокируется через несколько секунд после разблокировки и новой попытки ботов залогиниться.
...а админы сайта типа всё это время сидят сложа руки и на это безобразие безразлично смотрят?
Ну так мы же говорим изначально про слабые пароли. К коим относится любой осмысленный/удобочитаемый ответ на вопрос.
Один большой госбанк ставил приложение по коду из смс (как и практически все в рф). Далее всё происходит в приложении, коды не нужны. Код 6 цифр (или даже 4, тогда вообще беда). При 20М клиентов и трёх попытках в час мы имеем 60М попыток или 60 взломанных аккаунтов в час.
Это реальный кейс, если что. Может чуть поменьше взломанных потому, что видимо сама система авторизации прилегла у банка. Но какое-то количество явно взломать успели потому, что банк отдуплялся месяц. в сочетании с endless liability в рф это большие неприятности для попавших клиентов.
Обычно просто ввожу длинный рандомный текст и забываю.
Это зря. Та часть что 'забываю'. Потому что у авторов сервиса может помутнение рассудка случиться и они все равно этот текст спросят, даже если ты пароль ввел. Жертвы Яндекса подтвердят. Да и более адекватные иногда паранойю проявляют для 'опасных' операций.
Поэтому надо записывать и пароль и вот эти все дополнительные факторы.
Потому что у авторов сервиса может помутнение рассудка случиться и они все равно этот текст спросят
Что и произошло. Теперь то я уже наученный.
Хорошо бы конечно они об этом как-то заранее предупреждали, но это я размечтался уже.
Вообще сервисов с такими вопросами при регистрации стараюсь избегать если это не что-то сверхнужное и незаменимое. Прям увидел вопрос - домен в блоклист, вкладку закрыл.
Используйте Aegis или 2FAS
Вообще для безопасности использовать только софт с открытым кодом.
Где хранится ключ для генерации кодов на стороне сервера?
Замена одной мобильной приблуды на другую, которая оставляет зависимость от телефона, заряда на нём и возможности потерять или отобрать. Я-то надеялся, тут про ПК-решения типа WinAuth расскажут, а тут шило на мыло.
СМС как фактор аутентификации признан небезопасным и подлежащим замене.
Когда же информация по НЕбезопасности СМС дойдет до банков, хехе /s
Уже какая-то ассоциация предложила все СМС от банков на сообщения в Макс заменить)) Не в вакуум предложила, то ли в министерство, то ли в парламентский комитет.
Мне Альфа при подключении уведомлений по операциям внезапно стал слать их в ВК. Я, конечно, нашел, где это отключить, но забавно, что банк так просто доверил информацию о балансе моих карт соц.сети.
Ой зря вы тут это описали. Начнет пользоваться много людей - выпилят.
При чем тут мультифактор?
Гениальный маркетинговый ход.
Мультифактор, когда приложение для часов сделаете? Надоело получать уведомление на часах и лезть за телефоном
Если кто-то сфотографирует с экрана qr-код, например, то он потом всегда будет иметь возможность войти, зная логин-пароль? Или можно заново инициализировать TOTP?
Это все классно, но вот жене на госуслугах тащ майор принудительно сменил пароль на ТоТр. Внимание, фокус: кода авторизации от тотра у нее нет :) так внезапно без объявления войны госуслуги превратились в тыкву
Дай вам Бог доброго здоровья! И спасибо огромное за ваш правдивый комментарий из жизни, о том что сервис госуслуги - древняя непродуманная пустышка из прошлого. А то я уже расстроился, что один такой, неудачно ворвавшись сюда вдруг начинаю правду-матку излагать на реальных фактах, а кругом одни продуманы и интеллектуалы с уважением относящиеся к "продуктам" рукожопов.
Ps.Надеюсь вы не за границей оказались. И доступ к необходимой информации вам доступен вскоре.
Это вам к @Shaman_RSHU для обмена опытом
https://habr.com/ru/companies/multifactor/articles/990620/#comment_29454362
Хммм. Огромное спасибо! Я даже не предполагал, что в Госуслугах для 2FA может быть альтернатива Скаму.
Держите виртуальный лайк.

Вход на «Госуслуги» без СМС и мессенджера MAX: настраиваем TOTP-аутентификацию