Настройка Cloudflare Turnstile в Authentik
Cloudflare Turnstile — это современная альтернатива CAPTCHA, которая позволяет защищать формы аутентификации от ботов и атак перебора, не заставляя пользователей разгадывать картинки или вводить символы.
NOTEВ случае, если вы нашли данную статью полезной и считаете возможным отблагодарить автора, то это можно сделать по соответствующей ссылке на boosty
NOTECloudflare 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.
То есть кроме тех способов аутентификации и авторизации, которые мы с вами уже настроили в предыдущих статьях, добавляется еще один способ проверки.
Визуально это выглядит как-то так

Требования
Перед началом убедитесь, что:
- у вас есть аккаунт в Cloudflare;
- домен, на котором доступен Authentik, добавлен в Cloudflare.
К сожалению обязательные требования для использования этой технологии.
Создание Turnstile в Cloudflare
- Перейдите в панель Cloudflare.
- Откройте раздел Protect & Connect > Turnstile.
- Нажмите Add Widget.
- Укажите:
- Widget name — произвольное имя (например
authentik-login); - Add Hostname > Domains — домен, на котором работает Authentik;
- Widget mode — Managed (рекомендуется для дома).
- Pre-Clearance Mode - Yes
- Level of pre-clearance - interactive
- Widget name — произвольное имя (например
NOTEПоследние два пункта меняйте так как вы считаете нужным в зависимости от ваших потребностей и паранойи.

После создания вы получите:
- Site Key
- Secret Key
Можете их скопировать, но Cloudlfare заботливо указывает, что вы всегда сможете повторно получить к ним доступ

Создание Captcha Stage в Authentik
Настройка этапа в Authentik
Теперь переходим к настройке в Authentik.
- Откройте админ-панель Authentik.
- Перейдите в Flows and Stages → Stages.
- Нажмите Create.
- Выберите Captcha Stage.

- Задайте имя этапу
- В типе проверки выберите Cloudflare Turnstile.
- В разделе
Public keyиPrivate Keyукажите значения, которые мы получили у Cloudflare. - Галку
Interactiveможно оставить включенной, если Turnstile у вас сконфигурирован какInvisibleилиManaged
В разделе Advanced Settings ничего не трогаем. В актуальной на дату написания статьи версии Authentik корректные значения уже автоматом прописаны. Раньше нужно было их вставлять руками. Более подробно можно ознакомиться на сайте с официальной документацией

- Finish
Интеграция Turnstile этапа в основной поток аутентификации и авторизации
- Откройте админ-панель
Authentik. - Перейдите в Flows and Stages → Flows → default-authentication-flow.
- Выберите Stage Bindings → Bind Existing Stage
- Выбираем вновь созданный этап.
- Выбираем порядок обработки Turnstile этапа после этапа аутентификации, но до этапа ввода пароля.
- Выберите
evaluate when flow is planned. - Create

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

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


Некоторая информация может быть устаревшей



