В Оружейной веб-мастера" читают о том, как создать сайт или блог на Wordpress, как раскрутить сайт или блог самостоятельно, а также о том, как заработать на своём сайте и получать пассивный доход в Интернет.

10 шагов к безопасности блога

безопасность-блога-мин


Всем привет!

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

Не буду долго лить воду о том, как важно ВОВРЕМЯ (т.е. прямо сейчас) позаботиться о сохранности своего творения. Если кто-то еще не задумывается об этом, то, поверьте, только до тех пор, пока его не клюнул персонаж известной русской пословицы, а именно жареный петух. J

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

Что угрожает безопасности блога?

Разделим угрозы на несколько видов:

  • Аппаратные сбои
  • Сбои в движке WordPress и установленных плагинах
  • Ошибочные действия администратора блога («ой, а зачем я это удалил??»)
  • Действия злоумышленников
  • Вирусы

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

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

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

Кроме самого хозяина блогу могут навредить и посторонние люди. Или вы думаете, у вас нет врагов? :)

В общем, не претендуя на монографию по защите информации, предлагаю вам сделать 10 небольших шагов к безопасности вашего блога. 10 – не так уж много, но они могут оказаться спасительными. :)

Шаг-1. Бэкап или резервная копия базы данных

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

1) Бэкап базы данных блога

2) Бэкап самого блога, то есть движка WordPress, темы оформления и всего прочего, что лежит на хостинге в виде файлов

Бэкап БД блога на WordPress с помощью плагина WP DB Backuper

Для архивирования базы данных существует масса плагинов, наиболее популярным из которых считается WP DB Backup. Ввести его в дело не сложно:

- устанавливаем обычным способом,

-  в консоли на вкладке «Инструменты» появилось «Резервное копирование». Там ставим галочки напротив всех таблиц, которые хотим архивировать, а также галочки «Исключить ревизии постов» и «Исключить спам-комментарии» (если, конечно, вы не хотите включить и их в резервную копию). Внимание: галочки для архивируемых таблиц не запоминаются. Это галочки для единовременного скачивания резервной копии. Для автоматической архивации свой набор галочек.

- выбираем, как получать архив с копией БД: скачивать вручную, сохранить на сервере или отправить на почту. Хранить на сервере, на мой взгляд, неудобно. А вдруг именно сбой на сервере и будет причиной аварии? Лучше завести себе отдельный почтовый ящик для копий БД. Скачать архив вручную, кстати, можно в любой момент, даже если выбран другой вариант получения автоматически созданной копии.

- выбираем, как часто автоматически архивировать БД. Мне кажется, раз в день – нормально. Набор таблиц, подвергающихся автоматической архивации, можно задать отдельно. Я проставил галочки напротив всех таблиц.

- да и всё. :)

Вот так плагин WP DB Backuper позволяет создать копию базы данных

Резервное копирование БД

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

Восстановление базы данных блога на WordPress

Возникает вопрос: а что потом делать с валяющимся на почте или на жестком диске архивом БД? Как ее восстановить? Очень просто. Для этого нам понадобится программа phpMyAdmin, которую часто можно найти в панели управления хостингом. Если найти phpMyAdmin или что-то подобное не удается, надо спросить у техподдержки хостинга. У SprintHost, например, phpMyAdmin расположен тут:

phpMyAdmin в панели управления SprintHost

Вот тут он скрывается... админ этот...

А в самой программе есть кнопка «Импорт»:

Импорт базы данных в phpMyAdmin

Импортируем БД

Чтобы восстановить БД блога по резервной копии, используйте эту кнопку и присланный плагином (или скачанный вручную) архив. Только не играйте с настройками. Как правило, в этом нет необходимости.

Есть и другой способ восстановления. Откройте файл копии БД в Блокноте, скопируйте весь текст, после чего вставьте в поле для запросов SQl в phpMyAdmin и нажмите ОК:

Импорт базы данных как SQL

А можно и так...

Так просто? А нет ли подвоха? Я только что сделал резервную копию БД своего блога «Оружейная веб-мастера» и восстановил ее. Проверьте, блог все еще открывается? :)

Шаг-2. Резервное копирование файлов на хостинге

Базу данных от разграбления и поругания мы уже спасли. Но это только половина нашего блога. Вторая половина – файлы, лежащие на хостинге. Их тоже надо уберечь от напастей. К счастью, резервное копирование файлов можно выполнить еще проще, чем базы. Просто заходим на свой хостинг с помощью своего любимого FTP-клиента (для меня таковым является FileZilla) и копируем в надежное место на своем винчестере папку public_html:

Резервное копирование файлов блога через FTP

Похищение Европы (т.е. папки public_html)

Вы ведь уже знаете, как пользоваться FTP?

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

Теперь, если вдруг редактируя код движка или стили CSS, вы что-то испортите, всегда можно воспользоваться копией файла, лежащей у вас на компьютере.

Копия БД и копия файлов – это и есть ваш блог. Если у вас есть две эти своевременно сделанные копии, то вы всегда сможете восстановить свое творение, что бы с ним не случилось.

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

Шаг-3. Правильные пароли

В правильном пароле (неважно на блог или на что-то еще) должны быть большие и маленькие буквы, цифры, тире и подчеркивания. 14 символов – достаточная длина. Пример хорошего пароля: q_12_maba8_KOG. Я его только что придумал. :)

Шаг-4. Защита от грубой силы

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

Настройки плагина просты:

Настройки плагина Login LockDown

Должностные инструкции вышибалы незамысловаты...

  • Max Login Retries – сколько попыток дадим вводящему логин и пароль?
  • Retry Time Period Restriction (minutes) – сколько времени до повторной попытки (чтобы она считалась повторной)?
  •  Lockout Length (minutes) – на сколько минут блокируем IP-адрес посетителя после того, как все попытки залогиниться исчерпаны?
  • Lockout Invalid Usernames – защитываем не только неправильный ввод пароля, но и неправильный ввод логина.
  •  Mask Login Errors – маскировать ввод неправильных данных.

Интересно, что плагин выводит под формой входа в консоль администрирования сообщение: всё, мол, под защитой». Если вы не хотите предупреждать об этом, то можно немножко подредактировать код плагина:

Редактируем код плагина Login LockDown

Болтун - находка для врага

Просто оставляем  после echo пустые кавычки. Предупреждения больше нет. Внимание! Перед тем, как ковыряться в коде, потренируйтесь в создании архива файлов блога. :)

Шаг-5. Не забывайте про свой компьютер

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

Шаг-6. У вас новый пользователь!

Отключите регистрацию пользователей на блоге. Так ли уж вам нужны десятки ботов? «Параметры» – «Общие настройки» – снимаем галочку «Любой может зарегистрироваться».

Шаг-7. Не разносите инфекцию!

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

http://2ip.ru/site-virus-scaner/

http://onservis.ru/proverit-sait-na-virusy.html

http://burbon.ru/service/virus.php

http://www.virusnasaite.ru/check.php

http://xseo.in/viruscan

http://antivirus-alarm.ru/proverka/

http://www.taghosting.ru/online_services/antivirus/

Шаг-8. Универсальный солдат

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

Один из таких плагинов – Better WP Security.

Установка этого плагина создаст целую новую вкладку Security в консоли WordPress. Вам досталась русифицированная версия плагина? Поздравляю. :) Мне пришлось поднапрячь свои зачатки английского.

Первым делом при переходе на вкладку плагин предложит вам сделать бэкап БД, после чего попросит разрешения изменять файлы ядра WordPress (разрешить – Allow).  А потом мы получаем целый список параметров безопасности, часть из которых тревожно-красная:

Better WP Security в действии

Затыкаем дыры в безопасности

Ссылки Click here to fix сбоку от параметра безопасности командуют плагину исправить данную проблему. Можно использовать кнопку “Secure My Site from basic attack”, чтобы исправить много проблем разом.

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

  • Удаление со «всеобщего» обозрения: мета-тега Generator, сообщения об ошибке входа, заголовка Windows Live, заголовка RSD, информации о теме, плагинах, обновлениях и т.п.
  • Изменение URL входа в админку
  • Привязка доступа администратора к IP-адресу или диапазону IP-адресов
  • Запрет входа в определенное время (например, ночью)
  • Блокировка пользователей после нескольких неудачных попыток залогиниться
  • Улучшение .htaccess
  • Обнаружение подозрительной активности (атак)
  • Переименование учетной записи admin
  • Изменение префикса таблиц базы данных
  • Обязательное использование SSL для администрирования, если это позволяет сервер
  • Изменение пути к папке  wp-content

Как видите, часть функций этого плагина делает ненужными другие плагины. Например, Better WP Security тоже умеет  автоматически создавать и отсылать на почту бэкап базы данных, так же, как и WP DB Backuper.

Если с настройками разбираться тяжело, то сначала нажмите кнопку “Secure My Site from basic attack”, потом переименуйте пользователя admin (отмечено красным на рисунке) и измените префикс таблиц. Это уже даст некоторый минимум защиты. Только когда будете менять префикс, запишите куда-нибудь префикс случайно сгенерированный для вас плагином.

Смена префикса таблиц плагином Better WP Security

Запишите префикс на бумажке, прочитайте несколько раз написанное, а бумажку сожгите

Шаг-9. Сюрпризы от авторов шаблона оформления

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

Чтобы легко вычислить такие ссылки, ставим плагин TAC, после чего: консоль – «Внешний вид» – TAC. Перед нами список установленных на блоге тем и количество статических ссылок, найденных в каждой. Если щелкнуть на синюю кнопку Details, можно увидеть HTML-код ссылки.

Плагин TAC считает ссылки

Плагин TAC выведет всех на чистую воду

Если вы знаете этот HTML-код, вы можете вырезать ссылку из темы. Только осторожнее, испортить шаблон довольно легко. Сделайте бэкап файлов перед редактированием.

Шаг-10. Спамооборона

Об этом я уже писал, причем немало, в обзоре плагинов для борьбы со спамом. :)

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

P.S.

Не могу не вспомнить здесь мой случай с флешкой. Эта флешка была великолепна. Ее можно было положить под колесо машины. С ней можно было нырять на сто метров. Данные в ней шифровались марсианскими способами, неподвластными хакерам Земли. В общем, это была мегазащищенная флешка на 16 Гбайт. Среди всей ерунды, которой я забил эти Гбайты, была пара десятков документов, совершенно необходимых мне для работы. О создании резервной копии документов я не позаботился, всецело полагаясь на обещания фирмы не скажу какой. Поэтому когда мегафлешка вдруг перестала обнаруживаться компьютером, мне пришлось ради этих 20 файлов выложить около 300 долларов за восстановление ВСЕЙ информации, не особенно нужной мне. Восстановление, к примеру, флешки в 2 Гбайт обошлось бы значительно дешевле. С тех пор я не люблю флешки большого размера и всегда извлекаю флешки правильно. :)

С уважением, Оружейник

Ваша оценка статьи:

Ух ты! А тут еще есть:

Комментариев: 32

  1. Автор:

    Подскажите пожалуйста где найти плагин Универсальный солдат?

    • Оружейник:

      Большущее спасибо, Ольга. :) ) Действительно, я забыл упомянуть самое главное, название плагина. Это плагин Better WP Security. Статью поправил.

  2. Светлана:

    Есть такое высказывание: все блогеры делятся на тех, кто делает бек-апы, и тех, кто УЖЕ делает бек-апы. Наверное слово УЖЕ подразумевает печальный опыт. Я решила не дожидаться, когда он придет, поэтому делаю резервное копирование.

  3. Автор:

    Молодец! Порадовал. Теперь вообще спать не буду. А статья хорошая.

  4. Анатолий:

    Алексей, сколько информации за один раз!
    буду по пунктам спрашивать, ладно?
    1. у меня стоит WordPress Importer.
    раньше делал бекапы очень часто, но потом заметил, что восстановить могу лишь 2 Мб данных… а у меня их намного больше уже.
    вот только не пробовал делать это через спринтхост, как думаешь, через хостинг любой бекап можно импортировать? может мне не придется плагин менять?
    все эксперименты я раньше делал на тестовом домене, но если помнишь, я как-то писал, что полностью его загубил, не могу зайти ни каким образом. и новый тестовый сайт мне не разрешают сделать, говорят, что все возможности исчерпаны.
    не подскажешь как очистить на хостинге этот нерабочий сайт?
    я тогда сделаю новый тестовый и проверю работу бекапов.

    • Анатолий:

      уточню по поводу тестового сайта (вернее это получается поддомен)
      если захожу на хостинг -> управление сайтом -> поддомены сайта -> открывается окошко, где можно поставить галочку напротив этого нерабочего поддомена и можно нажать кнопку “удалить содержимое директорий”
      это можно делать? это не повредит основному сайту?

  5. Анатолий:

    шаги 2 и 3 понятны пока что.
    шаг 4 не понадобится, если установлю универсального солдата, правильно?
    шаг 6 – галочку убрал
    шаг 7 – сайт проверил, все в порядке ттт…
    шаг 8 – вот тут я что-то спасовал… если попадется английская версия, то пиши пропало, я ничего не разберусь)))
    и если попадется русская, то и тут куча вопросов:
    зачем менять вход в админку, менять пути и префиксы? я вообще сам потом смогу на свой же сайт зайти?
    что-то боязно мне… опять-таки нужен тестовый сайт, его хоть не жалко, если конкретно напортачу

  6. Анатолий:

    шаг 9 – у меня этот ТАС стоит давно, только я даже не знал для чего он)))
    теперь знаю, спасибо!
    так вот, зайдя туда, вижу напротив моей темы красную надпись “Зашифрованный код не найден!” – это хорошо?
    помнится я как-то убирал внешние ссылки из футера, уже и не помню…
    может все успешно убрал?
    шаг 10 – тут я с тобой полностью согласен, нужных документов не так и много бывает, лучше хранить на маленькой флешке и иметь резервную копию.

    • Анатолий:

      забыл уточнить по шагу 9
      если нажать синюю кнопочку “подробнее”, то вместо кода вот такая надпись появляется
      Линия 22 “? base64_decode ($ строка);> …”
      что это значит?

  7. Анатолий:

    шаг 5 пропустил!
    не совсем понял, что значит работать как обычный пользователь?
    как это сделать?

    ты уж извини, что столько вопросов на тебя вывалил…

    • Оружейник:

      Да, у тебя получилась целая статья “10 вопросов по безопасности блога”. :) )
      Разбираемся по порядку.
      1) Через хостинг можно восстановить базу из любого файла бэкапа. Главное, чтобы это был текстовый файл с запросами sql внутри (так чаще всего и бывает).
      2) Удалить директории ПОДДОМЕНА можно. Основному сайту на домене annasel.ru не навредит.
      3) Насчет обычного пользователя. Винда спрашивает у тебя пароль администратора, когда ты устанавливаешь программы? Если да, то ты обычный пользователь. Если без пароля ставит, то ты админ.
      4) Менять пути, имя учетной записи и префиксы надо чтобы если кто-то будет ломать твой сайт, всё это отличалось от стандартного вордпрессовского. Так враги не догадаются сразу, куда ломиться. А зайти сам ты сможешь, только по новому адресу с новым именем (не admin).
      5) Насчет TAC и ссылки. Видимо, в строке 22 TAC нашел зашифрованную ссылку. Вот почитай тут, как с ней бороться: http://aimblog.ru/ustanovka/nastrojka-wordpress/kak-raskodirovat-footer-sajta-na-baze-wordpress-i-izbavitsya-ot-skrytyx-i-reklamnyx-ssylok-plagin-tac-chast-pervaya.html
      И тут: http://wp-voprosov.net/zashifrovannyj-kod-kak-zashifrovat-ssylku.html
      Вроде всё… Успехов. :)

      • Анатолий:

        спасибо, Алексей, почитаю!
        винда у меня пароль не спрашивает, значит, я админ…
        прости за глупый вопрос – а как стать неадмином? не сталкивался я с этим…

        • Оружейник:

          Лучше всего сделать неадмином твоего текущего пользователя. Но подробно объяснить не могу, т.к. там будут нюансы, зависящие от версии винды и установленных программ. Лучше будет попросить кого-нибудь из знакомых, кто разбирается. Дело трех минут.
          Если таких знакомых пока на горизонте нет, то просто не работай без антивируса.

          • Анатолий:

            спасибо!
            я без антивирусника не работаю, но знакомых поищу!

            • Татьяна:

              Ребята, дорогие, СПАСИБО!!! :) Познавательнейшее и необходимое продолжение статьи! :) :)
              Толя за меня все вопросы задал, и Алексей уже на них ответил)))
              МОЛОДЦЫ, СПАСИБО!!! :)

  8. Анна:

    Спасибо, Алексей!Столько новой информации! Я уже даже напугалась.Завтра же пойду все делать,( сегодня поздно).

  9. Светлана:

    Как всегда, много полезной информации.У меня, например, когда я себе ставила Плагин Login LockDown, то в один прекрасный момент сама не смогла зайти на свой блог, пришлось обращаться за помощью в службу поддержки хостинга.Они мне восстановили, после этого все повторилось снова.Пришлось все плагины переустанавливать.По-видимому, не все темы поддерживают этот плагин, моя законфликтовала.

  10. Автор:

    Спасибо вам Алексей за такую своевременную статью, так как мой сайт совсем еще молодой и я очень многого не знаю!Сохраню вашу страничку в закладки, думаю она мне еще не раз пригодится! спасибо!

  11. Елена:

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

  12. Автор:

    Здравствуйте! У меня к Вам вопрос. После установки данного плагина мой сайт http://moymir2.ru стал несколько медленнее работать. Но самое неприятное – ОЧЕНЬ увеличился входящий трафик к базе данных. Практически в сотни раз! Как результат, сайт периодически не работает – тормозится на 5 минут. Я пробовал удалить плагин через админку, но тогда терялся доступ к админ-панели сайта.
    Что Вы мне посоветуете?
    Как правильно избавиться от этого плагина?
    Спасибо.

  13. Простой:

    Очень полезные и важные советы.

  14. Автор:

    Надеюсь конечно, что до использования резервного копирования не дойдет дело. Но, на всякий случай, возьму Вашу статью на заметку.

  15. Юлия:

    Здравствуйте, Алексей.После активации плагина Better WP Security у меня на почту стали приходить сообщения о том, что какой-то ай-пи адрес пытался зайти на сайт, но сайт был заблокирован. Скажите, мне эти ай-пи адреса нужно заносить в черный список? Просто я побаиваюся что-то менять в плагине, так как может он станет более уязвимым…

    • Юлия:

      Извините, Алексей.А простые пользователи не могут попасть в немилость к данному плагину, или только должна быть попытка зайти в админ-панель?

    • Оружейник:

      Здравствуйте, Юлия. Добавлять адреса в черный список не надо (скорее всего они постоянно меняются через прокси). Достаточно, что плагин сам блокирует их на время.

      • Юлия:

        Он добавил и мой адрес в блокировку. Я удалила его через fip клиента, но снова не запускает в панель.А может, что вообще добавил меня в бан и не запустит?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Пожалуйста, скопируйте этот пароль:

И вставьте его сюда (антиспам):


  • Оружейник
    on Google+