База данных на сервере хостинга – основное место, где хранятся “детальки” (текстовые данные в основном) от Вашего сайта. Если туда что-либо записать лишнего – то движок WordPress это и покажет = и это уже будет не Ваш сайт :(
Зачем нужна вообще какая-то база для сайта? Читаем статью
Прямая атака на базу MySql
По умолчанию, при установке WordPress создает в базе таблицы с префиксом wp_. Злоумышленники об этом знают. Необходимо либо при установке выбрать другой префикс вида mysite_ (WordPress спросит при установке, не более 6-ти латинских букв), либо поменять его у готового сайта.
Зачем это нужно? Ну вот пример – мы при установке указали другой префикс вида xxx_ (вместо wp_), сайт нормально работает. И вот заходим в phpMyAdmin и видим следующий ужас
Мы видим таблицы вида xxx_, где хранится наш сайт, а также какие-то левые таблицы с префиксами wp_ и даже joomla_.
Что это, откуда это?
А это боты напихали в наш сайт свои хакерские страницы. Вытащили пароль от базы. Так как боты автоматические – они тупо добавляют таблиц со стандартными префиксами, и от WopdPress и от Joomla.
Если бы мы префикс не сменили на xxx_, то движок от WordPress стал бы использовать чужие таблицы с префиксом wp_и на сайте появились бы чужие страницы.
У готового сайта префикс таблиц в базе можно сменить с помощью плагина Brozzme DB PREFIX
ВАЖНО: перед сменой префикса в базе MySql на уже работающем сайте обязательно сделайте себе копию (файлы движка, картинки, база) на локальный ПК. Это позволит восстановить сайт при возможном сбое.
Устанавливаем плагин, активируем.
До запуска плагина необходимо дать разрешение на запись в файл wp-config.php, указать на хостинге CHMOD 755 или 777.
Базовые права (после установки) у файла wp-config.php – 660 (читать ниже), скан с клиента FTP на сервере.
С правами 660 никакие внешние пользователи ничего не могут.
Права CHMOD 755 или 777 означают следующее (да, можно командами Lunix, но проще галочками через FTP/Свойства)
Потом вводим свой вариант для префикса (поле New Prefix) и запускаем плагин. После сделанных изменений убираем разрешение на запись для файла wp-config.php (или перемещаем на уровень вверх – см. ниже) и удаляем этот плагин, т.к. он свою задачу уже выполнил.
Взлом файла конфигурации wp-config.php, получение доступа к базе MySql и перехват управлением сайта
В данном файле хранится логин/пароль (в открытом виде) для базы MySql и другая полезная служебная информация. Сам файл находится в корневой директории Вашего сайта.
Внутри файла все наши тайны – название базы MySql, юзер, пароль к базе, префикс, “соль” для файлов куки – все в открытом виде.
По умолчанию при установке стоит запрет на просмотр этого файла из браузера, т.е. вариант вида
www.mysite.ru/wp-config.php не откроет данный файл.
На лучше подстраховаться – мы можем совсем спрятать этот файл. Для CMS WordPress есть простой способ – перетащить его на один уровень вверх.
Его можно перенести из папки www (на сервере хостинга) на уровень выше. Сам движок WP его там найдет (сайт продолжит работу как и раньше), но из браузера на этот уровень зайти невозможно – HTTP server отдает браузеру только данные из папки www
Подпишитесь в 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
Включаем двухфакторную аутентификацию WordPress - т.е. логин + пароль для входа + еще дополнительный код/пароль. Защита паролем сервера Апач Общая структура папки Вашего сайта на WordPress (на сервере хостинга) следующая Сайт сайт запускается файлом index.php в корневой папке. Административная панель запускается файлом index.php в папке wp-admin Существует два варианта входа в систему управления сайтом: через браузер в административную панель вход или site.ru/wp-admin (тут расположена сама панель управления) или site.ru/wp-login.php (проверка логина/пароля) через мобильное приложение (Android / iOS), см. ниже - указываем логин/пароль и сайт (уже без "хвостика"...(Читать полностью...)
Закрываем папки и файлы WordPress с помощью Apache
Используем web-сервер Apache для блокировки доступа извне ВАЖНО: всё нижеперечисленное будет работать, если Вы конечно, используете сервер Apache. Если Вы используете связку NginX и PHP-FPM (сервера Apache тут нет!) все эти инструкции работать не будут! Сервер Apache не участвует в обработке запросов! Закроем файл wp-login.php Мы можем спрятать вход в административную панель. И ввод логина/пароля не будет уже использовать напрямую файл wp-login.php. Но сам файл wp-login.php конечно продолжает существовать и работать, просто теперь WordPress при его запросе показывает ошибку 404. Но как мы помним, ботнетов много - и они по прежнему будут загружать Ваш сервер PHP на обработку...(Читать полностью...)
Защита текста и картинок от копирования
Как защитить свой блог (картинки и текст) от копирования? В общем случае - никак :( Всё, что Вы видите в своем браузере - оно уже есть на Вашем компьютере. Но можно сильно усложнить сам процесс копирования для любителей 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 - для разработки сайта может быть...(Читать полностью...)