Перейти к основному содержимому
  1. Posts/
  2. Authentik/

Cloudflare Turnstile в Authentik: настройка защиты формы входа

··564 слов·3 минут· loading · loading · ·
Stilicho2011
Автор
Stilicho2011
Пишу о homelab, self-hosting, автоматизации и open-source решениях
Оглавление
Authentik - This article is part of a series.
Part : This Article

Настройка Cloudflare Turnstile в Authentik
#

Cloudflare Turnstile - это современная альтернатива CAPTCHA, которая позволяет защищать формы аутентификации от ботов и атак перебора, не заставляя пользователей разгадывать картинки или вводить символы.

Note

В случае, если вы нашли данную статью полезной и считаете возможным отблагодарить автора, то это можно сделать по соответствующей ссылке на boosty

Note

Cloudflare Turnstile это аналог технологии Captcha, но для пользователей Cloudflare. Если вам нужно настроить именно Captcha, - более подробно можете ознакомиться с настройкой на странице официальной документации

Note

С 1 июля 2025 года в России вступили в силу изменения в законодательстве о персональных данных (ФЗ №152), согласно которым использование Google reCAPTCHA или их аналогов на сайтах, передающих данные за границу, становится нарушением. Необходимо учитывать это ограничение, если вы собираетесь использовать данный сервис в предпринимательской деятельности.


Зачем использовать Cloudflare Turnstile в Authentik
#

По умолчанию Authentik уже обладает неплохой защитой от:

  • brute-force атак;
  • username enumeration;
  • автоматических попыток входа.

Однако при публикации IdP в интернет этого часто бывает недостаточно.

Cloudflare Turnstile позволяет:

  • отсекать ботов ещё до выполнения flow;
  • снизить нагрузку на Authentik;
  • улучшить пользовательский опыт по сравнению с классическими CAPTCHA;
  • повысить общий уровень безопасности без усложнения логики flows.

То есть кроме тех способов аутентификации и авторизации, которые мы с вами уже настроили в предыдущих статьях, добавляется еще один способ проверки.

Визуально это выглядит как-то так

Экран входа Authentik с виджетом Cloudflare Turnstile

Требования
#

Перед началом убедитесь, что:

  • у вас есть аккаунт в Cloudflare;
  • домен, на котором доступен Authentik, добавлен в Cloudflare.

К сожалению, это обязательные требования для использования этой технологии.


Создание Turnstile в Cloudflare
#

  1. Перейдите в панель Cloudflare.
  2. Откройте раздел Security > Turnstile (Cloudflare периодически переносит пункты меню между разделами - на момент написания статьи это было “Protect & Connect”, сейчас переехало в “Security”. Если снова не найдёте - ищите просто “Turnstile” через поиск в дашборде).
  3. Нажмите Add Widget (в части версий интерфейса кнопка уже называется Add site).
  4. Укажите:
    • Widget name - произвольное имя (например authentik-login);
    • Add Hostname > Domains - домен, на котором работает Authentik;
    • Widget mode - Managed (рекомендуется для дома).
    • Pre-Clearance Mode - Yes
    • Level of pre-clearance - interactive
Note

Последние два пункта меняйте так, как вы считаете нужным, в зависимости от ваших потребностей и паранойи.

Форма создания виджета Turnstile в Cloudflare

После создания вы получите:

  • Site Key
  • Secret Key

Можете их скопировать, но Cloudflare заботливо указывает, что вы всегда сможете повторно получить к ним доступ.

Site Key и Secret Key виджета Turnstile в Cloudflare

Создание Captcha Stage в Authentik
#

Настройка этапа в Authentik
#

Теперь переходим к настройке в Authentik.

  1. Откройте админ-панель Authentik.
  2. Перейдите в Flows and StagesStages.
  3. Нажмите Create.
  4. Выберите Captcha Stage.
Выбор типа этапа Captcha Stage в Authentik
  1. Задайте имя этапу.
  2. В типе проверки выберите Cloudflare Turnstile.
  3. В разделе Public key и Private Key укажите значения, которые мы получили у Cloudflare.
  4. Галку Interactive можно оставить включенной, если Turnstile у вас сконфигурирован как Invisible или Managed.
    Настройка Public key, Private key и Interactive в Captcha Stage

В разделе Advanced Settings ничего не трогаем. В актуальной на дату написания статьи версии Authentik корректные значения уже автоматом прописаны. Раньше нужно было их вставлять руками. Более подробно можно ознакомиться на сайте с официальной документацией

Advanced Settings этапа Captcha Stage в Authentik
  1. Finish

Интеграция этапа Turnstile в основной поток аутентификации и авторизации
#

  1. Откройте админ-панель Authentik.
  2. Перейдите в Flows and StagesFlowsdefault-authentication-flow.
  3. Выберите Stage BindingsBind Existing Stage
  4. Выбираем вновь созданный этап.
  5. Выбираем порядок обработки этапа Turnstile - после этапа аутентификации, но до этапа ввода пароля.
  6. Выберите evaluate when flow is planned.
  7. Create
Привязка этапа Turnstile к default-authentication-flow

Теперь мы интегрировали этап “капчи” при аутентификации в Authentik.

Этап Turnstile в списке Stage Bindings флоу аутентификации
Tip

В панели Turnstile на сайте Cloudflare вы сможете посмотреть аналитику по работе этого виджета

Аналитика виджета Turnstile в панели Cloudflare
Графики аналитики Turnstile в Cloudflare
Authentik - This article is part of a series.
Part : This Article

Related

Authentik: настройка Reputation Policy

··500 слов·3 минут· loading · loading
Пошаговая настройка Reputation Policy и GeoIP в Authentik для ограничения доступа по IP-репутации и странам, с разбором типовых сценариев защиты.

Настройка email-уведомлений в Authentik

··399 слов·2 минут· loading · loading
Пошаговое руководство по настройке email-уведомлений в Authentik: подключение SMTP, включение уведомлений о событиях, настройка шаблонов писем и проверка доставки.