<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://wiki.corp2.eu/index.php?action=history&amp;feed=atom&amp;title=2FA</id>
	<title>2FA - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.corp2.eu/index.php?action=history&amp;feed=atom&amp;title=2FA"/>
	<link rel="alternate" type="text/html" href="https://wiki.corp2.eu/index.php?title=2FA&amp;action=history"/>
	<updated>2026-07-05T06:11:57Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.corp2.eu/index.php?title=2FA&amp;diff=1000&amp;oldid=prev</id>
		<title>R: Створена сторінка: {{DISPLAYTITLE:2FA для ERP: двофакторна автентифікація в K2 ERP}}  {{SEO |title=2FA для ERP |description=Стаття про 2FA для ERP-систем: що таке двофакторна автентифікація, чим 2FA відрізняється від MFA, де її вмикати в K2 ERP, які методи безпечніші, ризики SMS, TOTP, push, FIDO2, dashboard та Acceptance Criteria. |keywo...</title>
		<link rel="alternate" type="text/html" href="https://wiki.corp2.eu/index.php?title=2FA&amp;diff=1000&amp;oldid=prev"/>
		<updated>2026-05-07T19:13:26Z</updated>

		<summary type="html">&lt;p&gt;Створена сторінка: {{DISPLAYTITLE:2FA для ERP: двофакторна автентифікація в K2 ERP}}  {{SEO |title=2FA для ERP |description=Стаття про 2FA для ERP-систем: що таке двофакторна автентифікація, чим 2FA відрізняється від MFA, де її вмикати в K2 ERP, які методи безпечніші, ризики SMS, TOTP, push, FIDO2, dashboard та Acceptance Criteria. |keywo...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;!; | платформа вимагає 2FA і логування.; |-&lt;br /&gt;
| payload&lt;br /&gt;
| jsonb&lt;br /&gt;
| Технічні інформаційні дані без секретів.; 2FA&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-10&lt;br /&gt;
| користувач системи запускає масовий експорт.; |-&lt;br /&gt;
| last_used_at&lt;br /&gt;
| timestamp&lt;br /&gt;
| Останнє використання.; характеристика&lt;br /&gt;
&lt;br /&gt;
=== 7.1. SMS-2FA ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #1565c0; background: #e3f2fd; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; Критерій&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| MFA&lt;br /&gt;
| Два або більше факторів.; | Пароль + FIDO2 + додатковий step-up для критичної дії.; |-&lt;br /&gt;
| user_id&lt;br /&gt;
| uuid&lt;br /&gt;
| користувач системи.; Що означає&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| uuid&lt;br /&gt;
| ID challenge.; | Він підсвічується помаранчевим.; операційна дія&lt;br /&gt;
&lt;br /&gt;
=== Етап 2.; Політика 2FA ===&lt;br /&gt;
&lt;br /&gt;
* знайти всіх активних користувачів;&lt;br /&gt;
* знайти адміністраторів;&lt;br /&gt;
* знайти бухгалтерію;&lt;br /&gt;
* знайти фінансові ролі;&lt;br /&gt;
* знайти HR / зарплату;&lt;br /&gt;
* знайти користувачів із віддаленим доступом;&lt;br /&gt;
* знайти спільні логіни;&lt;br /&gt;
* знайти користувачів без входу понад 90 днів.; Тип&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 )&lt;br /&gt;
3.; 4.; | платформа вимагає налаштувати 2FA.; | Вони підсвічуються червоним і створюють alert.; Метод&lt;br /&gt;
== Див.; 19.; додатково ==&lt;br /&gt;
&lt;br /&gt;
!; характеристика&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
!; | платформа показує QR, приймає код і активує метод.; |}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2FA&amp;#039;&amp;#039;&amp;#039; — це двофакторна автентифікація.; Критерій&lt;br /&gt;
FIDO2 або passkeys виступає ключовою рисою &amp;#039;&amp;#039;&amp;#039;Орієнтир:&amp;#039;&amp;#039;&amp;#039; CISA зазначає, що phishing-resistant MFA є собою стандартом, до якого мають прагнути організації, але будь-яка MFA краще, ніж її відсутність.; Очікуваний результат&lt;br /&gt;
&lt;br /&gt;
NIST у Digital Identity Guidelines описує, що для AAL2 потрібна багатофакторна автентифікація або комбінація двох різних однофакторних автентифікаторів.; 3.; |-&lt;br /&gt;
| expires_at&lt;br /&gt;
| timestamp&lt;br /&gt;
| Строк дії.; |-&lt;br /&gt;
| method_id&lt;br /&gt;
| uuid&lt;br /&gt;
| Метод 2FA.; |-&lt;br /&gt;
| risk_score&lt;br /&gt;
| integer&lt;br /&gt;
| Оцінка ризику.; |-&lt;br /&gt;
| method_type&lt;br /&gt;
| varchar&lt;br /&gt;
| TOTP, SMS, EMAIL, PUSH, FIDO2, PASSKEY.; Мінімальний метод&lt;br /&gt;
&lt;br /&gt;
== 17.; Висновок ==&lt;br /&gt;
!; платформа просить другий фактор: код із додатку, SMS, push або security key.; | Подія логуються, користувач системи зобов’язаний налаштувати новий фактор.; * NIST SP 800-63B-4: Authentication and Authenticator Management.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA адміністратора.; Поле&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| uuid&lt;br /&gt;
| ID методу.; Якщо все коректно — створює сесію.; №&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
=== 16.4. Recovery ===&lt;br /&gt;
9.; return challenge&lt;br /&gt;
&lt;br /&gt;
* спочатку адміністратори;&lt;br /&gt;
* потім бухгалтерський обліковий облік;&lt;br /&gt;
* потім фінансовий блок;&lt;br /&gt;
* потім керівники;&lt;br /&gt;
* потім HR;&lt;br /&gt;
* потім усі інші користувачі.; |}&lt;br /&gt;
&lt;br /&gt;
 },&lt;br /&gt;
&lt;br /&gt;
 audit_logger.log(&lt;br /&gt;
{{SEO&lt;br /&gt;
|title=2FA для ERP&lt;br /&gt;
|description=Стаття про 2FA для ERP-систем: що таке двофакторна автентифікація, чим 2FA відрізняється від MFA, де її вмикати в K2 ERP, які методи безпечніші, ризики SMS, TOTP, push, FIDO2, dashboard та Acceptance Criteria.&lt;br /&gt;
|keywords=2FA, MFA, двофакторна автентифікація, K2 ERP, ERP security, кібербезпека ERP, TOTP, SMS, FIDO2, passkeys, OTP, контроль доступу&lt;br /&gt;
}}&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-15&lt;br /&gt;
| є собою адміністратор без 2FA.;=== Етап 4.; Запуск ===&lt;br /&gt;
== 4.; Де 2FA має бути обов’язковою ==&lt;br /&gt;
!; | style=&amp;quot;background:#fff9c4;&amp;quot; | Середній&lt;br /&gt;
|-&lt;br /&gt;
| Не phishing-resistant&lt;br /&gt;
| Код можна ввести на фальшивому сайті.; |-&lt;br /&gt;
| user_id&lt;br /&gt;
| uuid&lt;br /&gt;
| користувач системи.; |}&lt;br /&gt;
&lt;br /&gt;
!; Тип&lt;br /&gt;
[[Категорія:MFA]]&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-11&lt;br /&gt;
| користувач системи втратив 2FA-пристрій.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для бухгалтерії&lt;br /&gt;
| Доступ до фінансових і податкових даних тільки з 2FA.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для фінансів&lt;br /&gt;
| Платежі, бюджети, реквізити — тільки з 2FA.; користувач системи відкриває K2 ERP.; з цієї причини потрібен безпечний recovery-процес.; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Користувачі з банківськими операціями&lt;br /&gt;
| Можуть впливати на платежі або реквізити.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Менеджери з доступом до цін&lt;br /&gt;
| Можуть змінювати комерційні умови.;=== 12.2.; Проблемні користувачі ===&lt;br /&gt;
&lt;br /&gt;
 return True&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
=== 16.2.; Критичні ролі ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для нової країни/IP&lt;br /&gt;
| платформа має вимагати повторну перевірку.; | Він підсвічується червоним.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для нового пристрою&lt;br /&gt;
| Новий пристрій потребує другого фактора.; Очікуваний результат&lt;br /&gt;
&lt;br /&gt;
== 12. Dashboard 2FA ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;quot;expires_at&amp;quot;: utc_now_plus_minutes(5),&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Головне правило:&amp;#039;&amp;#039;&amp;#039; 2FA потрібно впроваджувати не колись, а одразу.; |-&lt;br /&gt;
| Видалення документа&lt;br /&gt;
| Ризик приховування операцій.; |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорія:ERP]]&lt;br /&gt;
&lt;br /&gt;
5.; |-&lt;br /&gt;
| 2FA&lt;br /&gt;
| Рівно два фактори автентифікації.; Ризик&lt;br /&gt;
|-&lt;br /&gt;
| Зміна банківських реквізитів&lt;br /&gt;
| Ризик підміни рахунку.; Для ERP це означає: 2FA потрібно впроваджувати негайно, а для критичних ролей поступово переходити на сильніші методи.; |}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-17&lt;br /&gt;
| є собою підозрілі 2FA-запити.; Рівень&lt;br /&gt;
=== 9.1.; Обов’язкові правила ===&lt;br /&gt;
&lt;br /&gt;
[[Категорія:Кібербезпека]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #2e7d32; background: #e8f5e9; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!;=== 14.2.; Створення 2FA challenge ===&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Адміністратор K2 ERP&lt;br /&gt;
| має змогу змінювати права, ролі, інтеграції, конфігурація.; Колір&lt;br /&gt;
|-&lt;br /&gt;
| Перехоплення SMS&lt;br /&gt;
| Код має змогу бути скомпрометований через мобільні ризики або соціальну інженерію.; характеристика&lt;br /&gt;
!; Правило&lt;br /&gt;
&lt;br /&gt;
!; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| Затримки доставки&lt;br /&gt;
| Код має змогу приходити із затримкою.; Для зловмисника це означає можливість діяти від імені реального працівника.; !; if request_context.is_high_risk_ip:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Правильне рішення для бізнесу:&amp;#039;&amp;#039;&amp;#039; у K2 ERP потрібно впровадити 2FA як мінімальний обов&amp;#039;язковий рівень захисту для критичних ролей: адміністраторів, бухгалтерії, фінансів, керівників, HR, користувачів із доступом до банківських операцій і користувачів із віддаленим доступом.; Вона вимагає від користувача підтвердити вхід двома різними факторами.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA + audit log.;== 8.; 2FA для критичних операцій ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Щось, що користувач системи знає&lt;br /&gt;
| Пароль або PIN&lt;br /&gt;
| Перший фактор.; |-&lt;br /&gt;
| Створення платежу&lt;br /&gt;
| Ризик фінансової втрати.; !; |}&lt;br /&gt;
&lt;br /&gt;
!; характеристика&lt;br /&gt;
=== 16.5. Dashboard ===&lt;br /&gt;
!; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | HR / зарплата&lt;br /&gt;
| Доступ до персональних і зарплатних даних.; &amp;quot;user_agent&amp;quot;: context.get(&amp;quot;user_agent&amp;quot;),&lt;br /&gt;
&lt;br /&gt;
== 11.; Модель даних 2FA ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=== Етап 5.; Контроль ===&lt;br /&gt;
!; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA + рольовий контроль.; ERP.; Приклад&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
== 3.; Чому 2FA критична для ERP ==&lt;br /&gt;
|-&lt;br /&gt;
| SMS-код&lt;br /&gt;
| Код у SMS&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Базовий&lt;br /&gt;
| Краще, ніж тільки пароль, але не найкращий варіант.; |-&lt;br /&gt;
| Push із number matching&lt;br /&gt;
| користувач системи вводить число з екрана входу&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Кращий&lt;br /&gt;
| Зменшує ризик MFA fatigue.; Дія&lt;br /&gt;
&lt;br /&gt;
!; | платформа вимагає 2FA і створює подію ризику.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2FA має використовуватись не тільки при вході, але й перед небезпечними діями.; користувач системи вводить TOTP-код або підтверджує другим фактором.; |-&lt;br /&gt;
| user_agent&lt;br /&gt;
| text&lt;br /&gt;
| Браузер / пристрій.; Рівень&lt;br /&gt;
|-&lt;br /&gt;
| Користувачів із 2FA&lt;br /&gt;
| 86%&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Потрібно довести до 100%&lt;br /&gt;
|-&lt;br /&gt;
| Адміністраторів із 2FA&lt;br /&gt;
| 100%&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Норма&lt;br /&gt;
|-&lt;br /&gt;
| Бухгалтерів із 2FA&lt;br /&gt;
| 92%&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Потрібна дія&lt;br /&gt;
|-&lt;br /&gt;
| Фінансових ролей із 2FA&lt;br /&gt;
| 100%&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Норма&lt;br /&gt;
|-&lt;br /&gt;
| Користувачів тільки з SMS&lt;br /&gt;
| 18&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Замінити на TOTP/FIDO2&lt;br /&gt;
|-&lt;br /&gt;
| Невдалих 2FA за день&lt;br /&gt;
| 12&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Контроль&lt;br /&gt;
|-&lt;br /&gt;
| Підозрілих 2FA-запитів&lt;br /&gt;
| 3&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| Recovery-подій за місяць&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Контроль&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1.; Що таке 2FA ==&lt;br /&gt;
&lt;br /&gt;
=== 11.3. two_factor_events ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
!; |-&lt;br /&gt;
| created_at&lt;br /&gt;
| timestamp&lt;br /&gt;
| Дата створення.; |-&lt;br /&gt;
| AC-6&lt;br /&gt;
| Бухгалтер без 2FA намагається увійти.; платформа перевіряє пароль.;== 13.; Приклад процесу входу з 2FA ==&lt;br /&gt;
[[Категорія:Контроль доступу]]&lt;br /&gt;
|-&lt;br /&gt;
| admin2&lt;br /&gt;
| Адміністратор&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Вимкнено&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
| Заблокувати або увімкнути 2FA&lt;br /&gt;
|-&lt;br /&gt;
| buh_olena&lt;br /&gt;
| Бухгалтер&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | SMS&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
| Перевести на TOTP/FIDO2&lt;br /&gt;
|-&lt;br /&gt;
| sales_ivan&lt;br /&gt;
| Менеджер&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | TOTP&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Норма&lt;br /&gt;
| Без дії&lt;br /&gt;
|-&lt;br /&gt;
| cfo&lt;br /&gt;
| Фіндиректор&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | FIDO2&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Добре&lt;br /&gt;
| Без дії&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; | Потрібне додаткове погодження.; Критерій&lt;br /&gt;
!; |-&lt;br /&gt;
| Email-код&lt;br /&gt;
| Код на email&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Базовий&lt;br /&gt;
| Безпека залежить від пошти.; * Внутрішні вимоги K2 ERP до ролей, доступів, 2FA, журналювання та API-безпеки.; Роль / зона&lt;br /&gt;
 db.commit()&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| user_id&lt;br /&gt;
| uuid&lt;br /&gt;
| користувач системи.; |-&lt;br /&gt;
| AC-7&lt;br /&gt;
| Фіндиректор входить із нового пристрою.; * CISA: Phishing-Resistant MFA Guidance.; Значення&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 15.; Впровадження 2FA в K2 ERP ==&lt;br /&gt;
&lt;br /&gt;
!; |}&lt;br /&gt;
&lt;br /&gt;
!; | платформа вимагає новий challenge.; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | Фінансовий директор&lt;br /&gt;
| Має доступ до платежів, бюджетів, рахунків, звітів.; платформа визначає, чи потрібна 2FA.; |-&lt;br /&gt;
| is_primary&lt;br /&gt;
| boolean&lt;br /&gt;
| ключовий метод.; |-&lt;br /&gt;
| Злам пошти&lt;br /&gt;
| Якщо пошту зламано, код додатково доступний зловмиснику.; |-&lt;br /&gt;
| AC-13&lt;br /&gt;
| Recovery для адміністратора.; |-&lt;br /&gt;
| Вимкнення інтеграції&lt;br /&gt;
| Ризик зупинки бізнес-процесу.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA + погодження.; Для критичних ролей у K2 ERP краще мислити ширше: MFA, adaptive MFA, step-up MFA і phishing-resistant MFA.; |}&lt;br /&gt;
&lt;br /&gt;
 db=db,&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;status&amp;quot;: &amp;quot;PENDING&amp;quot;,&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
def create_2fa_challenge(user_id: str, method_type: str, context: dict, db: &amp;quot;Session&amp;quot;) -&amp;gt; &amp;quot;TwoFactorChallenge&amp;quot;:&lt;br /&gt;
=== 11.2. two_factor_challenges ===&lt;br /&gt;
 &amp;quot;risk_score&amp;quot;: context.get(&amp;quot;risk_score&amp;quot;, 0),&lt;br /&gt;
|-&lt;br /&gt;
| Адміністратор&lt;br /&gt;
| TOTP&lt;br /&gt;
| FIDO2 / passkey&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Сильний захист&lt;br /&gt;
|-&lt;br /&gt;
| центральний бухгалтер&lt;br /&gt;
| TOTP&lt;br /&gt;
| FIDO2 / passkey&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Сильний захист&lt;br /&gt;
|-&lt;br /&gt;
| Фінансовий директор&lt;br /&gt;
| TOTP&lt;br /&gt;
| FIDO2 / passkey&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Сильний захист&lt;br /&gt;
|-&lt;br /&gt;
| HR / зарплата&lt;br /&gt;
| TOTP&lt;br /&gt;
| TOTP або FIDO2&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| Менеджер продажів&lt;br /&gt;
| TOTP або push&lt;br /&gt;
| TOTP&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Бажано&lt;br /&gt;
|-&lt;br /&gt;
| складський облік&lt;br /&gt;
| TOTP або SMS&lt;br /&gt;
| TOTP&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Бажано&lt;br /&gt;
|-&lt;br /&gt;
| Тимчасовий користувач системи&lt;br /&gt;
| TOTP&lt;br /&gt;
| Короткий TTL + TOTP&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Контроль&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
def verify_totp_challenge(challenge_id: str, code: str, db: &amp;quot;Session&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
!; |-&lt;br /&gt;
| created_at&lt;br /&gt;
| timestamp&lt;br /&gt;
| Дата.;== 18.; Джерела ==&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| AC-8&lt;br /&gt;
| користувач системи змінює банківські реквізити.; * CISA: MFA Guidance.; | Запускається recovery-процедура.; |-&lt;br /&gt;
| challenge_type&lt;br /&gt;
| varchar&lt;br /&gt;
| LOGIN, STEP_UP, RECOVERY, CRITICAL_ACTION.; |-&lt;br /&gt;
| status&lt;br /&gt;
| varchar&lt;br /&gt;
| ACTIVE, PENDING, DISABLED, LOST.; !; Коментар&lt;br /&gt;
8.; |-&lt;br /&gt;
| ip_address&lt;br /&gt;
| varchar&lt;br /&gt;
| IP.; Подія входу записується в журнал.; |-&lt;br /&gt;
| Масовий експорт даних&lt;br /&gt;
| Ризик витоку.; Очікуваний результат&lt;br /&gt;
&lt;br /&gt;
* щотижневий звіт;&lt;br /&gt;
* список користувачів без 2FA;&lt;br /&gt;
* блокування критичних ролей без 2FA;&lt;br /&gt;
* поступова відмова від SMS;&lt;br /&gt;
* перехід критичних ролей на FIDO2 / passkeys.; | платформа вимагає повторну 2FA.; Окремо варто відзначити ПРРО, маркетплейсами, службами доставки і електронним підписом.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #2e7d32; background: #e8f5e9; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #c62828; background: #ffebee; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
=== Етап 1.; Аудит користувачів ===&lt;br /&gt;
!; Рекомендований метод&lt;br /&gt;
|-&lt;br /&gt;
| AC-5&lt;br /&gt;
| Адміністратор без 2FA намагається увійти.; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Найпростіший приклад:&lt;br /&gt;
&lt;br /&gt;
== 16. Acceptance Criteria ==&lt;br /&gt;
 &amp;quot;challenge_type&amp;quot;: challenge.challenge_type,&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Червона зона:&amp;#039;&amp;#039;&amp;#039; адміністратори, бухгалтерський обліковий облік, фінансовий блок, HR або керівники входять у K2 ERP тільки за паролем.; Роль&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
def is_2fa_required(user: &amp;quot;User&amp;quot;, request_context: &amp;quot;RequestContext&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ризик без 2FA:&amp;#039;&amp;#039;&amp;#039; викрадений пароль має змогу відкрити доступ до ERP без додаткової перевірки.; Роль&lt;br /&gt;
!; Це фактично відповідає ідеї 2FA: одного пароля недостатньо.; |-&lt;br /&gt;
| Щось, чим користувач системи є собою&lt;br /&gt;
| Біометрія на пристрої&lt;br /&gt;
| має змогу використовуватись для активації passkey або пристрою.; |-&lt;br /&gt;
| created_at&lt;br /&gt;
| timestamp&lt;br /&gt;
| Дата створення.; характеристика&lt;br /&gt;
&lt;br /&gt;
!; | style=&amp;quot;background:#fff9c4;&amp;quot; | Середній&lt;br /&gt;
|-&lt;br /&gt;
| Не phishing-resistant&lt;br /&gt;
| Код можна виманити.; Для ERP пароль без другого фактора — це незакритий ризик.; 6.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Віддалений доступ&lt;br /&gt;
| Вхід поза офісом має підвищений ризик.; Ризик&lt;br /&gt;
!; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA + погодження.; №&lt;br /&gt;
&lt;br /&gt;
== 14.; Приклад Python-логіки ==&lt;br /&gt;
 if challenge.expires_at &amp;lt; utc_now():&lt;br /&gt;
 challenge.status = &amp;quot;EXPIRED&amp;quot;&lt;br /&gt;
 db.commit()&lt;br /&gt;
 return False&lt;br /&gt;
&lt;br /&gt;
 method = two_factor_method_repository.get_active_totp_method(&lt;br /&gt;
 db=db,&lt;br /&gt;
 user_id=challenge.user_id,&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
 is_valid = totp_service.verify(&lt;br /&gt;
 secret=method.secret_encrypted,&lt;br /&gt;
 code=code,&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
 if is_valid:&lt;br /&gt;
 challenge.status = &amp;quot;PASSED&amp;quot;&lt;br /&gt;
 method.last_used_at = utc_now()&lt;br /&gt;
 else:&lt;br /&gt;
 challenge.status = &amp;quot;FAILED&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 audit_logger.log(&lt;br /&gt;
 event_type=&amp;quot;2FA_PASSED&amp;quot; if is_valid else &amp;quot;2FA_FAILED&amp;quot;,&lt;br /&gt;
 user_id=challenge.user_id,&lt;br /&gt;
 payload={&amp;quot;challenge_id&amp;quot;: str(challenge.id)},&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
 db.commit()&lt;br /&gt;
 return is_valid&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
2.; | style=&amp;quot;background:#fff9c4;&amp;quot; | Середній&lt;br /&gt;
|-&lt;br /&gt;
| Незручність за кордоном&lt;br /&gt;
| SMS має змогу не приходити в роумінгу.; Тип&lt;br /&gt;
|-&lt;br /&gt;
| AC-1&lt;br /&gt;
| користувач системи вмикає TOTP.; |-&lt;br /&gt;
| event_type&lt;br /&gt;
| varchar&lt;br /&gt;
| 2FA_ENABLED, 2FA_DISABLED, 2FA_PASSED, 2FA_FAILED, RECOVERY_USED.; |-&lt;br /&gt;
| FIDO2 security key&lt;br /&gt;
| YubiKey, Feitian, Titan Key&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Дуже сильний&lt;br /&gt;
| Phishing-resistant варіант.; Потрібно передбачити:&lt;br /&gt;
[[Категорія:2FA]]&lt;br /&gt;
!; |-&lt;br /&gt;
| MFA fatigue&lt;br /&gt;
| користувач системи отримує багато push-запитів і випадково підтверджує.; Рекомендація&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;quot;user_id&amp;quot;: user_id,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. 2FA vs MFA ==&lt;br /&gt;
&lt;br /&gt;
* CISA: More than a Password.; Критерій&lt;br /&gt;
 if challenge.status != &amp;quot;PENDING&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| Push&lt;br /&gt;
| Підтвердження в мобільному додатку&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Добрий&lt;br /&gt;
| Потрібен захист від випадкового підтвердження.; !; №&lt;br /&gt;
=== 7.3.; Push-2FA без number matching ===&lt;br /&gt;
 return True&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:2FA для ERP: двофакторна автентифікація в K2 ERP}}&lt;br /&gt;
!; |-&lt;br /&gt;
| method_type&lt;br /&gt;
| varchar&lt;br /&gt;
| Тип 2FA.; &amp;#039;&amp;#039;&amp;#039;Зелена зона:&amp;#039;&amp;#039;&amp;#039; у K2 ERP увімкнено 2FA для критичних ролей, step-up 2FA для небезпечних операцій, dashboard контролю, журнал подій і поступовий перехід на FIDO2 / passkeys.; Для критичних ролей потрібні TOTP, FIDO2 або passkeys.; * NIST SP 800-63B: Digital Identity Guidelines.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| Заборона спільних логінів&lt;br /&gt;
| 2FA неможливо нормально використовувати зі спільним акаунтом.; Якщо другий фактор можна обійти простим проханням у чаті, це небезпечна технічна архітектура.; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| Випадкове підтвердження&lt;br /&gt;
| користувач системи натискає approve, не читаючи.; 2FA і MFA часто використовують як синоніми, але між ними є собою різниця.; !; Фактор&lt;br /&gt;
!;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[K2 ERP]]&lt;br /&gt;
* [[MFA]]&lt;br /&gt;
* [[2FA]]&lt;br /&gt;
* [[Кібербезпека ERP]]&lt;br /&gt;
* [[Контроль доступу]]&lt;br /&gt;
* [[FIDO2]]&lt;br /&gt;
* [[Passkeys]]&lt;br /&gt;
* [[TOTP]]&lt;br /&gt;
* [[SMS OTP]]&lt;br /&gt;
* [[API Security]]&lt;br /&gt;
* [[Журнал аудиту]]&lt;br /&gt;
* [[Incident Response]]&lt;br /&gt;
&lt;br /&gt;
=== 14.3.; Перевірка TOTP-коду ===&lt;br /&gt;
2FA — це мінімальний рівень захисту ERP від викрадених паролів.; №&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!; | Вхід дозволено тільки після другого фактора.; платформа перевіряє challenge.; Статус&lt;br /&gt;
&lt;br /&gt;
[[Категорія:K2 ERP]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* фінансові документи;&lt;br /&gt;
* рахунки;&lt;br /&gt;
* банківські виписки;&lt;br /&gt;
* платежі;&lt;br /&gt;
* зарплати;&lt;br /&gt;
* кадрові інформаційні дані;&lt;br /&gt;
* податкові документи;&lt;br /&gt;
* договори;&lt;br /&gt;
* клієнти;&lt;br /&gt;
* постачальники;&lt;br /&gt;
* ціни;&lt;br /&gt;
* знижки;&lt;br /&gt;
* залишки;&lt;br /&gt;
* виробничі рецептури;&lt;br /&gt;
* управлінська формування звітів;&lt;br /&gt;
* інтеграції з банками.; ERP — це центр керування компанією.; |}&lt;br /&gt;
&lt;br /&gt;
 challenge = two_factor_challenge_repository.get_by_id(db, challenge_id)&lt;br /&gt;
&lt;br /&gt;
=== 9.2.; Рекомендовані правила ===&lt;br /&gt;
=== 14.1.; Перевірка необхідності 2FA ===&lt;br /&gt;
=== 7.2. Email-2FA ===&lt;br /&gt;
!;&amp;lt;div style=&amp;quot;border-left: 8px solid #f57c00; background: #fff3e0; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* TOTP;&lt;br /&gt;
* SMS як резервний або перехідний варіант;&lt;br /&gt;
* FIDO2 / passkeys для критичних ролей;&lt;br /&gt;
* recovery codes;&lt;br /&gt;
* device trust;&lt;br /&gt;
* risk-based challenge;&lt;br /&gt;
* журнал 2FA;&lt;br /&gt;
* dashboard 2FA.; |-&lt;br /&gt;
| AC-2&lt;br /&gt;
| користувач системи входить із 2FA.; |-&lt;br /&gt;
| Щось, що користувач системи має&lt;br /&gt;
| Телефон, додаток Authenticator, security key, passkey&lt;br /&gt;
| Другий фактор.; Вводить логін і пароль.; |}&lt;br /&gt;
&lt;br /&gt;
1.;&amp;lt;pre&amp;gt;&lt;br /&gt;
!; return True&lt;br /&gt;
 &amp;quot;method_type&amp;quot;: method_type,&lt;br /&gt;
!; |-&lt;br /&gt;
| Зміна ролей користувача&lt;br /&gt;
| Ризик несанкціонованого доступу.; користувач системи вводить логін і пароль.; if user.role in [&amp;quot;ADMIN&amp;quot;, &amp;quot;CHIEF_ACCOUNTANT&amp;quot;, &amp;quot;CFO&amp;quot;, &amp;quot;HR_PAYROLL&amp;quot;]:&lt;br /&gt;
 data={&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Правило для K2 ERP:&amp;#039;&amp;#039;&amp;#039; SMS можна використовувати тільки як перехідний або резервний варіант.; Поле&lt;br /&gt;
Якщо пароль бухгалтера забезпечується через &amp;#039;&amp;#039;&amp;#039;Критично істотно:&amp;#039;&amp;#039;&amp;#039; пароль сам по собі не є собою достатнім захистом; додатково реалізовано адміністратора, фінансового директора або менеджера буде викрадено, зловмисник має змогу отримати доступ до фінансів, зарплат, договорів, клієнтів, складу, цін, банківських реквізитів і управлінської звітності.; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
!; Приклад&lt;br /&gt;
 },&lt;br /&gt;
!; | style=&amp;quot;background:#ef9a9a;&amp;quot; | Критично&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ef9a9a;&amp;quot; | центральний бухгалтер&lt;br /&gt;
| Має доступ до фінансів, податків, зарплат.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для віддаленого доступу&lt;br /&gt;
| Вхід поза офісом тільки з 2FA.; Чому 2FA обов’язкова&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-12&lt;br /&gt;
| Recovery виконано.; | Вхід заблоковано або примусово вимагається 2FA.; | style=&amp;quot;background:#c8e6c9;&amp;quot; | 2FA + журнал.; Якщо потрібна — створює 2FA challenge.; | платформа вимагає повторну 2FA.; №&lt;br /&gt;
== 9.; Політика 2FA для K2 ERP ==&lt;br /&gt;
 challenge = two_factor_challenge_repository.create(&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
2.; Коментар&lt;br /&gt;
&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-9&lt;br /&gt;
| Адміністратор змінює роль користувача.; | Пароль + TOTP-код.; {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* визначити обов’язкові ролі;&lt;br /&gt;
* визначити дозволені методи;&lt;br /&gt;
* заборонити слабкі методи для критичних ролей;&lt;br /&gt;
* визначити recovery-процедуру;&lt;br /&gt;
* визначити step-up 2FA для критичних дій.; !; характеристика&lt;br /&gt;
|-&lt;br /&gt;
| AC-14&lt;br /&gt;
| Адміністратор відкриває 2FA dashboard.; return user.two_factor_required&lt;br /&gt;
!; Показник&lt;br /&gt;
7.; Тільки після другого фактора користувач системи входить у K2 ERP.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffcc80;&amp;quot; | Користувачі з експортом даних&lt;br /&gt;
| Можуть вивантажити клієнтів, ціни, договори, залишки.; | Challenge стає FAILED, спроба логуються.; |-&lt;br /&gt;
| ip_address&lt;br /&gt;
| varchar&lt;br /&gt;
| IP.; |-&lt;br /&gt;
| status&lt;br /&gt;
| varchar&lt;br /&gt;
| PENDING, PASSED, FAILED, EXPIRED.; |-&lt;br /&gt;
| AC-4&lt;br /&gt;
| Challenge прострочений.; Очікуваний результат&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-left: 8px solid #2e7d32; background: #e8f5e9; padding: 14px 18px; margin: 16px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Критично істотно:&amp;#039;&amp;#039;&amp;#039; recovery не повинен бути слабшим за саму 2FA.; Рівень безпеки&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; Приклад&lt;br /&gt;
!; Рівень&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &amp;quot;ip_address&amp;quot;: context.get(&amp;quot;ip_address&amp;quot;),&lt;br /&gt;
!; | style=&amp;quot;background:#c8e6c9;&amp;quot; | Обов&amp;#039;язково&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 payload={&lt;br /&gt;
&lt;br /&gt;
* вимагати 2FA для всіх користувачів;&lt;br /&gt;
* не дозволяти SMS для адміністраторів;&lt;br /&gt;
* не дозволяти email-код для фінансових ролей;&lt;br /&gt;
* вимагати FIDO2 / passkey для super admin;&lt;br /&gt;
* вимагати повторну 2FA для критичних дій;&lt;br /&gt;
* блокувати користувача після багатьох невдалих 2FA;&lt;br /&gt;
* логувати всі 2FA-події;&lt;br /&gt;
* показувати dashboard покриття 2FA.; Очікуваний результат&lt;br /&gt;
&lt;br /&gt;
=== 11.1. two_factor_methods ===&lt;br /&gt;
&lt;br /&gt;
== 10. Recovery 2FA ==&lt;br /&gt;
!; |-&lt;br /&gt;
| AC-16&lt;br /&gt;
| є собою користувач системи тільки з SMS.; {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 6.; Рекомендація для K2 ERP ==&lt;br /&gt;
&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
* резервні коди;&lt;br /&gt;
* резервний метод 2FA;&lt;br /&gt;
* заявку на відновлення доступу;&lt;br /&gt;
* перевірку особи;&lt;br /&gt;
* погодження адміністратором;&lt;br /&gt;
* журнал recovery-події;&lt;br /&gt;
* тимчасовий доступ з коротким TTL;&lt;br /&gt;
* обов’язкове повторне конфігурація 2FA після recovery.; характеристика&lt;br /&gt;
&lt;br /&gt;
 user_id=user_id,&lt;br /&gt;
&lt;br /&gt;
користувач системи має змогу втратити телефон, додаток або security key.; |-&lt;br /&gt;
| AC-3&lt;br /&gt;
| користувач системи вводить неправильний код.; |}&lt;br /&gt;
&lt;br /&gt;
!; | Він бачить покриття 2FA по ролях.; |-&lt;br /&gt;
| TOTP&lt;br /&gt;
| Google Authenticator, Microsoft Authenticator, 1Password, Bitwarden&lt;br /&gt;
| style=&amp;quot;background:#fff9c4;&amp;quot; | Добрий&lt;br /&gt;
| Код генерується в додатку і змінюється кожні 30 секунд.; | style=&amp;quot;background:#ffcc80;&amp;quot; | Високий&lt;br /&gt;
|-&lt;br /&gt;
| Залежність від оператора&lt;br /&gt;
| користувач системи має змогу не отримати код.; Рівень&lt;br /&gt;
&lt;br /&gt;
!; Термін&lt;br /&gt;
!; У K2 ERP або іншій ERP можуть бути:&lt;br /&gt;
=== 12.1.; KPI адміністратора ===&lt;br /&gt;
!; {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
1.; Ризик&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| uuid&lt;br /&gt;
| ID події.; |-&lt;br /&gt;
| Passkeys&lt;br /&gt;
| Ключ доступу на пристрої&lt;br /&gt;
| style=&amp;quot;background:#c8e6c9;&amp;quot; | Дуже сильний&lt;br /&gt;
| Сучасний варіант без класичного пароля.; Стан&lt;br /&gt;
!; користувач системи&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 if request_context.is_remote_access:&lt;br /&gt;
=== 16.1.; Базова 2FA ===&lt;br /&gt;
&lt;br /&gt;
[[Категорія:Інформаційна безпека]]&lt;br /&gt;
!; |}&lt;br /&gt;
&lt;br /&gt;
== 7.; Ризики слабкої 2FA ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 if request_context.is_new_device:&lt;br /&gt;
!; |-&lt;br /&gt;
| user_agent&lt;br /&gt;
| text&lt;br /&gt;
| Пристрій.; Чому потрібна повторна 2FA&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;істотно:&amp;#039;&amp;#039;&amp;#039; 2FA — це мінімальний рівень захисту.;=== Етап 3.; Технічна реалізація ===&lt;br /&gt;
 &amp;quot;challenge_type&amp;quot;: context.get(&amp;quot;challenge_type&amp;quot;, &amp;quot;LOGIN&amp;quot;),&lt;br /&gt;
 return True&lt;br /&gt;
 &amp;quot;method_type&amp;quot;: method_type,&lt;br /&gt;
 return False&lt;br /&gt;
== 5.; Методи 2FA ==&lt;br /&gt;
!; Критерій&lt;br /&gt;
|-&lt;br /&gt;
| 2FA для адміністраторів&lt;br /&gt;
| Без 2FA адміністратор не має змогу увійти.; Поле&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
!; {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
=== 16.3. Step-up 2FA ===&lt;br /&gt;
!; Ризик&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 event_type=&amp;quot;2FA_CHALLENGE_CREATED&amp;quot;,&lt;/div&gt;</summary>
		<author><name>R</name></author>
	</entry>
</feed>