Сайт на CMS Joomla 4 состоит из двух частей - лицевой части и административной панели. И на там и там возможна авторизация (вход пользователя). Авторизация предусматривает введения логина и пароля. Но что если ваш логин и пароль стали известны злоумышленнику? Тем более что ИИ кратно упрощает задачу взлома даже надежных паролей. На этот случай и нужна мультифакторная аутентификация.
Аутентификация в Joomla 4 означает проверку подлинности пользователя при входе на сайт. Проверка происходит с помощью ввода временного кода в дополнительной форме, или других данных в зависимости от выбранного способа аутентификации. Способов аутентификации Joomla версии 4.2 и старше предлагает несколько. Поэтому аутентификация называется мультифакторной (MFA).
Также вы могли встречать выражение "Двухфакторная аутентификация (2FA)" в том числе в отношении Joomla 4. Так потому что в Joomla версии ниже 4.2 аутентификация называлась двухфакторной, и соответственно имела отличия. Владельцы сайтов на Joomla версии ниже 4.2 могут обновлять CMS не боясь потерять настройки аутентификации, они перенесутся в настройки MFA автоматически. Однако перед обновлением не забудьте сделать бекап.
Как делать бекап с компонентом Akeeba Backup: 4 простых шага
Способы аутентификации в Joomla 4:
- Код присылаемый на email.
- Код сгенерированный в системах подобных Google Authenticator, Authy, и ряде аналогичных;
- WC3 Web аутентификация через браузер с помощью пароля или биометрических данных (отпечаток пальца, сканирование лица...);
- YubiKey токен (для клиентов компании Yubico);
- Бекап-коды.
Кроме стандартных для Joomla 4 способов аутентификации, есть дополнительные, которые можно настроить с помощью расширений. Например, SMS-уведомления.
Чтобы настроить аутентификацию в Joomla, сначала необходимо включить плагины тех способов проверки подлинности, которые вам будет удобно использовать. Затем активировать эти способы в настройках пользователя.
Этап 1: Активация плагинов аутентификации
Плагины мультифакторной аутентификации практически не содержат никаких настроек. Все что вам нужно сделать - это включить их.
1) Переходим в админпанель (адрес-сайта/administrator - в строке браузера) и выбираем Плагины:
2) В разделе плагинов необходимо найти плагины мультифакторной аутентификации:
1. Для удобства поиска плагинов MFA воспользуйтесь поиском по плагинам, введя "Multi-factor Authentication".
2. Если напротив названия плагина есть иконка-замочек - нажмите на замочек, чтобы разблокировать плагин.
3. Плагин "Multi-factor Authentication - Fixed Code" предназначен для разработчиков, его нельзя включать на живых сайтах. На скрине этот плагин выключен в отличие от остальных плагинов аутентификации. Все остальные плагины которые относятся к MFA вы можете включать.
Настройка плагинов аутентификации
Так как плагины не содержит настроек (кроме Authentication Code by Email), открывать их не обязательно, можно включить/выключить прямо в списке плагинов, нажав на кружок с крестиком/галочкой, что слева, перед названием плагина. Возле включенного плагина будет зеленый кружок.
Multi-factor Authentication - Authentication Code by Email - плагин аутентификации, который как уже понятно из названия будет присылать одноразовый код на email пользователя. Плагин имеет всего пару настроек. Нажмите на название плагина для редактирования.
1. Сделать аутентификацию по Email для всех пользователей обязательной.
В отличие от других плагинов, настройка которых необходима, в том числе и на стороне пользователя, аутентификацию по Email можно сделать обязательной для всех пользователей в самом плагине.
Обязательная для всех аутентификация по Email - это дополнительная опция безопасности на тот случай, если пользователь потерял свой основной аутентификатор. В таком случае пользователь при входе может запросить альтернативный способ аутентификации - через Email, и система отправит код на Email указанный в настройках пользователя.
Достаточно удобная опция для администратора сайта, который имеет десятки и больше пользователей - можно включить email аутентификацию для всех пользователей одной кнопкой.
2. Период времени при котором отправленный код будет действовать. Т.е. через две минуты код становится уже неактивным, и система сгенерирует и отправит новый код. Две минуты являются рекомендованным периодом, но можно изменить период в большую или меньшую сторону.
Плагин можно включить в его же настройках, изменив состояние на "Включено" (кнопка справа). Также не забудьте сохранить изменения кнопками вверху.
В нашем случае настройки плагина (обязательно для всех пользователей, и время действия) остались без изменений, их установленные значения по умолчанию нас устраивают. Мы просто включили плагин.
Этап 2: Активация способов аутентификации в настройках пользователя
Joomla 4 предусматривает гибкую настройку каждого пользователя. Это касается его прав, оповещений, языка, а также аутентификации. Поэтому способы аутентификации необходимо устанавливать в настройках каждого пользователя (даже если пользователь всего один). Ведь кому-то будет удобно получать уведомление на Email, а кому-то код на Google Authenticator.
Переходим в Пользователи > Пользователи, попадаем на страницу всех пользователей. Нажмите на имя конкретного пользователя для редактирования.
Перейдите во вкладку "Многофакторная аутентификация (Multi-factor Authentication)". Чтобы эта вкладка появилась в настройках пользователя необходимо включить хотя бы один из плагинов мультифакторной аутентификации (Этап 1).
На сайте, что на скрине выше, включены все 4 плагина аутентификации, соответственно все они отображены во вкладке "Многофакторная аутентификация" в настройках пользователя. На вашем сайте, в настройках аутентификации пользователя будут отображены только те способы аутентификации, плагины которых вы включили.
Также, автоматически появился еще один способ аутентификации - Резервные коды. Таким образом в Joomla 4.2 (или старших версиях) доступны 5 способов аутентификации. Настройки каждой из них, на стороне пользователя, рассмотрим ниже.
Резервные коды (Backup Codes)
Нажмите на ссылку "Print these codes (Резервные коды)", чтобы перейти в окно бекап-кодов.
Скопируйте и сохраните коды для дальнейшей аутентификации с помощью данного метода. Вы можете применить каждый из этих кодов только один раз!
Чтобы сгенерировать новые коды, нажмите "Regenerate Backup Codes (Обновить)". Регенерировать коды рекомендуется если вы допускаете что кто-то мог их увидеть, или в том случае когда закончились свободные бекап-коды.
Данный способ аутентификации не требует дополнительной активации, бекап коды генерируются автоматически после включения любых плагинов аутентификации. Является скорее дополнительным методом, на случай если нет возможности воспользоваться предпочитаемым способом аутентификации.
Код подтверждения (Verification code)
Данный способ отправляет шестизначный код каждые 30 секунд на ваше приложение.
Приложения которые вы можете использовать: Google Authenticator, Authy, LastPass Authenticator и т. д.
Также вы можете использовать менеджер паролей: 1Password, BitWarden, Keeper, KeePassXC, Strongbox и т. д.
В отдельных случаях возможно использовать браузер (например Safari).
Чтобы активировать, нажмите Add a new Verification code (Добавить новый код проверки):
Необходимо сгенерировать шестизначный код первый раз, чтобы активировать этот метод аутентификации. В зависимости от выбранного вами метода, вы можете выполнить одно из следующих действий, чтобы сгенерировать код:
- использовать ключ (Enter this key),
- отсканировать QR код,
- воспользоваться настройкам браузера.
Ваше приложение, менеджер паролей, или браузер предоставят вам 6-значный код, который вы должны ввести в поле внизу (Enter the six digit verification code). Затем нажмите кнопку Сохранить и закрыть.
Например, воспользуемся приложением Google Authenticator.
Откройте Google Authenticator на вашем смартфоне.
1. В нижнем правом углу нажмите на крестик, выберите сканирование QR-кода и наведите камеру на QR код что на странице настроек.
2. Как только приложение просканирует QR, вы получите шестизначный код. Его время действия обозначено синим кружком справа, и истекает через 30 сек. После чего Google Authenticator формирует новый код.
В дальнейшем, при аутентификации с помощью данного способа вы будете получать 6-значный код аналогичным путем, который необходимо будет вводить в дополнительную форму, после ввода логина и пароля.
YubiKey
Способ аутентификации на основе токенов YubiKey. Данный способ подойдет для клиентов компании Yubico. Со стоимостью услуг компании можно ознакомиться на их сайте https://www.yubico.com/.
Данный способ имеет очень простые настройки. Нажмите кнопку Add a new YubiKey (Добавить YubiKey):
Введите код сгенерированный в YubiKey в поле внизу, и нажмите Сохранить и закрыть.
Веб-аутентификаци (WebAuthn)
Веб аутентификация - безопасный и удобный способ подтверждения без ввода дополнительных кодов.
Для подтверждения входа, необходим аутентификатор - ключ доступа, который располагается на физическом или виртуальном носителе (USB, Bluetooth или NFC). Аутентификатором может быть само устройство (работающее на Android или iOS), которое позволяет совершить вход с помощью отпечатка пальца или сканирования лица.
Для работы веб аутентификации на вашем сайте обязательно нужен протокол HTTPS. WebAuthn работая через HTTPS, использует сильную криптографию с открытым ключом. Это позволяет вашему сайту безопасно передавать данные, подобно тому как передают данные сайты банков и платежных систем.
Настройка
Чтобы настроить веб аутентификацию, необходимо зайти в админпанель с того устройства, которым вы планируете пользоваться. Разные операционные системы будут вести себя по-разному.
Вне зависимости от устройства, путь к настройкам аутентификации остается прежним: переходим в раздел Пользователи, выбираем конкретного пользователя, нажимаем на его имя для редактирования настроек, переходим во вкладку Multi-factor Authentication. Ищем в этой вкладке настройки Web Authentication и нажимаем кнопку "Add a new Web Authentication (Добавить WebAuthn)":
Выше кнопки "Add a new Web Authentication" будут расположены добавленные ранее устройства или ключи, каждый из которых вы можете редактировать или удалить с помощью кнопок справа.
Далее, все что нужно сделать - нажать кнопку "Register your Authenticator (Добавить)", и следовать дальнейшим инструкциям, в зависимости от вашей системы:
Windows запросит вставить USB ключ.
Android и iOS предложат выбрать один из следующих способов:
- отпечаток пальца,
- скан лица,
- разблокировка клавиатуры другим установленным на вашем устройстве способом.
Код подтверждения по почте (Code by Email)
Аутентификация с помощью кода отправляемого на Email пользователя - простой способ, который не требует дополнительных ключей или приложений. Email есть у всех. У пользователя сайта Joomla Email точно есть, так как без ящика не возможно зарегистрировать пользователя. Все что нужно - это подтвердить почту в настройках пользователя, в той же вкладке Multi-factor Authentication:
После того как вы нажмете на кнопку "Add a new Codde by Email (Добавить новый код по почте)", вы перейдите на страницу настройки, а система сразу отправит 6-значный код на Email пользователя. В настройках вам нужно ввести эти шесть цифр в поле внизу, и сохранить изменения (Сохранить и закрыть):
При аутентификации с помощью Email в дальнейшем, вам будут приходить аналогичные сообщения с 6-значным кодом, который необходимо вводить в дополнительное поле, при авторизации.
Мы рассмотрели настройки всех пяти способов аутентификации на стороне пользователя.
Выбор способа аутентификации по умолчанию
Способ аутентификации, выбранный по умолчанию, будет предложен вам в первую очередь при входе в админпанель. Выбирайте самый удобный способ для вас. При желании, при входе вы можете выбрать альтернативный способ аутентификации из настроенных ранее.
На стороне пользователя откройте настройки предпочитаемого метода аутентификации и установите флажок "Make this the default Multi-factor Authentication method (Использовать по умолчанию)", после чего сохраните изменения. Такой флажок есть в настройках каждого метода.
Например, предпочитаемым методом необходимо установить Код на Email. Нажимаем на синюю иконку для редактирования:
Отмечаем "Make this the default Multi-factor Authentication method (Использовать по умолчнию)", нажимаем Сохранить и закрыть:
Аналогичные чек-боксы вы найдете также в настройках других способов аутентификации (кроме Backup Codes, который является дополнительным способом).
Как происходит аутентификация на примере способа Code by Email
Входить можно и на лицевой части сайта, но не всех сайтах настроена авторизация на лицевой части, потому как такой функционал часто оказывается лишним. Поэтому рассматривать будем на примере входа в админпанель.
1. Вы авторизуетесь, как обычно, вводя ваш логин и пароль
2. Появляется форма аутентификации. В нашем случае - это аутентификация с email-кодом, так как мы выбрали Code by Email способом по умолчанию.
В этом поле необходимо ввести 6-тизначный код, который система отправила на email (указанный в настройках пользователя), и нажать "Validate (Подтвердить)". Это все! Вы прошли аутентификацию и допускаетесь в админпанель.
Email-код остается актуальным 2 минуты, поэтому вам нужно успеть ввести код в отведенное время. Если вы ввели код позже, вы увидите сообщение об ошибке; система сгенерирует и отправит новый код.
Также вы можете переключиться на альтернативный метод аутентификации. Для этого нажмите "Select a different method (Выбрать другой метод)". Вам будут доступны те методы, которые вы настроили ранее:
Выберите метод, с помощью которого хотите пройти аутентификацию, и нажмите на его название, следуя дальнейшим инструкциям выбранного метода.
Мультифакторная аутентификация - это простой, но действенный способ повысить безопасность вашего сайта Joomla 4. Настройки не требуют много времени. CMS предусматривает большой выбор способов аутентификации, чтобы вы могли выбрать наиболее удобные методы для вас.