Статьи

Полное руководство по защите WordPress

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

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



Может быть, вы чувствуете себя в безопасности, потому что ни один из ваших сайтов никогда не был взломан, но, честно говоря, стоит ли риск потерять всю или даже часть вашей работы? Спаммеры хотят загрузить ваш блог комментариями, связанными с онлайн-казино и сайтами для мужчин. Хакеры вредоносных программ хотят внедрить ваш блог с помощью перенаправлений, чтобы перехватить ваш трафик на свой домен. Вы рискуете чем угодно, от тысяч спам-комментариев до «внедрения» каждого PHP-файла на вашем веб-сайте с помощью перенаправления JavaScript на внешний адрес. Действительно неприятный вирус может даже прожевать всю вашу базу данных MySQL и уничтожить весь ваш контент. Если завтра вы потеряете весь свой веб-сайт, сколько лет будет вашей последней резервной копии? Сколько работы вы бы потеряли? Вы даже регулярно делаете резервные копии своего веб-сайта? Если ваш веб-сайт приносит доход, вы можете потерять деньги во время простоя, и ваш рейтинг в поисковых системах может быть скомпрометирован — это приведет к потере трафика и еще большему количеству денег.



Мир полон скептиков, которые не могут поверить, что с ними этого не случится. Позвольте мне объяснить, почему как никогда важно защитить свой сайт на WordPress, потому что буквально армии злодеев онлайн готовы атаковать вас!

Есть определенные вещи, от которых нужно защищаться:

  • Вредоносные программы, трояны и вирусы — о боже! Верьте или нет, ваш сайт или блог может быть взломан вирусом. Обычно вы думаете о вирусе как о чем-то, что атакует ваш персональный компьютер. Существуют вирусы и трояны, которые предназначены для кражи вашего FTP или логина и получения доступа к веб-сайтам. Оказавшись внутри, они могут прожевать ваши PHP-файлы, как мышь, едящая сыр. Эти типы атак обычно происходят с компьютера под управлением Windows.
  • Хакеры, спам-боты и автоматизированное программное обеспечение — когда вы спите, ваш веб-сайт подвергается бомбардировке днем ​​и ночью со стороны интернет-злоумышленников. Некоторые из них от настоящих живых людей, но большинство из них полностью автоматизированы хакерами с помощью ботов и автоматизированного программного обеспечения. Программное обеспечение не спит, и оно предназначено для поиска веб-сайтов, которые потенциально могут быть использованы. Наиболее распространенными целями являются сайты со старыми версиями WordPress или плагинами с известными дырами в безопасности. Эти типы атак происходят на вашем веб-сайте так же часто, как и реальные посетители, и вы даже не знаете, что они происходят, потому что, скорее всего, у вас нет возможности отследить их.
  • Bad Web Hosts — Вы бы специально купили дом в плохом районе, в котором вы не чувствовали себя в безопасности? Когда вы создаете веб-сайт в Интернете, это все равно что строить настоящий кирпичный дом, безопасность вашего нового «веб-дома» зависит от вашего веб-соседства. Что, если отличная сделка в 9,95 доллара в месяц, которую вы заключили на веб-хостинге, означает, что ваш новый блестящий блог теперь припаркован в онлайн-гетто? Ваш сайт безопасен настолько же, насколько и сервер, на котором вы размещены, и вы можете быть более подвержены атакам, если их серверная безопасность не очень хорошая, и в зависимости от их настройки вы можете даже подвергаться риску со стороны сайтов других клиентов, размещенных на хосте. по соседству с вами! Возможно, вы никогда не думали о том, что ваш веб-сайт подвергся нападению со стороны соседних учетных записей или слабой безопасности веб-хостинга до сих пор.
  • Ваш собственный компьютер — хотите верьте, хотите нет, но вы — злейший враг. У вас на 80% больше шансов заразить свой собственный веб-сайт или непреднамеренно передать вам данные для входа в FTP через троян, чем на вас атакуют другие средства. Это происходит главным образом потому, что большинство людей имеют компьютеры под управлением Windows, и значительная их часть заражена каким-либо типом вредоносных программ, вирусов или троянов. Даже если вы самый осторожный человек на земле, другие люди, использующие ваш компьютер (или детей), могут не быть. Возможно, ваша вирусная программа устарела или у вас может быть более старая версия Windows без текущих обновлений.
  • Интернет-безопасность. Даже если вы все продумали для обеспечения безопасности своего компьютера, что хорошего в том, что вы все еще подключаетесь к своему веб-сайту по обычному FTP? Вы используете беспроводной маршрутизатор дома, который не зашифрован? Используете ли вы общедоступные соединения Wi-Fi, проверяете свою электронную почту и используете функции администратора вашего блога? Вы все еще входите в свой блог WordPress без защиты? Все или любой из них может поставить под угрозу ваш сайт.


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

  1. Обновите WordPress и все плагины до последних доступных версий
  2. Изучите свой сайт на наличие потенциальных эксплойтов и брешей в безопасности.
  3. Ограничьте доступ к вашему сайту через разрешения, файл robots.txt и файл .htaccess.
  4. Проверьте безопасность вашего веб-хостинга
  5. Сделайте все имена пользователей, пароли и логины более безопасными
  6. Не поощряйте плохое поведение, разрешая спам-аккаунты или комментарии
  7. Рассмотрите возможность отслеживания попыток атаки на ваш сайт, чтобы быть в курсе потенциальных проблем
  8. Всегда используйте безопасные соединения
  9. Защитите свой файл wp-config
  10. Держите ваш персональный компьютер в актуальном состоянии и защищены

Это руководство объяснит в простых для понимания шагах, как сделать все эти вещи и многое другое. К концу этого урока вы сможете рассказать другим блоггерам о безопасности WordPress и возможных сетевых атаках.



Прежде чем вносить какие-либо изменения, первое, что вам нужно сделать, это сделать резервную копию вашего веб-сайта и базы данных. Если вы этого еще не сделали, сейчас самое время начать! Существуют всевозможные плагины, которые сделают это для вас, но, честно говоря, я не очень большой поклонник этой техники. Главным образом потому, что в какой-то момент времени файл базы данных, вероятно, будет слишком большим для манипуляции с помощью плагина WordPress — особенно если у вас есть активный блог. Плагин WordPress Backup может помочь вам в этом, если вы выберете этот маршрут.

Вручную загрузить все ваши файлы WordPress в каталог на вашем компьютере так же просто, как загрузить тему или плагин. Загрузите все, чтобы у вас была текущая рабочая версия всех файлов WordPress, тем и плагинов. Почти все веб-хосты предоставляют вам веб-панель управления для управления вашим веб-сайтом. Войдите и найдите раздел для управления вашими базами данных. У вас должен быть доступ к веб-инструменту phpMyAdmin, который позволяет вам управлять базой данных через веб-страницу. Найдите этот инструмент, выберите вашу базу данных из выпадающего меню, а затем экспортируйте!

В WordPress Codex есть страница о phpMyAdmin , а также страница о восстановлении базы данных из резервной копии, если это необходимо.



Теперь, когда у вас есть резервные копии всего в текущей версии WordPress, можно безопасно обновить все! Начиная с версии 2.8 WordPress, стало возможно обновить вашу установку WordPress с панели администратора, а также обновленные версии ваших плагинов (по мере их появления). Если вы не до версии 2.7 WordPress, вам нужно будет обновить ее, сначала загрузив последнюю версию с wordpress.org , и загрузив файлы через FTP. Затем вы сможете обновить свои плагины через страницу плагинов панели администратора. Это может быть первым шагом, но одним из самых важных, потому что эксплойты в устаревших версиях WordPress и плагинов — это именно то, что ищут хакеры. Быть в курсе всех событий — ваша лучшая защита от подобных проблем.

На следующих рисунках показано, как просто обновить WordPress и плагины в версии 2.7x и выше, просто щелкнув ссылку, чтобы сделать это вживую в админ панели WordPress.



Релизы WordPress довольно солидные, но когда новые версии становятся доступными, иногда темы и плагины ломаются, пока не будут обновлены. Перед обновлением всегда стоит посмотреть последний список совместимости плагинов, если что-то, на что вы полагаетесь, может быть немедленно сломано. Это не значит никогда не обновляться в страхе перед поломкой, а скорее быть осведомленным о конфликтах, которые, возможно, потребуется исправить, как только вы это сделаете. Просто Google WordPress XX совместимость для последнего официального списка (замените хх на номер версии, которую вы ищете в Google).



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

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


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

1. Что у вас последняя версия WordPress (как мы уже говорили, оставайтесь в курсе!)

2. Префикс ваших таблиц WordPress, который по умолчанию равен «wp_». Вы можете установить префикс по умолчанию для таблиц базы данных WordPress на что-то другое, и оставив его как значение по умолчанию, вы будете открыты для атак SQL-инъекций . Узнайте, как изменить префикс базы данных WP по умолчанию за 6 простых шагов здесь .

3. Ваша версия WordPress скрыта

4. Это ошибки базы данных WordPress отключены. На большинстве веб-хостов уже отключены «ошибки MySQL», спросите своих, если это красный.

5. Чтобы метатег WordPress ID был удален, узнайте, как его удалить здесь .

6. Пользователь Admin был удален (добавьте своего собственного пользователя, предоставьте ему права администратора и удалите учетную запись администратора по умолчанию).

7. Существует файл .htaccess, защищающий вашу директорию / wp-admin (узнайте больше о файлах .htaccess далее в этой статье или посетите этот генератор файлов .htaccess ).

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


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

Еще один способ проверить ваш блог на наличие потенциальных эксплойтов — установить плагин WordPress Scanit. Автором плагина является Donncha O Caoimh, автор WP Super Cache. Он имеет только одну функцию, которая заключается в поиске файлов WordPress и базы данных, чтобы определить, есть ли у вас плагины WordPress с известными проблемами, или чтобы увидеть, есть ли у вас подозрительные сообщения или комментарии. Это очень важно, потому что ваши плагины проверяются по списку известных «подозрительных плагинов» базы данных, и если у вас уже есть спам-сообщения или комментарии, ваша установка WordPress может быть уже скомпрометирована. Я запустил сканирование в моем тестовом блоге:


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

После этого последнего плагина вы, вероятно, задаетесь вопросом, существует ли плагин, который мог бы отслеживать ваш сайт и предупреждать вас, если он был взломан. Еще один плагин для проверки безопасности WordPress — WP Antivirus . После установки он автоматически просканирует ваши файлы WordPress темы, чтобы убедиться, что они не были взломаны или скомпрометированы вирусом. Он больше ничего не делает, но отправляет администратору электронное письмо, если в файлах вашей темы обнаружен «вирус». Вы также можете запустить проверку вручную, чтобы проверить файлы вашей темы, если вы не хотите включать уведомления по электронной почте:


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

В отличие от некоторых предыдущих плагинов, которые ищут проблемы, Secure WordPress фактически заботится о некоторых из них, устанавливая параметры в плагине admin на своей панели.


Как вы можете видеть на изображениях выше, это так же просто, как установить флажок, чтобы удалить версию WordPress во всех областях, удалить ссылки на обновления для не-администраторов, и он даже может создать индексный файл в каталоге плагинов, чтобы люди не могли «просмотр каталога». Последнее, что он может сделать, это добавить комментарий к html-коду, позволяя использовать следующий инструмент, о котором мы поговорим о «WP Scanner».

WordPress Exploit Scanner проверяет ваш блог через Интернет. Прежде чем они это сделают, они хотят убедиться, что вы действительно являетесь владельцем (а не просматриваете чужой блог!), Поэтому в ваш HTML-код необходимо добавить простой комментарий. Они предлагают бесплатный плагин, который добавляет его автоматически, если вы не хотите редактировать файлы своей темы, или вы можете добавить код, отметив опцию в ранее упомянутом плагине «Безопасный WordPress».


Как только вы включите плагин, вы посетите веб-сайт WP Scanner, чтобы начать сканирование. Изображение выше показывает, как выглядят результаты из веб-отчета WP Scanner. Он назначает фактор риска для предметов, которые он находит, но не дает много дополнительной информации. Для меня это дало результаты, которых не было у других плагинов, как у некоторых файлов readme, которые могли бы подсказать хакеру, какую версию WordPress или плагины я использую.



Вероятно, 95% веб-сайтов, на которых работает WordPress, работают на сервере «Linux», который использует веб-сервер «Apache». Используя файлы «.htaccess», вы можете управлять многими вещами в каталоге, и они являются плагинами, которые помогают автоматизировать этот процесс. К сожалению, два самых популярных из них не обновляются для работы после WordPress 2.6x, и было много сообщений о проблемах с каждым (люди сами блокировали свои блоги).

Для потомков (и в случае, если они будут обновлены в будущем), вот ссылки на эти плагины:

Как я уже сказал, эти ссылки были предоставлены на тот случай, если вы однажды наткнулись на них и подумали: «Ух, я должен попробовать один из них». Убедитесь, что они были обновлены, если вы делаете, и знайте, что ваш пробег может отличаться. Множество комментариев и постов поддержки указывают на то, что некоторые люди сталкивались с серьезными проблемами после их установки (в правильных версиях WordPress), в том числе из-за того, что они были заблокированы в своих собственных блогах.

Файлы .htaccess очень сложны, так как они могут делать разные вещи — и некоторые веб-хосты имеют другие конфигурации и настройки, чем другие. Наиболее распространенные вещи, для которых используется файл .htaccess:

  • Переписывание URL-адресов : вы знаете эту мелочь в WordPress, которая называется «постоянные ссылки»? Файл .htaccess перезаписывает страницы с URL-адресов, таких как «/? P = 106», на «/ this-is-the-title-of-my-post»
  • 301 Redirects : Вы можете настроить постоянные 301 перенаправления для перенаправления входящего запроса на новую страницу, если URL изменился. Это удобно, если вы измените структуру постоянных ссылок
  • Ограничить доступ по IP-адресу . Вы можете ограничить доступ по IP-адресу вашего компьютера (или «диапазону» IP-адресов).
  • Ограничить доступ паролем : вы можете ограничить доступ паролем, который вы установили
  • Остановить индексацию каталогов : вы можете запретить людям обходить каталоги без индексного файла
  • Показать другой индексный файл : хотя это не относится к WordPress, вы можете использовать файл .htaccess, чтобы показать другой индексный файл, чем ваш веб-сайт по умолчанию. Другими словами, вы можете использовать index.htm, index.html, index.php и т. Д.

Из-за различных конфигураций apache и настроек веб-хостов я не могу дать вам четких инструкций, которые будут абсолютно эффективны в любой ситуации для всех. Даже если вы можете добавить защиту паролем в файл .htaccess, вам все равно нужно добавить пользователей и пароли в файл .htpasswd. Пользователи легко добавляются, но пароли должны быть зашифрованы в этом файле. Это руководство по паролю .htaccess может помочь вам в этом, но я рекомендую использовать вашу «веб-панель управления», если она у вас есть, и добавить туда защиту паролем (потому что она автоматическая). Вы также можете использовать ранее упомянутый генератор файлов .htaccess и загружать файлы вручную. Вот официальная документация cPanel для паролей, защищающих каталоги . Если вы не уверены, отправьте запрос на ваш веб-хостинг, чтобы получить пароль справки для защиты вашего каталога / wp-admin.

Еще одна вещь, которую вы могли бы рассмотреть, — это ограничение доступа к вашему каталогу / wp-admin путем предоставления доступа к определенным (или диапазону) IP-адресам . Таким образом, вам не нужно запоминать пароль, и вы можете легко ограничить доступ к нескольким группам людей. Еще раз, если у вас есть проблемы с этим, отправьте заявку в службу поддержки на ваш веб-хостинг для помощи.

Подавляющее большинство веб-хостов для владельцев блогов WordPress — это Linux, а доступ к файлам на вашем сайте контролируется правами доступа к файлам на основе UNXI. Основные разрешения назначаются в 3 областях «чтение, запись и выполнение». Разрешения могут быть назначены на 3 группы «владелец, группа и мир». В WordPress Codex есть целая страница, посвященная изменению прав доступа к файлам . По сути, опасно назначать разрешения «на запись» миру из веб-браузера, когда в этом нет необходимости. Это лазейка, которую хакеры могут использовать для записи файлов и получения доступа к вашему сайту. 755 (и ниже) разрешений на доступ к файлам лучше всего, когда это возможно, потому что это исключает доступ на запись для группы и всего мира.

Часто вы можете изменить разрешения файлов в вашей FTP-программе, например, щелкнув правой кнопкой мыши файл в «Filezilla», как на этом изображении:


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

Существует старая поговорка, что «унция профилактики стоит фунта лечения», и в этом есть много правды. Ограничив доступ к вашему сайту с помощью файла robots.txt, вы можете предотвратить случайную индексацию определенных элементов в поисковых системах — и чем меньше хакеров может найти ваш сайт, тем меньше у вас шансов на взлом. Вам следует ограничить доступ к своим 3 установочным каталогам WordPress и любым дополнительным каталогам, которые у вас есть (если вы не хотите, чтобы они были проиндексированы).

Например, эти строки могут быть в вашем файле /robots.txt:


User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /*?*
Disallow: /*?
Allow: /wp-content/uploads

Этот пример со страницы Кодекса WordPress в SEO ограничивает доступ к вашим каталогам wp-admin, wp-includes и wp-content, а также к вашему каналу, трекбэкам, комментариям, страницам категорий и комментариям. Посетите страницы веб-роботов, чтобы узнать больше о файлах robots.txt, а также о веб-роботах и ​​сканерах.



Стоимость веб-хостинга не имеет ничего общего с безопасностью или компетенцией их службы поддержки. Если у вас есть веб-хостинг или вы ищете новый, просто попробуйте два простых поиска в Google для вашего хоста: «веб-хост отстой» и «веб-хост взломан». Замените «webhost» на имя хоста, о котором вы хотите получить информацию. Затем прочитайте сообщения в блоге и на форуме людей, у которых были проблемы с этим хостом. Это занимает всего несколько минут, и всегда полезно узнать мнение «реального мира». Также хорошо видеть, есть ли у хозяина только несколько жалоб или сотни.

Затем задайте вашему текущему или потенциальному хозяину несколько очень важных вопросов.

  • Как часто выполняются резервные копии? Если вас когда-либо взломали, вам нужно знать, что вы можете восстановить данные как можно скорее!
    • Как далеко назад хранятся резервные копии?
    • В какое время суток они проводятся?
    • Могу ли я указать конкретную дату и время восстановления?
  • Они предлагают «SFTP» или «безопасный» FTP? Если нет, вы не хотите принимать их (объяснение позже)
  • Какую «учетную запись» использует веб-сервер apache для обслуживания страниц? Он должен использовать пользователя типа «www-data», чтобы ваши файлы в вашей учетной записи хостинга запускались под вашим пользователем, а другие учетные записи хостинга на том же (общем) сервере — под своим собственным пользователем — это помогает предотвратить атаки между учетными записями.
  • MySQL работает на том же сервере, что и веб-сервер? На лучших веб-хостах базы данных MySQL обычно работают на отдельных серверах.
  • Разрешает ли ваш веб-хостинг права доступа «777»? Это не только опасно, но и не обязательно. Обычно разрешения «755» — это все, что необходимо для любого веб-сайта, и хосты, которые не разрешают разрешения «777» (доступные для записи для всех групп), обычно более внимательны к безопасности, чем те, которые делают.
  • Может ли вирус с сайта других пользователей заразить мой? Если нет, то почему нет? Попросите вашу нынешнюю или потенциальную веб-хостинговую компанию объяснить вам, какие именно меры предосторожности они предприняли, чтобы одна зараженная учетная запись не смогла уничтожить весь сервер. Компаниям, которые не могут ответить на этот вопрос с умным ответом, не стоит иметь дело с.

Вдобавок ко всему, вы хотите убедиться, что если что-то плохое случится, вы сразу же узнаете об этом, и вам всегда будет с кем поговорить в поддержку. Спросите, есть ли у вашей нынешней или потенциальной хостинговой компании круглосуточный мониторинг и есть ли у них бесплатная телефонная поддержка по телефону 24/7. Кроме того, никогда не больно звонить в компанию в полночь, чтобы узнать, действительно ли живой человек отвечает, или же он обращается в службу ответа или «обратного вызова».



Выберите надежные имена пользователей и пароли :

По умолчанию каждый сайт, работающий на WordPress, начинается с «учетной записи администратора». Каждый хакер в мире знает, что почти все WordPress сайты имеют эту учетную запись. Поэтому первое, что вы должны сделать, это создать новую учетную запись, предоставить ей доступ «администратора» и удалить учетную запись «администратора».

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

Надежные пароли . Сделайте свой пароль уникальным, используя буквы, цифры и символы «И» — 8 символов или более. Не используйте ту же комбинацию имени пользователя с паролем, что и при любом другом входе в систему, и, безусловно, НЕ делайте свои пароли одинаковыми при входе в WordPress, входе в базу данных MySQL или входе через панель управления хостингом. Посетите Strong Password Generator для примеров.

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

Регулярно меняйте пароль : WordPress и (большинство) веб-хостинг-провайдеров не требуют, чтобы вы меняли пароль на регулярной основе, но большинство онлайн-банкингов делают это. Разве вы не проводите время на своем веб-сайте или в блоге, как вкладывая деньги в банк? Если бы вы потеряли все это, вы бы потеряли деньги? Изменение пароля каждые 30, 60 или 90 дней, как и в случае онлайн-банкинга, является хорошей идеей.



Получаете ли вы много спам-комментариев на вашем сайте? Если вы разрешаете пользователям регистрироваться в своем блоге, получаете ли вы какие-либо учетные записи, которые, кажется, создаются автоматическими программами или ботами? Если вы не защищены от подобных вещей, вы поощряете «плохое поведение» в своем блоге. WordPress поставляется с «askimet» из коробки, плагином, который довольно неплохо справляется со спам-комментариями, но некоторым все же удается проскользнуть, не так ли?

Рассмотрим некоторые дополнительные средства защиты, такие как WP Spamfree . Я рекомендую Spamfree, потому что он работает тихо, и, в отличие от других плагинов, он вообще не требует вмешательства пользователя, такого как контрольные вопросы или капчи. Он избавляется от автоматических комментариев от ботов, трекбэков и пингбэков. Кроме того, он работает с WP Cache и Super Cache, а также с WordPress MU. О — я упоминал, что он обновлен (на момент написания статьи) для работы даже с WordPress 2.9 (который еще не вышел)?


После того, как вы установите WP Spamfree «это просто работает». В документации сказано, что он будет отлично работать с активированным Askimet, но в этом нет необходимости (потому что этот плагин более эффективен).

Если вы разрешаете пользователям регистрироваться на вашем сайте WordPress, вы являетесь целью. Установка плагина WordPress для предотвращения регистрации ботов избавит вас от головной боли. Он будет препятствовать регистрации ботов на вашем сайте, он блокирует любого бота, IP-адрес которого появляется более двух раз, любого, кто указан в spamhaus, или который вы в черном списке.


Вы заблокировали ботов и спам, но что, если живому человеку удастся создать комментарий с намерением нанести вред вашему сайту? Некоторые из последних атак, заражающих блоги, используют «XSS» или межсайтовый скриптинг. Чтобы избежать этого, вы можете установить HTML Purified . Он заменяет фильтр комментариев WordPress по умолчанию на суперфильтрующую библиотеку HTML. Он создает XHTML-совместимый код для ваших комментариев, но, что более важно, это «XSS Safe». Вы имеете точный контроль над тем, какие теги разрешены, а также следует ли фильтровать пользователей-администраторов.




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

Tripwire — это плагин, который сканирует измененные файлы на вашем WordPress сайте. После установки все, что вам нужно сделать, это сообщить ему, сколько дней назад нужно проверить, и в нем будут перечислены все файлы, которые были изменены за этот период. В случае моего примера изображения я обновил WordPress 11 июня, и все эти файлы были перечислены. Если вы проверили свои файлы за последние 30 дней, и многие файлы были изменены (и вы не обновили все) — у вас может быть проблема. Стоит еще раз упомянуть, что плагин WP Antivirus проверит ваши файлы темы WordPress и автоматически отправит вам электронное письмо, если у одного из них есть подозреваемый вирус. Tripwire проверит все файлы на вашем сайте WordPress, но не имеет автоматического уведомления.


Login Lockdown — это плагин, который отслеживает попытки входа на ваш сайт WordPress. Он записывает IP-адрес и метку времени каждой попытки. Если в течение определенного периода времени выполняется определенное количество попыток, входы в систему для этого диапазона IP-адресов отключаются. По умолчанию 3 неудачных попытки входа в систему в течение 5 минут, а время блокировки — 1 час. Конечно, вы можете изменить их в настройках плагина на любую сумму, которую вы хотите. Без этого установленного плагина вы никогда не узнаете, если у вас вообще не было попыток входа в систему.

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

Вот изображение параметров файла журнала для «плагина отчетов об ошибках»:


Еще один удобный плагин — «404 Notifier». После установки он будет отправлять вам электронное письмо каждый раз, когда ваш сайт генерирует ошибку «404 Not Found». Это полезно в 2 отношениях. Во-первых, если вы постоянно получаете ошибку для одной и той же страницы — вы можете исправить ее, создав эту страницу. Более важно (и, скорее всего), что вы получите ошибки, которые вы не ожидаете, например, пропущенные файлы CSS или включения для плагинов или тем — и вы тоже можете это исправить. Вторая причина, вероятно, та, о которой вы не знаете, многие злоумышленники отправят на ваш сайт запрос мусора, такой как « http://mysite.com/crap/garbargeurl?=3o2349-admeknow.js » или что-то в этом роде. По сути, это просто быстрая проверка, чтобы увидеть, что будет делать ваш сервер, сгенерировать ошибку 404 или показать индекс каталога, а также проверить, работает ли WordPress (или что-то еще) и какая версия.

Это само по себе недостаточно информации, но это хорошее начало. Когда-то у меня был сайт, который ежедневно получал сотни таких запросов на мусор, я нашел их в журналах примерно через месяц. Плагин 404 Notification, как это, сразу же подскажет мне. Затем вы можете заблокировать входящий IP-адрес, с которого они приходят, и вы всегда можете обратиться в службу поддержки на своем веб-хосте за помощью с чем-то вроде этого (или следуйте инструкциям ранее, чтобы ограничить доступ к вашему сайту с помощью вашего файла .htaccess).

Вот изображение вариантов настройки уведомлений 404. Вы увидите, что вы можете не только получать уведомления по электронной почте, но и события также сохраняются через RSS-канал.


Со всеми этими плагинами отслеживания и уведомления — ваш пробег может варьироваться. Я бы порекомендовал попробовать их все по одному, чтобы увидеть, как они работают для вас. Также помните, что вам, возможно, не нужно включать их постоянно. Вы можете запускать tripwire по мере необходимости, постоянно блокировать вход в систему и включать отчеты об ошибках и оповещение 404 по своему усмотрению.



Все, о чем мы говорили до сих пор, было очень важно, но я не думаю, что что-то столь же важно, как безопасное соединение. Знаете ли вы, что когда вы разговариваете по мобильному телефону (или даже по беспроводному телефону), вы находитесь на «небезопасной» линии? Кто-то с правильным частотным сканером может прослушать ваш разговор. Если вы указываете номер кредитной карты по незащищенной линии, всегда есть вероятность, что кто-то может «прослушать» и получить его. И все же большинство из нас сообщают номера наших кредитных карт по сотовому телефону десятки (если не сотни) раз.

Когда вы используете онлайн-банкинг, вы используете http-s или «безопасное» соединение, которое использует 128-битное шифрование, чтобы гарантировать, что никто не получит ваш логин или банковскую информацию. Когда вы используете WordPress, мы надеемся, что вы используете надежные имена пользователей и пароли, но соединение нормальное «http» или «незащищенное». Когда вы отправляете файлы FTP для тем и плагинов на ваш сайт на WordPress, вы также используете «незащищенное» FTP-соединение. Если вы используете беспроводной Интернет вдали от дома, он, вероятно, является «незащищенным» (не зашифрованным), и большинство домашних беспроводных маршрутизаторов также настроены для шифрования.

Это означает, что любой, кто «вынюхивает» информацию о входе в систему, может перехватить вашу информацию, когда вы заходите на панель администратора WordPress или используете FTP. Это может быть парень, сидящий за соседним столом в Starbucks, ваш сосед, чей ребенок является хакером-подростком, или роботы или программное обеспечение, работающее в режиме онлайн, отслеживающее информацию для входа в систему в то время, когда вы входите в систему. Две самые важные вещи, которые вы можете сделать, это Защитите свой вход в WordPress и защитите FTP-соединение. По крайней мере, если вы используете незашифрованный Wi-Fi, ваша учетная запись администратора панели администратора и FTP-соединения будут в безопасности.

Добавьте безопасную аутентификацию для входа в WordPress :

Теперь, когда я рассказал вам все причины, по которым вам следует использовать безопасную аутентификацию для входа в WordPress — у меня есть некоторые неутешительные новости, это не так просто реализовать. Во-первых, вам нужен веб-хостинг с поддержкой SSL, а во-вторых, вам нужен доступ к сертификату. Например, для приобретения собственного SSL-сертификата Thawte требуется минимум 249 долларов в год. Это более чем вдвое дороже, чем многие из нас платят за сам хостинг. Однако, если вы готовы заплатить за собственный защищенный сертификат, вы можете добавить одну строку в файл wp-config.php для «принудительного входа в SSL» — как описано на этой странице Кодекса WordPress в разделе «Администрирование через SSL» .

Многие общие веб-хосты предоставляют вам бесплатный доступ к «общему» безопасному сертификату, и плагин Admin SSL , похоже, поддерживает это. Он даже упоминается на странице Кодекса WordPress для входа по SSL, но последняя загрузка предназначена для версий WordPress до 2.7x, а версия (1.51-b1), указанная для совместимости с WordPress 2.8, не имеет ссылки для скачивания (пока). После обновления этот плагин, вероятно, будет лучшим выбором для ситуаций с общими сертификатами SSL.

Итак, теперь, вы не хотите тратить деньги на собственный защищенный сертификат, но вы хотите быть максимально безопасным при входе в WordPress. Есть еще несколько решений, которые вы можете рассмотреть.

С Semisecure Login Reimagined вы можете повысить безопасность входа в систему, используя открытый ключ RSA для шифрования пароля. Как указано на странице плагина, это полезно, когда SSL-вход в систему недоступен, но вы хотите добавить дополнительную безопасность для входа в WordPress. Он действительно без проблем после установки и автоматически работает при активации (совместим с WordPress 2.8+). Существуют опции для 512-битного, 1024-битного, 2048-битного и 3072-битного шифрования — вы можете выбрать любой вариант, который вам нравится, но по умолчанию используется 1024.


Всегда используйте безопасный FTP (SFTP) :

При подключении к вашему веб-хосту всегда используйте безопасное соединение, вместо FTP используйте «SFTP» (Secure FTP). Почти все веб-хостинги предлагают его бесплатно как часть вашего хостинг-пакета, и большинство людей этим не пользуются. Если вы используете обычный FTP, все, что вы передаете через Интернет, передается в виде «открытого текста» (читаемого любым хакером, который его перехватывает). Если ваш хост не поддерживает Secure FTP — найдите тот, который поддерживает!

Верьте или нет, все, что вам нужно сделать, это переключить настройку (в моих программах FTP) на «SFTP», а затем порт на «2222». Проверьте документацию вашего веб-хостинга, если это не работает, чтобы увидеть, если они могут использовать другой нестандартный порт для SFTP. Нажмите кнопку подключения и вуаля! Вы используете безопасный FTP!



Возможно, вы этого не знаете, но есть два способа обеспечить дополнительную безопасность вашему файлу wp-config. Во-первых, с помощью включенного «секретного ключа», и большинство людей, с которыми я сталкивался, не пользуются им — даже если он был доступен с WordPress 2.6.

Все, что вам нужно сделать, это открыть файл wp-config.php в текстовом редакторе и отредактировать следующие строки:


В WordPress даже есть собственный Генератор секретных ключей, который вы можете использовать для создания сильных и уникальных ключей. Сохраните файл и затем загрузите обратно в корень вашего сайта WordPress!

Другая вещь, которую вы можете сделать, это переместить ваш wp-config.php за пределы вашего публичного сайта WordPress в более защищенную область вашей учетной записи веб-хостинга. Это называется перемещением его «вне корня» или из части «public_html» или «www» вашего сайта. Это имеет смысл, поскольку содержит наиболее конфиденциальную информацию (информацию о вашем соединении), и потенциальному хакеру очень сложно получить доступ к структуре каталогов уровня сервера за пределами вашего веб-сайта. Чтобы сделать это, ваша учетная запись веб-хостинга должна иметь доступ как минимум на один уровень «выше корня» вашего веб-сайта (общедоступный html), и все, что вам нужно сделать, чтобы воспользоваться преимуществами этой дополнительной безопасности, — это переместить wp-config. php к этому уровню выше, WordPress автоматически найдет его там, и ваш веб-сайт будет работать нормально, как и раньше.

WordPress имеет официальную страницу в Кодексе о редактировании файла wp-config.php , если вам нужна дополнительная информация.



Этот пункт был сохранен до последнего, потому что ваш персональный компьютер может нанести больше вреда вашему сайту на WordPress быстрее, чем что-либо еще. Большинство людей используют персональные компьютеры на базе Windows, и 1 из 16 персональных компьютеров (6%) заражены одной работой (Downadup aka Conficker). В FAQ по Computerworld Downadup удивительно узнать, что для получения червя вам вообще ничего не нужно делать! Вам просто нужно установить Windows 2000, Windows XP или Windows 2003 Server, которые не были полностью исправлены (примерно в октябре 2008 года). Если у вас нет исправлений, и вы получаете один «неправильный» пакет через Интернет от «бота» — вы заражены! Вам не нужно ничего нажимать, устанавливать что-либо, и большинство ваших «шпионских» программ могут даже не принести пользы. После заражения этот червь автоматически устанавливается на любой имеющийся у вас носитель, например, на SD-карты, телефоны с картами памяти, цифровые камеры, внешние жесткие диски, mp3-плееры с картами памяти и т. Д. заражены все компьютеры в вашем доме и половина из них на работе.

Правдивая история : В прошлом месяце у меня был клиент, который позвонил мне, потому что его блог WordPress был взломан. Я задавал ему много вопросов, и он работал со своим веб-хостингом в течение 3 дней, прежде чем позвонить мне. Они посоветовали ему удалить все свои блоги WordPress (6 веб-сайтов), а затем переустановить и обновить WordPress. Как только он это сделал, в течение часа все его сайты снова были взломаны. Поддержка на его веб-хосте была озадачена. Он нанял меня, чтобы решить его проблему, и я сразу же изменил его веб-панель управления и пароли FTP на надежные. Затем я создал отдельного пользователя и новый пароль для каждой из баз данных MySQL для всех 6 его веб-сайтов. Я удалил все файлы на всех сайтах, переустановил WordPress и включил тему по умолчанию без плагинов. Все работало нормально. Я ждал 24 часа, все было хорошо.

Я позвонил ему на следующий день и спросил: «Используете ли вы Windows на вашем компьютере?». «Да, да», сказал он. «Когда вы последний раз обновляли свой антивирусный сканер», — спросил я. «Фактически, это истекло некоторое время назад», сказал он. Я сказал: «Сделайте мне одолжение. Прямо сейчас зайдите на housecall.trendmicro.com и отсканируйте свой компьютер — затем перезвоните мне с результатами». Через 2 часа он перезвонил, и его компьютер с Windows XP был заражен троянским вирусом, который регистрирует нажатия клавиш. Он украл его регистрационную информацию по FTP и полностью уничтожил все его веб-сайты в его учетной записи общего хостинга (дважды!).

Ты твой самый злейший враг. Всегда держите ваш компьютер в курсе событий!


Надеюсь, вы нашли эту статью до того, как ваш блог WordPress был взломан, и все, что вы только что узнали, — это профилактическое обслуживание. Если вы реализуете только несколько из этих советов по безопасности, вы будете более безопасны, чем установка WordPress по умолчанию. Если вы реализуете их все, вы будете ‘убер-секур’ по сравнению с большинством сайтов на WordPress.

Если, с другой стороны, вы читаете это, потому что ваш сайт WordPress был взломан, мой совет будет следующим:

  • Обновите все имена пользователей и пароли до более надежных версий (веб-панель управления, FTP и база данных MySQL)
  • Обновите WordPress и все плагины, если это возможно
  • Сканируйте ваш сайт WordPress с помощью плагинов, которые мы упомянули, чтобы найти проблему, если вы можете
  • Сканирование вашего персонального компьютера, чтобы убедиться, что он не был скомпрометирован
  • Подключите эксплойты и дыры в безопасности, используя инструменты, о которых вы только что узнали

Если вы не можете исправить это самостоятельно — вам, возможно, придется нанять специалиста, чтобы снова привести ваш блог в рабочее состояние.