Несколько советов по защите своего блога на CMS WordPress

Установка WordPress. Настройка WordPress. Обновление WordPress. Шаблоны WordPress.

Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 05 окт 2014, 18:32

Логотип WP.png
Логотип WordPress

Доброго времени суток, уважаемые участники форума.

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

Часть 1.

Совет 1.
Всегда своевременно обновляйте версию как самой CMS, так и установленных плагинов (о самых необходимых мы поговорим позже), ненужные отключайте и удаляйте. Внимательно относитесь к сторонним плагинам (они могут содержать вредоносные коды), так же сторонитесь "левых" шаблонов для своего блога. Без практических знаний PHP/HTML будет довольно сложно определить в тоннах кода "опасные" скрипты. Будьте бдительны!

Совет 2.
Установите на свой блог плагин WP Database Backup - название говорит само за себя (подробную установку и настройку я освящу в отдельной теме на живом примере своего блога). Основное преимущество данного плагина в том, что Вы можете настроить ежедневное (!) автоматическое резервное копирование своей базы данных и ее отправку на указанный Вами электронный ящик. Удобно, и никаких заморочек.

WP Database Backup.png
Установка плагина WP Database Backup

Совет 3.
Не лишним будет запретить регистрацию пользователей на блоге, потому как в случае наличия бреши в CMS, "пользователь" может завладеть правами администратора, если у Вас уже имеется масса таковых, не несущих никакой пользы ресурсу пользователей - удаляйте их. С таковой задачей на ура справляется плагин - WangGuard

Как отключить регистрацию пользователей? Панель администратора -> Настройки -> Общие -> Снимаем "галочку" с пункта "Членство" - Любой может зарегистрироваться (см. скрин).

Запрет регистрации пользователей.png
Запрет регистрации пользователей на блоге

Если же регистрация пользователей необходима (по ряду причин) - воспользуйтесь плагином Theme My Login - дело в том, что данный плагин позволяет проводить регистрацию участников блога в обход уязвимого WP-login.php, коим и могут воспользоваться злоумышленники (про детальную настройку самого плагина поговорим в отдельной теме на живом примере).

Продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение leaves » 06 окт 2014, 17:40

Очень полезная тема, с интересом жду продолжения..)
По перечисленным пунктам:
1. А точно не будет проблем и глюков после обновления версии движка? Особенно, если в кодах уже много чего исправлено. Потому как на этот счет мнения разные есть. Понятно, что можно сделать бэкап и попробовать, но все же..
2. Делаю бэкапы базы данных и самого сайта примерно раз в месяц. А чаще (раз в неделю) делаю экспорт всего контента в формате xml (стандартная функция вордпресс).
3. Отключил давно..
Но наверное это самый стандартный набор защитных мер. А что-нибудь бы более углубленное..)
Управление личными финансами: Финансовый гений - сайт о личных финансах.
Аватар пользователя
leaves
VIP Club
 
Сообщений: 860
Зарегистрирован: 30 дек 2011, 10:08

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 05:30

Спасибо leaves за проявленный интерес, продолжение будет сегодня - самое вкусное припас как раз таки на десерт :)

Поясню:
1. На мой взгляд, в плане обновления версии WordPress как раз таки более лоялен, нежели некоторые иные CMS (та же Joomla или форумный pHpBB например, хотя со вторым у меня проблем не возникло, несмотря на массу правок, кроме разве что подвала, а вот с Joomla все намного сложнее оказалось)... Верно, первым делом все же нужно сделать полные резервные копии, так же не лишним будет вести учет всех своих изменяемых файлов, можно вплоть до строк. В любом случае, почему мнения и разнятся, все зависит от характера, степени и "глубины" правок - какие-то являются критическими, и при обновлении могут "обнулиться", какие-то менее. Мне повезло. Переходы и обновления выполняются безболезненно. Смотреть, экспериментировать - иначе никак не поймешь...
2. Думаю по мере разрастания блога и временной интервал будет сокращаться, вплоть до ежедневного, а то и ежечасного :) Желаю развиться до больших размеров и мощной посещалки, у Вас замечательный ресурс.
3. И правильно сделали.

Готовлю очередную подборку советов ;)
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 09:27

Тем временем продолжаю :)

Часть 2.

Совет 4.
Без этого совета никуда. Ставьте сложные (20-25 знаков) пароли не только к хостинг-провайдеру, но и на базу данных, а так же на панель администратора WordPress. Буквы в верхнем и нижнем регистре, символы, цифры, например (Не берите пароль из примера!):
Код: выделить все
$#FNfr3*42Gre7@F84r@YU!

Такие пароли будет значительно сложнее сломать. Но если тут все понятно, то следующий совет будет безусловно интереснее.

Совет 5.
Меняйте стандартный логин администратора (по-умолчанию "admin") на иной. Стандартными средствами панели администрирования это сделать невозможно. Поэтому делаем следующим образом. Идем в phpMyAdmin вашего хостинг-провайдера:

Вход в phpMyAdmin.png
phpMyAdmin вашего хостинг-провайдера

Далее выбираем нужную нам базу, и переходим в wp_users -> Изменить (Значок карандаша как правило)

:!: Пока пишу сей пост, сообразил, почему у меня скрипты на удаление комментариев вываливались в ошибку.
Об этом в одном из следующих советов.


Меняем логин администратора.png
Меняйте стандартный логин администратора

Меняем значение на какое-либо иное в отмеченных на скрине местах (параметры: user_login, user_nicename, display_name - последнее по желанию, можно задать иное отображаемое имя), так же тут можно сменить пароль (параметр user_pass) - для этого необходимо удалить имеющиеся иероглифы, коими зашифровывается ваш текущий пароль, и вписать свой, не забывайте - 20-25 символов, так же обязательно в выпадающем списке выберете значение "MD5" (относится ТОЛЬКО к паролю, его смене точнее), электронную почту (параметр user_email). Нажимаем ОК.

Смена пароля.png
Выбираем значение "MD5" в выпадающем списке при смене пароля


Продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 09:52

Часть 3.

Совет 6.
Для предотвращения многократных попыток проникновения в панель администратора злоумышленниками путем подбора логина и пароля воспользуйтесь полезными плагинами - Limit Login Attempts или Login LockDown - практически идентичные по набору функционала они выполняют одну и ту же миссию, а именно: блокируют доступ после определенного количества неудачных попыток ввода логина/пароля для входа в админку блога на заранее установленное вами время. Количество попыток (как правило не больше трех допустимых) меняется в настройках, ровно как и само время блокировки (рекомендую минимум на 15 минут).

Совет 7.
Так же рекомендую поставить еще один не менее важный плагин для блокировки XSS-атак (Сross Site Sсriрting - "межсайтовый cкриптинг") Anti-XSS attack. Данный плагин, как плагин выше считаю обязательными к установке (В будущем планирую сформировать список самых необходимых плагинов для WordPress на данном форуме).

Совет 8.
В корневой папке вашего блога не лишним будет удалить файлы license.txt и readme.html - сие файлы хранят в себе потенциально опасную информацию (включая версию WordPress и не только), на работу блога они не влияют, вам от них толку нет, а злоумышленникам прочитать их не составляет труда.

Совет 9.
Проверяйте периодически свой блог, и вообще свои ресурсы на вирусы.
Рекомендую следующие он-лайн сервисы проверки:
taghosting.ru/online_services/antivirus
antivirus-alarm.ru/proverka

Он-лайн проверка сайта на вирусы.png
Он-лайн проверка сайта на вирусы

Это еще далеко не все, продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 12:06

Часть 4.

Совет 10.
Без глубоких знаний в PHP/HTML, без 100%-ой уверенности в надежности источника, используйте только официальные плагины с официального сайта WordPress (wordpress.org) или напрямую, с панели администратора, поскольку не официальный, сторонний, не надежный, сомнительный, не проверенный плагин может быть потенциальным источником заражения вашего блога.

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

Совет 12.
В файле header.php темы вашего блога желательно удалить строку, отображающую версию WordPress:
Код: выделить все
<meta name="generator" content="WordPress 3.9.1" />

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

Продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 12:59

Часть 5.

Совет 14.
Есть такая разновидность спама, как trackback- и pingback-спам. Это довольно обширная проблема для CMS WordPress, и трэкбеки и пингбэки желательно сразу отключать в настройках после установки блога, читай - до начала публикации записей (иначе вас вероятней всего забросают тысячами спам-откликов), для этого делаем следующее: идем в Панель администратора -> Настройки -> Обсуждение и снимаем "галочку" с пункта "Разрешить получение от других блогов уведомлений (пинги и трэкбеки)"

Отключаем уведомления от других блогов.png
Отключаем уведомления от других блогов
(пинги и трэкбеки)

Таким образом мы предохранились от trackback- и pingback-спама для новых записей, но что делать с уже имеющимися, если таковые есть и заполонены спамными откликами ("уведомлениями") и продолжат им заполняться и впредь? Для решения этой задачи необходимо выполнить SQL-запрос через phpMyAdmin вашего хостинг-провайдера (не забывайте делать резервные копии перед любыми манипуляциями с базой данных).

SQL-запрос отключения trackback’и и pingback’и для всех записей:
Код: выделить все
UPDATE wp_posts SET ping_status=’closed’ WHERE post_status = ‘publish’ AND post_type = ‘post’;

SQL-запрос отключения trackback’и и pingback’и для всех "страниц":
Код: выделить все
UPDATE wp_posts SET ping_status=’closed’ WHERE post_status = ‘publish’ AND post_type = ‘page’;

:idea: Внимание! Если префикс таблиц у вас отличается от стандартного (по умолчанию "wp_"), то в запросе следует изменить соответственно на ваш.

Что делать с уже опубликованными откликами trackback и pingback?
Их может быть как 1.000, так 15.000 штук... Тут вам понадобятся железные нервы, стальная выдержка, холодная голова, прямые руки, сдержанность, сосредоточенность, везение и литр водки :D

На самом деле, все не так плохо, идем в свою базу данных (по средствам phpMyAdmin), находим таблицу wp_comments (не забываем, что если меняли префикс - ВАШПРЕФИКС_comments). Данная таблица содержит все комментарии, в т.ч. и спам-отклики. Чистить придется вручную, с применением фильтров по следующему алгоритму (смотрим в колонках):
- comment_author_url - заполнены битком;
- comment_author - пусто;
- comment_author_email - откровенный хлам (читай ящик из набора кракозябров, явно не существующий);

То копируем e-mail и переходим к раздел Поиск, где в строке поиска и вставляем скопированный "электронный ящик", отмечаем таблицу wp_comments, отмечаем пункт "точное соответствие" и жмем ОК. Суть в том, что с одного такого "ящика" может быть по 50-300 откликов. Мы удаляем все разом, нехитрым методом, чем каждый раз вручную смотрим один и тот же e-mail. Это заметно ускорит процесс. Вычистили одного, переходим к следующему, и так до победного.

:!: Что представляет собой trackback- и pingback-спам? Как правило, к имеющимся записям вашего блога, с применением вредоносных скриптов или специализированного ("хакерского") программного обеспечения публикуется уведомление, и вероятней всего далеко не одно, о том, что на вас якобы сослались с другого источника (блога), но конечно же это не так, как раз эти самые уведомления и содержат необходимые злоумышленникам ссылки на сомнительные ресурсы.

Продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение WebEcom » 07 окт 2014, 13:19

Часть 6.
Чем дальше в лес - тем больше дров, в очередной раз убеждаюсь, сколько же брешей и недоработок в WordPress.

Совет 15.
По разным причинам (сбой хостинг-провайдера, сбой БД) блог, при обращении к нему, может выдать стартовую (первоначальную) страничку установки (с нуля), а это не есть хорошо, потому как практически любой "желающий" может поставить его, завладев практически как информацией, так и панелью администратора (ведь далеко не факт, что вы будете в курсе "падения" ресурса). Во избежание этого, после установки блога (или сейчас, если не сделали этого раньше), в папке вашего блога /wp-admin удалите или переименуйте файл install.php. Не забывайте, что при обновлении версии CMS, данный файлик появится вновь ;) А вы как хотели? Что бы все просто было? Обновились - будьте добры, почистить "хвостики".

Совет 16.
Theme Authenticity Checker (TAC) (wordpress.org/plugins/tac) - плагин, необходимый для проверки, выявления вредоносного и сомнительного кода в шаблонах (темах) - строго рекомендуем к использованию, особенно с "левыми" шаблонами. После установки плагин можно найти: Панель администратора -> Дизайн. Плагин проверит не только активный (по умолчанию) шаблон, но и все остальные.

Плагин TAC в действии.jpg
Плагин TAC в действии


Продолжение следует...
Аватар пользователя
WebEcom
Маэстро слова
 
Сообщений: 592
Зарегистрирован: 06 дек 2009, 18:29
Откуда: Новосибирск

Re: Несколько советов по защите своего блога на CMS WordPress

Новое сообщение pessimist » 07 мар 2016, 14:49

Доброе время суток, уважаемый WebEcom.

Написанное Вами по этой теме до сих пор не утратило актуальность. От своего имени и имени тех, кому оно пригодилось, хочется поблагодарить Вас за подробное руководство по обеспечению безопасности сайта под управлением CMS Wordpress.

WebEcom писал(а):Без глубоких знаний в PHP/HTML, без 100%-ой уверенности в надежности источника, используйте только официальные плагины с официального сайта WordPress (wordpress.org) или напрямую, с панели администратора

Золотые слова, я бы даже вообще исключил оговорку про знания PHP/HTML. Ведь плагины могут содержать объемный код, который может полностью быть изменен при установке обновлений плагина, а следовательно он, практически не поддается контролю.

Недавно я открыл тему на этом форуме Создание сайта с нуля на Вордпресс был бы очень рад Вашим комментариям в теме, как более искушенного и опытного вебмастера.
Аватар пользователя
pessimist
Авторитетный оратор
 
Сообщений: 404
Зарегистрирован: 18 фев 2012, 11:34
Откуда: Санкт-Петербург


Вернуться в Сайтостроение на CMS WordPress

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1