Ппродолжение темы безопасности сайта.
Начало в посте "Как защитить свой блог на WordPress: 12 необходимых способов защиты".
- Защитите администраторскую часть сайта.
Злоумышленники могут использовать брутфорс-атаки, суть которых заключается в подборе администраторских логина и пароля. Чтобы этого не произошло, используйте плагин http://wordpress.org/extend/plugins/askapache-password-protect.
Этот плагин, создает файлы .htpasswd и .htaccess в главных папках сайта, в которых приписывает логин и пароль, дополнительно установленные Вами и запрашивает их каждый раз при попытке получить доступ к админке.
Ну, вот, теперь в админку, не зная пароля, скорее всего никто не попадет.
- Измените префикс таблиц в базе данных WordPress.
По умолчанию префикс WordPress таблиц wp_, то есть все таблицы в базе начинаются с этих символов.
Большинство ботов, использующих SQL-инъекцию (SQL-Injections) уязвимости, применяют стандартные имена таблиц. Изменив их префикс, мы снизим риски взлома сайта хакерскими ботами и самими хакерами.
- Если WordPress еще не установлен, то необходимо отредактировать файл wp_config.php. Найдите строку:
$table_prefix = 'wp_';
И поменяйте ее на:
$table_prefix = 'myprefix_';
Дальше можно установить WordPress обычным способом.
- Если, WordPress уже установлен, то потребуется вручную переименовать все существующие в базе WordPress таблицы, выполнив для каждой таблицы SQL запрос:
RENAME TABLE wp_categories TO myprefix_categories;
Имена и количество таблиц зависят от установленной версии WordPress.
Но, обычно, их десять:wp_categories, wp_comments, wp_link2cat, wp_links, wp_options, wp_post2cat, wp_postmeta, wp_posts, wp_usermeta, wp_users.
Поменяйте, также, несколько записей в таблице wp_options (myprefix_options):
UPDATE myprefix_options SET option_name=’myprefix_user_roles’ WHERE option_name=’myprefix_user_roles’ LIMIT 1; UPDATE myprefix_options SET option_name=’myprefix_autosave_draft_ids’ WHERE option_name=’myprefix_autosave_draft_ids’ LIMIT 1; UPDATE myprefix_options SET option_name=’myprefix_user_level’ WHERE option_name=’myprefix_user_level’ LIMIT 1;
А можно не париться и установить плагин WP-Prefix-changer - http://blogsecurity.net/wordpress/wp-prefix-changer-v11-released, который сделает все автоматически.
Внимание!
Прежде, чем выполнить любые действия с базой данных, обязательно сделайте бэкап вашей базы. - Если WordPress еще не установлен, то необходимо отредактировать файл wp_config.php. Найдите строку:
- Контролируйте доступ в админку
Для этого существует полезный плагин Login LockDown - http://www.bad-neighborhood.com/login-lockdown.html. Он помогает защититься от подбора пароля и логина к админке, фиксируя все IP, с которых пытаются получить доступ к админской части.
Если попытки попасть в админку происходят неоднократно – плагин интерпретирует их как брутфорс-атаки и блокирует IP, с которых они совершаются. Количество неудачных попыток и время блокировки настраиваются в параметрах плагина.
- Следите за состоянием файлов движка.
Всегда полезно узнать первым о том, что в какой-то файл внедрен посторонний код (вирус и т.п.) и принять соответствующие меры. В этом нам может помочь плагин Belavir - http://blog.portal.kharkov.ua/2008/06/27/belavir, который покажет, какие файлы вордпресса или вашей темы изменились.
Информация об измененных файлах отобразится в «Панели управления» на странице «Доска объявлений» в колонке «Текущее состояние блога».
- Защитите свой сайт от XSS-атак.
Во всех версиях WordPress (да и всех других движках) есть дыры. К сожалению, не все они найдены и известны. Злоумышленник может обнаружить уязвимость и сформировать специальный запрос к вашему сайту и тем самым, например, получить админский доступ. А что он может сделать, зайдя в админку, сложно даже представить.
Чтобы защитить свой сайт от таких непрошенных гостей, скачайте плагин anti-xss-attack - http://blog.portal.kharkov.ua/2008/06/02/anti-xss-attack - и установите его. Плагин не нуждается в настройке и начинает работать сразу же после активации.
- Проверьте ваш WordPress на возможные уязвимости при помощи дополнения WP Security Scan - http://wordpress.org/extend/plugins/wp-security-scan.
Главной задачей плагина является сканирование установленной версии системы и проверка ее на возможные прорехи в безопасности. Этот плагин считается одним из лучших по обеспечению безопасности сайтов на WordPress. Он проверяет большое количество параметров безопасности, начиная от версии WP и заканчивая разрешением доступа к файлам и безопасностью базы данных.
После чего он выдает список рекомендуемых действий и по вашей команде сможет выполнить корректировку для уменьшения рисков взлома вашего сайта.
В Интернете можно найти подробное описание работы плагина WP Security Scan, поэтому я не буду писать об этом. Прочитайте, например, здесь http://tods-blog.com.ua/wordpress/plugins/wordpress-blog-security-scan-plugin
- Защитите ваш сайт от вирусов.
Вирусы, черви и вредоносные программы могут быть внедрены в WordPress и способны нарушить работу вашего сайта. Чтобы этого не случилось установите плагин antivirus - http://wpantivirus.com для WordPress. Он мониторит состояние сайта и предупреждает о любых возможных нападениях.
Этот плагин русифицирован. Кроме того, его можно настроить автоматически проводить ежедневное сканирование антивирусом и отправлять отчет на e-mail администратора.
- Отключите сообщения об ошибках
Сообщения об ошибках входа в админку, как правило, содержат много полезной информации не только для вас, но и для желающих взломать наш сайт. Поэтому, лучше их отключить. Для отключения сообщений об ошибках удобно использовать плагин bs-wp-noerror - http://blogsecurity.net/wordpress/wpdberrors-plugin-removing-wordpress-db-errors.
- Используйте SSH/Shell доступ вместо FTP
Если кто то получит данные доступа к вашему сайту из Вашего FTP-клиента (а они находятся там в незашифрованном виде), то одновременно он получит полное управление над всеми файлами на Вашем сервере. Поэтому, если хостинг предоставляет Shell-доступ, обязательно воспользуйтесь этой возможностью.
Shell-доступ реализуется по протоколу https. Им можно пользоваться и для входа в WordPress.
Для реализации Shell-доступа существуют плагины:
bs-wp-https - http://blogsecurity.net/wordpress/bs-wp-encrypt-plugin и
force-ssl - http://almosteffortless.com/2005/11/03/force-ssl-plugin.Для Shell-доступа можно, также, использовать программы Putty или Winscp (для Windows). Пароль в этих программах шифруется.
Далее нужно полностью закрыть доступ к сайту по FTP. Для этого в корне сайта создайте файл .ftpaccess, в котором пропишите такой код:
<Limit ALL> Deny from all </Limit>
Специальное предупреждение:
Не используйте программу TotalComander для соединения по FTP - через нее очень просто украсть пароли. Есть несколько неплохих программ для работы по FTP. Если ваш хостер не предоставляет Shell-доступ, пользуйтесь лучше ими.
Читайте обзор лучших бесплатных FTP-клиентов.
- Защитите свой блог от спама.
Для этого существует классный плагин wp-spamfree, действующий против автоматического спама.
Качайте его здесь - http://www.hybrid6.com/webgeek/plugins/wp-spamfree.
- Регулярно делайте бэкап вашей базы данных.
Если же все выше написанное не помогло и сайт все-таки был взломан, для его восстановления нужен будет бэкап базы данных. Позаботьтесь о том, чтобы сделать его заранее. Для этого можно использовать плагин WordPress Database Backup - http://www.ilfilosofo.com/blog/wp-db-backup.
Его можно настроить так, что архив базы данных вашего блога будет автоматически приходить к вам на e-mail ежедневно или еженедельно по вашему выбору.
Кроме базы данных, сохраните на жесткий диск своего компьютера папку с вашей темой, все плагины и все дополнительные файлы: .htaccess, robots.txt и wp-config.php.
Наличие всех этих файлов поможет вам быстро восстановить свой сайт в случае аварии на сервере или заражения вирусом.
- Регулярно делайте бэкап вашего сайта.
Вот еще один плагин для бэкапа BackUpWordPress - http://wordpress.designpraxis.at/plugins/backupwordpress.
Этот плагин делает не просто бэкап базы данных, а полную резервную копию всего вашего блога. Он сохраняет базу данных, плагины, файлы самого WP и файлы которые вы загружали в ваш блог. В нем есть множество настроек, касающихся автоматизации бэкапа, уведомления о сделанных бэкапах и восстановления из резервной копии. Вообщем, в плагине есть много интересных и полезных функций.
Удачи вам в нелегком деле защиты своего сайта!
Искренне надеюсь, что все, написанное выше вам поможет.







Скажите, а как быть мне? Можно ли мне установить этот плагин. Мне кажется, что у меня на компьютере все время меняется адрес. Или вот когда, я только, что зарегистрировал свой сайт, через минут 20 захожу. А меня предупреждает надпись, что кто то заходил под моим логином и паролем, и так постоянно только все время адреса разные. И еще я сам иногда не могу зайти на сайт под своим паролем, хотя его ввожу правильно. Приходится нажимать на ссылку Забыли пароль. Или еще пример на моем сайте, стоит блок опросов, я уже один раз проголосовал, но через какое то время я могу опять голосовать, то есть у меня наверное адрес динамический. Вопрос мне можно установить плагин? Спасибо!
Если у вас динамический адрес, можете смело устанавливать плагин.
А вот, если кто то заходит в админку вашего сайта под вашим логином и паролем, тогда стоит еще и свой компьютер проверить на вирусы и трояны, а после этого обязательно сменить пароль от админки и все прочие пароли также.
Скажите у Вас есть сайты где разрешена регистрация посетителей, вот мне нужно бы разрешить но Вы пишите что не желательно. Не ужели все так безнадежно?
Есть один сайт.
За 3 года существования его никто не взломал.
Благодарю за полезную информацию.
Очень помогли некоторые плагины