G|Translate: English EN Deutsch DE Italiano IT Русский RU Español ES Українська UK

Двухфакторная аутентификация WordPress

5/5 - (1 голос)

Включаем двухфакторную аутентификацию WordPress – т.е. логин + пароль для входа + еще дополнительный код/пароль.

Двухфакторная аутентификация WordPress

Защита паролем сервера Апач

Общая структура папки Вашего сайта на WordPress (на сервере хостинга) следующая

Двухфакторная аутентификация WordPress

Сайт сайт запускается файлом index.php в корневой папке.
Административная панель запускается файлом index.php в папке wp-admin

Существует два варианта входа в систему управления сайтом:

  • через браузер в административную панель
    вход или site.ru/wp-admin (тут расположена сама панель управления) или site.ru/wp-login.php (проверка логина/пароля)
  • через мобильное приложение (Android / iOS), см. ниже – указываем логин/пароль и сайт (уже без “хвостика” /wp-admin)

Двухфакторная аутентификация WordPress

после проверки логина/пароля в файле wp-login.php происходит переход к файлу xmlrpc.php, вид самой мобильной панели управления зависит от используемого приложения.

ВАЖНО: часть плагинов использует модули, которые хранятся в папке wp-admin. Если закрыть всю папку паролем сервера – то часть плагинов перестанут работать = можно закрыть паролем только index.php в папке wp-admin

Т.е. делаем защиту вот так:

  • сам модуль проверки пароля site.ru/wp-login.php страхуем плагином WordPress (ограничение количества попыток входа)
  • индексный файл в админке site.ru/wp-admin/index.php закрываем паролем сервера
  • файл для работы с мобильным приложением site.ru/xmlrpc.php закрываем паролем сервера

 

Итого у нас будет два файла .htaccess

– один в корневой папке (настройки WP оригинальные, защита от выдачи логина, защита файла site.ru/xmlrpc.php)

<Files xmlrpc.php>
AuthType Basic
AuthName “That’s protected Area!”
AuthUserFile /home/uXXXX/.htpasswd
require valid-user
</Files>

– второй в админке, в папке wp-admin (защита файла site.ru/wp-admin/index.php)

DirectoryIndex index.php
#принудительно вызвать индекс
#потом пароль на этот файл
<Files index.php>
AuthType Basic
AuthName "That's protected Area!"
AuthUserFile /var/www/XXXX/data/www/.htpasswd
require valid-user
</Files>

Место расположения файла .htpasswd (логин/пароль сервера) должно быть указано по полному пути сервера!


Важно:

Если Вы установили пароль на файл index.php в папке /wp-admin, то при обращении из адресной строки именно к папке (по пути domen.ru/wp-admin)  ничего работать не будет :(

Вот такая конструкция со стандартным входом в админку http://site.ru/wp-admin будет давать ошибку авторизации (на самой папке пароля нет, пароль на файле index.php, куда по умолчанию обращается сервер)

Unauthorized

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn’t understand how to supply the credentials required.

Не авторизовано

Этот сервер не может проверить, что вы авторизованы для доступа к запрошенному документу. Либо вы указали неверные учетные данные (например, неверный пароль), либо ваш браузер не понимает, как предоставить необходимые учетные данные.

Вот-вот. Браузер не понимает. Вот тут проблема.

Конструкция полностью с указанием защищенного файла http://site.ru/wp-admin/index.php будет работать – но набирать неудобно.

Если у Вас установлен плагин переадресации WordPress – то делаем проще, с удобного несуществующего адреса (какой Вам хочется) на этот файл, например:

http://site.ru/admin <- http://site.ru/wp-admin/index.php

или еще короче

http://site.ru/a <- http://site.ru/wp-admin/index.php

Бинго! Теперь набираем короткий вариант в адресной строке и всё удобно работает.

Двухфакторная аутентификация через приложение на смартофоне (или e-mail)

Будем использовать Google Authenticator

Нам потребуется:

  • приложение на смарте Google Authenticator
  • плагин WordPress, который поддерживает Google Authenticator

 

С приложением всё просто – заходим на play market (для Android например), скачиваем, устанавливаем, запускаем

Двухфакторная аутентификация WordPress

начинаем

Двухфакторная аутентификация WordPress

в итоге:

  • приложение попросит создать аккаунт (на основе QR кода или ключа – которые Вы получите от плагина)
  • в этом аккаунте будет генерироваться одноразовый код для входа на сайт

 

С плагином WP немного сложнее (как ни странно), нам надо от плагина:

  • поддержка собственно Google Authenticator
  • возможность указать, для каких категорий использовать двойную аутентификацию (администратор, автор, редактор и прочее) – есть не у всех плагинов, часть плагинов включает всем пользователям по умолчанию 
  • обязательность двухфакторной аутентификации – смешно, но у части плагинов это только в платной версии, в бесплатной только демонстрация возможности….
  • часть плагинов представляют из себя сложные комбайны, готовые просканировать Ваш сайт на безопасность и подключить кучу ненужных Вам функций
  • дополнительный код должен запрашиваться до входа в административную панель (часть плагинов запрашивают код УЖЕ в административной панели с заблокированными пунктами меню)

 

Будем использовать плагин Two Factor

Двухфакторная аутентификация WordPress

Настройки плагина находятся в разделе “Пользователи”

Двухфакторная аутентификация WordPress

Каждый пользователь может сам себе выбирать, что использовать (это конечно не совсем хорошо – только администратор должен принимать решение)

Двухфакторная аутентификация WordPress

Регистрируем аккаунт в Google Authenticator (через QR или код) – и при входе в аккаунт будет приходить одноразовый код.

Можно также использовать вариант через e-mail, при каждом входе будет появляться дополнительный запрос на одноразовый код (код придет на почту аккаунта)

Двухфакторная аутентификация WordPress

Симпатично (и почту форма не показывает при запросе проверочного кода).

 

Подпишитесь в VKontakte - нажмите кнопку
Подпишитесь в Telegram - нажмите кнопку
Наша группа ODNOKLASSNIKI

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла




Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)

В Вашем браузере должна быть настроена обработка ссылок mailto

site_post@bk.ru

или просто скопируйте адрес e-mail



Почитать в разделе

Защита WP

CMS WordPress является достаточно популярной платформой для ведения блогов и создания сайтов. Это же автоматически подразумевает большое количество желающих использовать Ваш сайт для своих целей: перехват и перепродажа трафика (т.е. пользователь пришел на Ваш сайт и редиректом ушел на целевой сайт хакера) размещение рекламных ссылок создание бота на Вашем сервере/сайте (будет использоваться как минимум для подбора паролей на чужих сайтах) отправка спама (да, у WordPress есть свой почтовый сервер) добавление к Вашему сайту рекламных страниц (достаточно дописать в базу MySql) Самое обидное - что сайт живет после взлома не более 6 мес. Поисковые роботы находят всё это...
(Читать полностью...)

  • Всего статей в разделе: 12
  • Показано статей в списке: 11
  • Сортировка: название по алфавиту

Бан хакеров по IP для WordPress

Нехороших хакеров можно и нужно банить по IP - т.е. не пускаем пакеты с отдельных IP в обработку. Но есть ряд проблем: часть IP (с которых идет атака) принадлежат не хакерам, а вполне обычным пользователям, которые наловили вирусов на свой ПК (и теперь он работает на другого хозяина) с учетом ежедневной смены IP провайдером у большей части обычных пользователей - через сутки конкретный IP станет не опасным есть упрямые хакеры, которые работают с постоянного IP еще есть "умники", которые пытаются запустить разные php-скрипты в адресной строке браузера (в основном получают, конечно, код 404) есть принципиально разные блокировки IP на уровне CMS WordPress на уровне...
(Читать полностью...)

Блокируем ботов-подборщиков через fail2ban

80% всех атак ботов на WordPress идут на вход в административную панель. Наша задача - такие IP отправить в бан. Используем плагин WP fail2ban. Плагин делает важную  вещь — он выводит в лог /var/log/auth.log (это один из системных логов Linux) каждую попытку авторизации на сайте (настройками можно изменить). Т.е. не создается дополнительный лог-файл - а идет запись в один общий системный лог Linux. Это удобно, если у Вас несколько сайтов на VPS, всё ошибки входа по всем сайтам будут записываться в один общий файл. И не нужно дополнительно под каждый сайт настраивать WP fail2ban:) ВАЖНО: можно вообще "спрятать" админку от злых ботов Меняем адрес административной панели...
(Читать полностью...)

Варианты основных хакерских атак на Ваш сайт

Зачем защищать небольшой сайт? "У меня маленький сайт-блог, зачем мне его защищать и от кого?" Немного печальной статистики. Скажем так, сейчас в 50% на Вашем сайте пасутся боты, а не живые люди.  Вот классический пример работы ботнета - с разных IP (зараженные ПК пользователей) идет подбор пароля к логину Administrator - аккуратно, с интервалом в 5-10 минут. Успехов тебе,  железяка :) Всё, что видит ботнет со своей стороны - после однократного ввода логина/пароля форма входа исчезает...  Как видно на картинке выше - атака перебором идет с разных IP (разные заражённые ПК), которые через небольшой интервал времени меняются. Т.е. необходимо запоминать (с помощью плагина) IP,...
(Читать полностью...)

Закрываем папки и файлы WordPress с помощью Apache

Используем web-сервер Apache для блокировки доступа извне ВАЖНО: всё нижеперечисленное будет работать, если Вы конечно, используете сервер Apache. Если Вы используете связку NginX и  PHP-FPM (сервера Apache тут нет!) все эти инструкции работать не будут! Сервер Apache не участвует в обработке запросов! Закроем файл wp-login.php Мы можем спрятать вход в административную панель. И ввод логина/пароля не будет уже использовать напрямую файл wp-login.php. Но сам файл wp-login.php конечно продолжает существовать и работать, просто теперь WordPress при его запросе показывает ошибку 404. Но как мы помним, ботнетов много - и они по прежнему будут загружать Ваш сервер PHP на обработку...
(Читать полностью...)

Защита базы данных сайта MySql

База данных на сервере хостинга - основное место, где хранятся "детальки" (текстовые данные в основном) от Вашего сайта. Если туда что-либо записать лишнего - то движок WordPress это и покажет = и это уже будет не Ваш сайт :( Зачем нужна вообще какая-то база для сайта? Читаем статью База MySql Прямая атака на базу MySql По умолчанию, при установке WordPress создает в базе таблицы с префиксом wp_. Злоумышленники об этом знают. Необходимо либо при установке выбрать другой префикс вида mysite_ (WordPress спросит при установке, не более 6-ти латинских букв), либо поменять его у готового сайта. Зачем это нужно? Ну вот пример - мы при установке указали другой префикс вида xxx_...
(Читать полностью...)

Защита текста и картинок от копирования

Как защитить свой блог (картинки и текст) от копирования? В общем случае - никак :(  Всё, что Вы видите в своем браузере - оно уже есть на Вашем компьютере. Но можно сильно усложнить сам процесс копирования для любителей copy-paste. Итак, основные направления: запрет выделения текста мышью и дальнейшее copy-paste запрет хотлингов (т.е. показывать картинки с Вашего сайта на другом домене) защита картинок через "водяной знак" (он же Watermark) запрет парсинга страницы сайта с другого домена   Запрет выделения текста мышью (запрет копирования) Казалось бы самый простой вариант - заблокировать правую кнопку мыши. Но это не есть хорошо. Часть посетителей...
(Читать полностью...)

Как сбросить пароль администратора WordPress

Потеряли пароль от админики WordPress? Что делать? Не всё так плохо :) Используем средство восстановления пароля WordPress При входе Вводим свой email Получаем на свою почту служебную ссылку, заходим, меняем пароль. Всё стандартно. Используем нашу базу MySql для смены пароля Да, в ней хранится информация о пользователях, их паролях и прочая полезная информация. Для прямого подключения к базе используем phpMyAdmin (параметры входа у Вас должны быть от Вашего хостера). Вот база данных и таблица wp_users Хакеры, не мучайтесь, все критичные данные замазаны, Administrator - это ник, а не логин :) Пароль пользователя в базе хранится в зашифрованном виде. Делаем Sql-запрос...
(Читать полностью...)

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

При отображении записи WordPress выводит автора поста. Как отключить вывод автора поста/записи? Если ничего не  делать - то любой желающий сможет увидеть логин входа в систему и ему останется только подбирать пароль. И да -  WordPress в стандартной установке еще и подтверждает правильность логина. И вот тут нас поджидает проблема. Вывод автора поста делает не сам движок WP - это зависит от применяемой темы. В каких-то темах автор выводится, в каких-то темах автор не выводится, в каких-то настраивается. Есть специальный плагин - но он работает не на всех темах (именно по этой причине, что в разных темах сделано иногда по разному). Итак, что мы можем сделать. Плагин Show/Hide...
(Читать полностью...)

Как скрыть логин пользователя WordPress

Посмотрим статистику. Для начала устанавливаем плагин Activity Log (логгирование действий пользователей), активируем И видим следующие картину Кто все эти люди и откуда они знают мой логин? Это не люди мучают клавиатуру с ручным подбором паролей, это боты (зараженные компьютеры). Точнее даже не компьютеры, а устройства типа микроволновки и холодильника. Сейчас везде производители ставят процессоры и выход в интернет, на таких устройствах практически нет никакой защиты, их взламывают и они вливаются в ряды ботов. Еще есть «банды умных лампочек» – smart-лампы с управлением со смартафона через Wi-Fi. Тоже хорошо взламываются и начинают работать на чужих дядей. WordPress достаточно...
(Читать полностью...)

Переводим сайт WordPress на https

Будем переводить сайт на защищенный протокол HTTPS ВАЖНО: Это именно зашифрованная передача данных от сервера до конечного посетителя, а не показатель безопасности сайта! Сайт может быть взломан, сайт сам по себе может быть сделан мошенниками и прочее - и при этом сайт будет работать по защищенному протоколу https и иметь "зеленый замочек". Поэтому сейчас зеленый цвет замочка остался только в Opera, остальные браузеры показывают его серым цветом. Переводим на HTTPS Читаем основную статью Как включить HTTPS на сайте? Для работы HTTPS нам нужно несколько базовых вещей: нужно получить сертификат SSL (браузер как-то должен проверить валидность ключа для...
(Читать полностью...)

Плагины для архивирования и переноса сайта

Лучшая безопасность для сайта - это делать backup сайта. И регулярно. Даже если враги всё сломали (а там почти 3000 файлов PHP в движке) - всё удаляем из папки WWW на сервере (именно ВСЁ - включая файлы движка WordPress) и восстанавливаем из бэкапа как было. Что такое архивация сайтов? Backup сайта это копирование баз данных, файлов сайта, почты, FTP-аккаунтов и множества других "деталек" на Вашем хостинге. Сайт у нас состоит собственно из нескольких частей: набор файлов (файлы PHP движка и картинки) база данных MySQL, в которой хранится текстовая часть сайта, меню и все взаимосвязи между модулями Не обязательно, кстати,  именно PHP - для разработки сайта может быть...
(Читать полностью...)