Как защитить сайт двухфакторной аутентификацией

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

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

Определимся с терминологией

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

Что такое авторизация

Когда вы вводите на сайте логин и пароль, то сайт проверяет, действительно ли такой пользователь зарегистрирован на сайте. Если да, то открывает доступ к панели управления. Но вы ли это зашли? Ведь запросто может быть случай, когда вы даете свой админский доступ, например, мне как it-волонтеру. В моей практике это сплошь и рядом. Поэтому авторизация – это проверка введенных данных на соответствие существующим в системе.

Что такое аутентификация

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

Как работает технология и почему она важна для безопасности

Принцип работы довольно прост, по крайней мере, в описании. После ввода логина/пароля вам нужно ввести еще один пароль, который приходит в виде пин-кода в sms, генерации случайного числа в приложении Google Authenticator, подключения usb-ключа. Последний вариант – это по сути флешка, которая генерирует по запросу одноразовые ключи.

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

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

Как настроить плагин

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

Настройка по шагам

У меня есть опыт работы с плагином с незамысловатым названием «Двухфакторная Аутентификация«, на примере которого и покажу, как это работает.

Страница плагина двухфакторной аутентификации в каталоге WordPress
Страница плагина в каталоге WordPress.

После установки и активации плагина в консоли WordPress появляется новый пункт Two Factor Auth. Там и собраны все настройки плагина. Сначала нужно установить приложение Google Authenticator. Скачать его можно как в AppStore, так и в Google Play. Затем отсканировать QR-код через приложение и уже после этого активировать двухфакторную аутентификацию на странице настроек.

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

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

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

По умолчанию все галочки отмечены, но дальше уже на ваше усмотрение. Для администраторов и редакторов рекомендую  галочки оставить, эти две роли имеют больше всего доступа к настройкам сайта. По сравнению с ними остальные не так критичны. Теперь после ввода логина и пароля будет нужно ввести еще и код безопасности, взятый из приложения Google Authenticator.

Скриншот страницы ввода одноразового кода для входа в панель управления сайтом
Новый уровень безопасности для входа в панель управления сайтом.

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

Здесь есть выход, но для этого нужен доступ на хостинг. Предполагается, что он у вас есть. Поэтому если с доступом к файлам сайта все ок, то нужно зайти в папку wp-content -> plugins и в имени плагина two-factor-authentication дописать любой символ в начале или конце, хоть букву «Z». После этого плагин деактивируется, и вы сможете зайти на сайт по логину/паролю, без ввода одноразового кода.

Преимущества

Плагин установлен, настроен, работает. Какие же у технологии преимущества?

  • Повышается уровень безопасности сайта, и это самое главное. Притом что для всей настройки нужно минимум действий.
  • Удобство использования. Телефон практически всегда под рукой, да и сам интерфейс программы состоит всего из одной строки, куда нужно вставить код.
  • Разным ролям пользователей можно задать свои настройки. Администратор будет заходить с кодом, а автор – без.
  • Приложение работает без Интернета, поэтому код вам будет показан в любом случае.

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