Примечание к выпуску: добавлено шифрование для двухфакторных кодов в iThemes Security Pro

Опубликовано: 2022-10-21

В последнем выпуске iThemes Security Pro мы добавили шифрование для защиты кодов двухфакторной аутентификации (2FA), используемых для многофакторной аутентификации при входе в систему. Чтобы убедиться, что ваш сайт использует эту новую функцию, обновите iThemes Security Pro до версии 7.2.2 на панели инструментов плагина wp-admin.

Как и в случае с любой новой функцией, мы уверены, что должны возникнуть вопросы о новой функции и о том, почему мы ее добавили. В этом посте мы подробно расскажем, какие изменения мы внесли, почему мы решили добавить дополнительные функции безопасности к двухфакторной аутентификации, а также некоторые мысли о текущем состоянии безопасности входа в WordPress в целом.

Шифрование

Что влечет за собой это изменение в хранении кода двухфакторной аутентификации?

iThemes Security поддерживает три типа методов двухфакторной аутентификации: мобильные приложения, электронная почта и резервные коды. Каждый из них работает немного по-разному.

Когда вы используете двухфакторную аутентификацию по электронной почте, iThemes Security генерирует случайный восьмизначный код и отправляет его вам по электронной почте. Мы сохраняем так называемый «хэш» этого случайного кода в базе данных WordPress. Хэш позволяет нам проверить, дали ли вы нам тот же восьмизначный код, который мы сохранили в базе данных.

Однако iThemes Security не может «декодировать» хэш обратно в исходный восьмизначный случайный код. Вот почему, если вы попросите iThemes Security «Повторно отправить» электронное письмо 2FA, мы сгенерируем новый случайный код вместо того, чтобы повторно отправить вам тот же код 2FA, который мы отправили в первом письме.

Это похоже на то, как WordPress может проверить правильность вашего пароля. Но если вы забудете свой пароль, вам придется создать новый, WordPress не сможет отправить вам ваш текущий пароль.

Мобильный двухфакторный отличается. Новый код появляется в вашем мобильном приложении каждые 30 секунд. Означает ли это, что iThemes Security сохраняет каждый новый код в базе данных? Нет, вместо этого iThemes Security использует понятие «общий секрет».

Когда вы настраиваете Mobile Two-Factor в iThemes Security, мы показываем вам QR-код, который содержит секретный ключ, уникальный для вашей учетной записи. Сканирование QR-кода в приложении Two-Factor копирует секретный ключ на ваш телефон.

Когда вы входите в систему с помощью мобильного приложения, iThemes Security и ваш телефон генерируют шестизначный код на основе «общего секретного ключа». Если коды совпадают, вы в игре!

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

Подавляющее большинство плагинов и сервисов двухфакторной аутентификации для WordPress хранят двухфакторные секретные ключи в базе данных WordPress, и iThemes Security ничем не отличается. Эти коды должны быть сохранены, чтобы, когда пользователь вводит свои коды 2FA из своего приложения для аутентификации на своем телефоне или устройстве, подключаемый модуль безопасности мог сопоставить эти коды для аутентификации пользователя, пытающегося войти в систему.

Хранение этих кодов в базе данных было наиболее безопасным способом сделать это, поскольку любая информация, хранящаяся в базе данных, может быть доступна только пользователю базы данных и его паролю. Эти учетные данные хранятся в вашем файле WordPress wp-config.php, и это позволяет вашему сайту WordPress получать доступ к информации в этой базе данных.

Хотя есть несколько служб, которые используют подход на основе файловой системы для кодов 2FA, iThemes Security и большинство других основных служб двухфакторной аутентификации выбрали более безопасный метод хранения базы данных.

Для дополнительной безопасности мы добавили шифрование к этим кодам, хранящимся в базе данных WordPress сайта. В случае, если база данных каким-либо образом скомпрометирована другой уязвимостью, это добавленное шифрование добавляет еще один уровень безопасности для защиты сайта WordPress от любого количества атак на основе входа в систему, которые могут сочетаться с другими уязвимостями.

Почему мы решили добавить эту функцию

Если веб-сайт WordPress надежно защищен, вероятность раскрытия кодов двухфакторной аутентификации невелика. Однако в случае наличия уязвимости уровня обслуживания хостинг-провайдера, когда доступ к базе данных скомпрометирован, или если в плагине или теме активно используется уязвимость нулевого дня, незашифрованные коды двухфакторной аутентификации могут использоваться в сочетании с другой уязвимостью. .

В iThemes безопасность веб-сайтов WordPress наших клиентов имеет решающее значение для нашего бизнеса. Таким образом, когда наше внимание привлекает даже крайний случай уязвимости, наша первая реакция и приоритет — безопасность этих сайтов.

Наша цель — сделать ваш сайт WordPress безопасным на каждом этапе, чтобы любой аспект вашего сайта, от файлов и базы данных до процедур входа в систему, был защищен от злоумышленников. Эффективная защита от атак требует, чтобы все аспекты WordPress были надлежащим образом защищены.

Что такое двухфакторная аутентификация?

Двухфакторная аутентификация (2FA) — это тип многофакторной аутентификации (MFA), который повышает безопасность доступа, требуя двух методов проверки для аутентификации вашей личности в системе, в данном случае на сайте WordPress. Эти факторы могут включать в себя что-то, что вам известно, например ваше имя пользователя или адрес электронной почты и ваш пароль, а также что-то, что у вас есть, например, доступ к вашему устройству с помощью приложения для аутентификации, чтобы аутентифицировать вас или определить, кто вы есть. Приложения для аутентификации, такие как Google Authenticator, генерируют одноразовый пароль на основе времени, который меняется каждую минуту.

Паролей недостаточно

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

Именно из-за таких проблем новаторы, такие как iThemes Security, добавили ключи доступа для действительно беспарольных входов в систему, используя биометрическую аутентификацию и криптографию с закрытым / открытым ключом, чтобы создать более сложные протоколы аутентификации для защиты критически важных систем. Пароли взломаны, поэтому iThemes Security Pro стал первым плагином безопасности WordPress, позволяющим проводить аутентификацию без пароля с помощью ключей доступа.

С ключами доступа хранение кодов двухфакторной аутентификации не является проблемой, поскольку криптография с закрытым / открытым ключом делает устаревшими как пароли, так и 2FA.

Если ваш веб-сайт WordPress действительно имеет решающее значение для вашего бизнеса или организации, использование iThemes Security продемонстрирует вашу приверженность защите этого актива. Убедитесь, что вы предлагаете беспрепятственный вход в систему без пароля и зашифрованные возможности двухфакторной аутентификации, чтобы продемонстрировать заинтересованным сторонам приверженность вашей организации внедрению веб-сайтов с учетом требований безопасности.

Если вы еще не используете iThemes Security Pro, вы можете получить Pro-версию лучшего доступного плагина безопасности WordPress, купив его по ссылке ниже.

Спасибо Кельвину Алкану за ответственное раскрытие проблемы .