- Ограничьте доступ к основным директориям WordPress – корневой папке, папкам wp-content и wp-includes.
Для этого создайте в этих директориях файлы .htaccess со следующим содержимым:
- В корневой папке:
<files .htaccess> order allow,deny deny from all </files> ServerSignature Off <FilesMatch ^wp-config.php$> order allow,deny deny from all </FilesMatch> Options All –Indexes
Это запретит доступ к .htaccess, выключит описание сервера, запретит доступ к конфигам (например wp-config.php) и отключит индексирование директорий (например /wp-includes).
Кстати, запрещение коснется всех, в том числе и вас.
Чтобы вы, все-таки, могли зайти в админку, пропишите в корневом .htaccess, разрешение на ваш IP-адрес.
Если IP у вас статический, то разрешение для него можно прописать так:
<Files wp-login.php> Order Allow,Deny Allow from 195.0.0.5 </Files>
Обратите внимание - вместо 195.0.0.5 должен быть написан ваш IP адрес. Если он у вас динамический, то напишите 195.0.0 без точки в конце.
После этого доступ к этой директории будет только у указанных Вами IP.
Проверить работает или нет, достаточно просто. Поменяйте одну из цифр в IP-адресе в .htaccess и попробуйте зайти в админку, должна появиться 403 ошибка.
- В папку wp-admin кладем два файла:
.htpasswd (его можно сгенерировать с помощью Htpasswd generator) и .htaccess.
- В файле .htpasswd пишем что-нибудь такого вида:
# BEGIN Pass htpasswd -mbc .htpasswd USER PASSWORD # END Pass
где USER - имя пользователя, а PASSWORD - его пароль.
- В файле .htaccess напишите:
AuthUserFile /full/path/to/.htpasswd AuthType Basic AuthName “Access_Control” Require valid-user
Вместо “/full/path/to/” нужно прописать полный путь до файла .htpasswd от корневого каталога. Обратите внимание, путь к файлу htpasswd должен быть системным от корня сервера, а не от вашего домашнего каталога.
Теперь, не зная пароля, прописанного в файле .htpasswdв, в админку WP больше никто не зайдет.
- В файле .htpasswd пишем что-нибудь такого вида:
- В папках wp-content и wp-includes в файле .htaccess напишите следующее:
Order Allow,Deny Deny from all <Files ~ ".(css|jpe?g|png|gif|js|swf)$"> Allow from all </Files>
Это запретит чтение из каталогов любых файлов, кроме, выше перечисленных (изображений, файлов JavaScript, CSS и флэш). Будьте внимательны к attach’ам других типов, чтобы, если потребуется и их добавить.
Будьте осторожнее с .htaccess в папке wp-content.
Такая конфигурация совместима не со всеми плагинами и темами - особенно с теми, которые отдают CSS/JS через PHP.Популярно говоря, если после добавления .htaccess с указанными строками в папку wp-content, у вас перестали загружаться какие то файлы - значит – не судьба. Удалите этот .htaccess.
Как компромисс, можете запретить исполнение любых файлов, кроме изображений в папке uploads:
<Files ^(*.jpeg|*.jpg|*.png|*.gif)> order deny,allow deny from all </Files>
Все это можно сделать не только вручную, но и с помощью плагина. Читайте об этом в следующем посте Как защитить свой блог на WordPress: 12 незаменимых плагинов для защиты .
Я считаю, что не всегда и не на всех сайтах нужна такая жесткая защита, которая к тому же затрудняет работу с сайтом.
Но, чтобы мой список способов защиты сайта был полным, я внесла в него и защиту через .htaccess. Решайте сами, использовать ее или нет.
Предупреждение!
Все манипуляции с файлом .htaccess производите очень осторожно и, если, что то на сайте перестает работать, сразу же удалите код, добавленный в него. - В корневой папке:
- Деактивируйте плагины, которые вы не используете.
Они могу содержать уязвимости
- Регулярно обновляйте WordPress.
Регулярно делайте обновления WordPress и плагинов.
Не стоит устанавливать beta-версии, подождите стабильную версию WordPress или плагина. Но, если такая вышла, не затягивайте с этим.
- И наконец, последнее: защитите свой компьютер.
- Установите хорошие антивирус и файрволл на ваш компьютер и настройте в них автоматическое обновление антивирусных баз и сканирование компьютера. Это защитит вас от воровства паролей от сайта.
Я не рискну советовать, какие именно программы использовать для защиты своего компьютера от вирусов - поинтересуйтесь на этом форуме - http://virusinfo.info/forumdisplay.php?f=70, но в том, что хороший антивирус значительно облегчает жизнь владельца сайта, я уверена.
- Не сохраняйте пароли в браузерах и ftp-клиентах.
Найдите в интернете программу для хранения паролей в зашифрованном виде.
Конечно, пароли удобнее всего хранить в блокноте на рабочем столе
. Многие так и делают. Но, рано или поздно (скорее рано), ваш компьютер подцепит какую-то заразу и все ваши пароли станут известны плохому парню, взламывающему сайты (а также кошельки WM).Программ для хранения паролей очень много, есть платные, можно найти и бесплатные. Позаботьтесь об этом, пока не поздно.
- Установите хорошие антивирус и файрволл на ваш компьютер и настройте в них автоматическое обновление антивирусных баз и сканирование компьютера. Это защитит вас от воровства паролей от сайта.
Внимание!
Прежде, чем производить любые изменения на сайте, обязательно:
- Сделайте бекап базы данных;
- Сохраните на свой компьютер папку с файлами вашего сайта.
Все это нужно на случай, если что-то пойдет не так (а от этого никто не застрахован), чтобы вы могли восстановить сайт.
Соблюдение всех вышеописанных правил полностью не убережет ваш сайт или блог от взлома, но процентов на 90 уменьшит вероятность этого.
Продолжение темы безопасности сайта в следующем посте Как защитить свой блог на WordPress: 12 незаменимых плагинов для защиты …
При написании поста использовалась информация с сайтов: http://maxsite.org, http://www.kgayzer.info, http://shakin.ru/, http://llyn.biz/,http://seo-bomj.ru/,http://zhilinsky.ru/

Страницы: 1 2












Хорошая статья, спасибо, у меня уже несколько раз взламывали сайт.
Хорошо что случайно попала на ваш сайт. Всё откладывала защиту своего сайта на будущее, теперь постараюсь обезопасить своё детище, на всякий пожарный. Спасибо за хорошую статью
Да статья очень хорошая, понятная, а главное нужная, безусловно этих правил должен придерживаться каждый кому не безразлична судьба своего блога.
Блог перестал работать после ввода строк: [quote]<?php
// Удаление строки
remove_action('wp_head', 'wp_generator');
?>[/quote]
когда удалил всё вернулось на место
Возможно, этот код конфликтует с каким скриптом вашего сайта.
В таком случае, не пользуйтесь этим.
Спасибо за статью. многого не знал просто. А с правами на папки вы мне просто помогли, а то после взлома возникла ситуация, когда у меня только главная страница отображалась, а посты нет.
Создаю блог для клиента, так в нем, в хедере нет строчки <meta name="generator" content="WordPress "/>, зато в подробностях расписана версия шаблона в таблице стилей. Так что стоит еще и ее проверять.