Вопрос или проблема
В WordPress мы используем WP SAML AUTH, чтобы предложить нашим пользователям опцию SSO, позволяющую использовать их учетные данные Microsoft для входа в WP. Этот плагин также позволяет пользователям входить в систему, используя стандартную форму входа WP, если они этого хотят. Когда включен Wordfence 2FA, и пользователь входит в систему через SSO (WP SAML AUTH), перенаправление обратно в WP после аутентификации прерывается, и пользователь возвращается на страницу входа с ошибкой, требующей ввода 2FA-кода.
Есть ли какой-либо способ успешно реализовать опцию входа через SSO при включенной Wordfence 2FA? Если да, то как?
Ответ или решение
В условиях современных требований к информационной безопасности важность использования аутентификации с двумя факторами (2FA) не вызывает сомнений. Однако, в случае интеграции нескольких технологий аутентификации, таких как SSO (Single Sign-On) и 2FA, возникают сложности, которые требуют внимательного подхода.
Теория
Прежде всего, разберем ключевые концепции аутентификации. SSO технология позволяет пользователям получить доступ к нескольким приложениям, вводя свои учетные данные только один раз. Это повышает удобство использования, поскольку пользователю не нужно каждый раз вводить логин и пароль при смене приложений.
С другой стороны, 2FA добавляет дополнительный уровень безопасности. Вместо того чтобы полагаться только на пароль, система требует от пользователя второго этапа проверки, например, через смартфон или токен.
Конфликт между Wordfence 2FA и WP SAML AUTH возникает из-за того, что после успешной аутентификации через SSO, Wordfence все равно требует второй фактор, возвращая пользователя на страницу логина. Это происходит потому, что Wordfence призван защитить администраторскую зону от несанкционированных входов и требует дополнительных проверок безопасности.
Пример
Рассмотрим практический пример. Предположим, у компании есть внутренний портал на WordPress, доступ к которому возможен как через стандартный логин, так и через SSO с использованием учетных данных Microsoft. Это позволяет сотрудникам легко заходить на сайт, используя свои корпоративные учетные записи.
Однако, когда пользователи пытаются войти через SSO, включенный Wordfence 2FA требует от них ввести код подтверждения. Получается, что несмотря на успешное прохождение SSO, пользователи застревают на этапе 2FA, что препятствует эффективной работе.
Применение
Чтобы добиться гармоничного сочетания SSO и Wordfence 2FA в WordPress, необходимо проделать определенную работу по настройке и интеграции.
-
Настройка исключений: Один из способов решения проблемы состоит в настройке исключений для запросов, поступающих от SAML. Можно настроить Wordfence так, чтобы он не запрашивал 2FA для пользователей, входящих через SSO. Для этого потребуется кастомизация плагина или использование хука для переписывания логики аутентификации.
-
Модификация плагина: Если первый вариант сложности и нет готовых решений, можно модифицировать WP SAML AUTH или Wordfence. Важно сначала ознакомиться с документацией, чтобы выяснить, какие фильтры или экшены доступны для кастомизации процесса. Например, можно вручную проверять возвращаемый атрибут SAML, чтобы подтверждать успешное прохождение 2FA.
-
Интеграция дополнительного REST API: В некоторых случаях будет полезным внедрение собственных API методов для проверки двухфакторной аутентификации в рамках SSO. Это позволит более точно управлять процессом и исключить лишние запросы.
Важно тщательно тестировать любую сделанную модификацию. Каждое изменение может иметь непредсказуемые последствия для интеграции и безопасности. Поэтому рекомендуется применять изменения через тестовый сервер и привлекать специалистов при необходимости.
Таким образом, с точки зрения бизнеса и пользователей, необходимо добиться баланса между удобством входа и безопасностью. Это не только упростит жизнь сотрудникам, но и защитит данные компании от потенциальных угроз.