Політика паролів

1. Загальний опис

Цей розділ описує еволюцію в підходах до політики паролів у сфері кібербезпеки. Традиційно, визначені стандарти, такі як PCI DSS (Стандарт безпеки даних індустрії платіжних карток) та ISO/IEC 27001 (Міжнародний стандарт управління інформаційною безпекою), акцентували на необхідності використання складних паролів. Ці паролі включали комбінації великих і малих літер, цифр та спеціальних символів для підвищення захисту від несанкціонованого доступу.

Однак, з часом організації, такі як NIST та OWASP, почали віддавати перевагу підходам, які зосереджуються на довжині та унікальності паролів, зменшуючи акцент на використанні спецсимволів та чисел. Це призвело до змін у стандартизованих практиках парольної безпеки, роблячи їх більш орієнтованими на зручність запам’ятовування паролів та зменшення ризику створення слабких або легко вгадуваних паролів.

Наведені нижче налаштування є рекомендаціями, а не обов’язковими вимогами.

2. Базова політика

Цей розділ висвітлює класичний підхід до складності паролів.

  1. Відкрийте адміністративну консоль Keycloak.

  2. Оберіть openshift realm для налаштування парольної політики.

  3. У меню зліва виберіть розділ Authentication.

  4. Перейдіть до вкладки Password Policy.

  5. Додайте нову політику через кнопку Add policy.

  6. Виберіть Regular Expression, встановіть потрібне значення та збережіть зміни.

    ^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$)[a-zA-Z0-9@#$%^&+=]{10,}$
    1. Мінімум 10 символів.

    2. Принаймні одна мала літера.

    3. Принаймні одна велика літера.

    4. Мінімум одна цифра.

    5. Принаймні один спеціальний символ (@, #, $, %, ^, &, +, =).

    6. Лише латинські літери.

    7. Без пробілів.

Кроки налаштування базової політики
Зображення 1. Кроки налаштування базової політики

Політика "Not Recently Used"

Додаткова політика Not Recently Used забороняє встановлення 5 останніх використаних паролів.

  1. Увійдіть до адміністративної консолі Keycloak.

  2. Оберіть реалм.

  3. Виберіть розділ Authentication у меню зліва.

  4. Перейдіть до Password Policy.

  5. Оберіть Add policy та встановіть політику Not Recently Used.

    not recently used

3. Просунута політика

Ця секція розглядає просунуту політику паролів, що базується на впровадженні рекомендацій OWASP ASVS 2.1 Password Security та NIST Special Publication 800-63: Digital Identity Guidelines. Основна увага тут приділяється створенню паролів, які були б не тільки безпечними, але й інтуїтивно зрозумілими та легкими для запам’ятовування.

Ключові аспекти цієї політики включають:
  1. Використання довгих паролів, які забезпечують кращий захист.

  2. Дозвіл на включення пробілів у паролях, що робить їх більш читабельними.

  3. Впровадження символів Unicode, які розширюють можливості для створення складніших та унікальних паролів.

  4. Використання чорного списку (blacklist) поширених паролів, який запобігає вибору надто очевидних або часто використовуваних паролів, які можуть бути вразливими до онлайн-атак.

    Функція blacklist загальних паролів доступна починаючи з версії 1.9.8. Ця функція значно підвищує рівень безпеки, запобігаючи використанню слабких та загальновідомих паролів, які часто стають мішенню для хакерів.

Кроки налаштування

  1. Відкрийте адміністративну консоль Keycloak та увійдіть за допомогою облікових даних адміністратора.

  2. Виберіть openshift realm, для якого буде налаштована політика паролів.

  3. У меню зліва виберіть розділ Authentication.

  4. Перейдіть до вкладки Password Policy.

  5. Натисніть Add policy, щоб додати нову політику.

  6. Виберіть Minimum Length та встановіть значення 12.

  7. Виберіть Password Blacklist та встановіть значення blacklist.txt.

  8. Збережіть зміни.

  • Мінімальна довжина пароля: Встановлено обов’язкову мінімальну довжину пароля в 12 символів, що забезпечує підвищену безпеку.

  • Максимальна довжина пароля: Keycloak підтримує створення паролів до 64 символів або більше, дозволяючи формувати складніші комбінації.

  • Використання пробілів у паролях: Платформа Keycloak дозволяє включення пробілів у паролях, не видаляючи їх автоматично, що додає гнучкості у формуванні паролів.

  • Підтримка символів Unicode: Використання різноманітних символів Unicode дозволено в паролях, розширюючи можливості для їхнього унікального створення.

  • Відсутність жорстких обмежень на склад пароля: Не рекомендується створювати політику паролів, що обмежує використання певних типів символів, для забезпечення гнучкості та безпеки.

Кроки налаштування просунутої політики
Зображення 2. Кроки налаштування просунутої політики

4. Примусова зміна паролів користувачів

Keycloak не пропонує вбудованого рішення для масової зміни паролів, але є два способи здійснення цього:

  • через Required User Actions в адміністративному інтерфейсі KeyCloak;

  • автоматизовано, за допомогою скрипту через Keycloak REST API.

4.1. Ручні кроки

  1. Відкрийте адміністративну консоль Keycloak та увійдіть за допомогою своїх облікових даних адміністратора.

  2. У верхньому лівому куті виберіть потрібний реалм, де ви хочете примусово змінити паролі користувачам.

  3. У лівому меню перейдіть до розділу Users.

  4. Відкрийте список користувачів у реалмі та клікніть на ім’я користувача, щоб відкрити його налаштування.

  5. На вкладці Details, у полі Required User Actions виберіть Update Password.

  6. Збережіть зміни.

Кроки налаштування примусової зміни паролів користувачів в ручну
Зображення 3. Кроки налаштування примусової зміни паролів користувачів вручну
Такі дії потрібно виконати для кожного користувача окремо. Якщо кількість користувачів велика, це може бути доволі кропітким процесом.

4.2. Автоматизація процесу зміни паролів

У випадку, коли необхідно управляти великою кількістю користувацьких акаунтів, ви можете скористатися можливостями Keycloak REST API для автоматизації процесу встановлення дії Update Password (оновлення пароля) для кожного користувача.

Для цього потрібно розробити спеціалізований скрипт, який послідовно пройде через всі облікові записи користувачів у вибраному реалмі та застосує потрібну дію. Це значно спрощує та прискорює процес зміни паролів, особливо при великій кількості користувачів, і мінімізує необхідність вручну змінювати налаштування для кожного облікового запису окремо.