Большинство вебмастеров начинают задумываться о том, как защитить блог от взлома только тогда, когда в задницу клюнет жареный петух сайт уже взломают. Все время и внимание уходит на создание контента, оформление и оптимизацию. Между тем, одна такая хакерская атака способна перечеркнуть труды многих месяцев.
Хотелось бы сказать вам, что я один такой умный и у меня все сразу было предусмотрено, но это не так. Был у меня свой петух, которые так расклевал сайт, что я несколько недель бился над его реанимацией и восстановлением утраченных данных (тексты восстановил быстро, а вот картинок пропало много). С тех пор я отношусь к защите блога очень серьезно и сегодня поделюсь советами с вами. Всего будет 10 рекомендаций, если выполните все или хотя бы половину — уже будете молодцы.
Как защитить WordPress от взлома?
Постараюсь разложить все по пунктам, чтобы было максимально понятно, как защитить блог от взлома.
Пункт №1. Для того. Чтобы обеспечить защиту WordPress блога от взлома, необходимо установить несколько плагинов.
Anti-XSS attack, это плагин, который будет защищать блог от взлома и XSS атак,то есть от таких нехороших вещей, как взлом вашего логина и пароля. После его установки, при попытке входа в раздел администратора, перед вами будет выскакивать вот такая строка:
Так же эти атаки, могут пагубно повлиять на дальнейшее существование ресурса.
Login LockDown, это плагин, который не даст злоумышленникам многократно пробовать подбирать пароль к вашему ресурсу, то есть установит определенное количество попыток (количество попыток можно регулировать в настройках плагина). Кроме того, можно установить время, которое следует выждать, чтобы после, например, 3-х неудачных попыток. Допустим, после того, как кто-то ввел неправильно данные учетной записи 3 раза, право заново попробовать зайти в админку появится только через 3-4-5 часов)
Эти плагины явно не будут лишними в вашей обойме и осуществят надежную защиту блога.
Пункт №2. Замените логин для попадания в административную панель wordpress. Напомню, что по умолчанию у всех устанавливается логин – Admin
Его нужно поменять. Для этого вам нужно влезть на свой хостинг, оттуда перейти в панель управления базами данных (PHPmyAdmin). На каждом иконка с доступом к базам прячется в разных местах, если вы ее не найдете, то спросите у поддержки.
Открываете свою базу данных (ту, которая относится к защищаемому блогу) и выбираем там пункт меню “wp-users”, далее в строчке “Обзор” жмем в появившемся окне на инструмент карандаш, то есть “Правка”.
Далее в строке “user_login” меняем стандартное имя администратора – “admin”, например на «DmitriyZhilin”, изменения необходимо прописать в двух местах. Так же? можно изменить пароль для входа в сам WordPress (в административную панель). Делается это в том же окне, в котором мы меняли имя пользователя, только выбираем столбец “user_pass” и изменяем пароль на любой, который душе угоден. Выбирайте MD5, который будет отображаться в выпадающем окне.
Да, не разрешайте вашему браузеру запоминать пароль, то вы можете стать жертвой вируса шпиона!
Пункт №3. Если вы хотите защитить WordPress блог от взлома по максимуму, не забывайте регулярно устанавливать новые версии движка WordPress. Так как в старых версия появляются дыры, которые делают ваш ресурс уязвимым. Как обновить версию WordPress смотрите тут, если она у вас автоматом не обновляется.
Пункт №4. Позаботьтесь об удалении 2-х файлов с именами Readme.txt и License.txt, которые расположены в основной папке сайта. Через них злоумышленники могут выяснить версию движка, которая сейчас стоит на вашем блоге. Зная версию, они без труда узнают те дыры, которые она имеет и будут пытаться сквозь них пролезть.
Пункт №5. Конечно, информация об установленной версии WordPress находится не только в этих файлах. Надо ее почистить и в других местах.
1. Открываем файл header.php (с помощью FTP клиента или напрямую через редактор WordPress). В этом файле удаляем строку:
<meta name=”generator” content=”WordPress <?php bloginfo (’version’); ?>” />
2. Защиту блога от взлома, нужно организовать по максимуму, поэтому откройте файл Version.php, который можно найти в папке «wp-includes». Открыв его, необходимо внести изменения в строчку, которая указывает на версию движка WordPress:
$wp_version = '_._._(номер вашей версии)';
Пункт №6. В файле function.php, расположенному по тому же адресу, пропишите в самом конце строчку:
<!--?php remove_action (’wp_head’, ‘wp_generator’); ?-->
Еще один файл, над которым стоит поработать — search.php. В нем заменяем строку:
<!--?php echo $_SERVER ['PHP_SELF']; ?-->
На
<!--?php bloginfo (’home’); ?-->
Защитит от хакеров, которые не смогут ползать по вашему серверу. Это должно обеспечит защиту WordPress блога.
Пункт №7. Проверяем, етсь ли возможность у каждого желающего просмотреть список файлов, относящихся к вашему движку. Для этого ведите в адресной строке браузера следующие URL’ы:
- адрес-блога/wp-content/
- адрес-блога/wp-content/plugins/
Если по этим ссылкам в окне браузера будут наблюдаться папки и файлы, то это не есть гуд. Надо срочно принимать меры для лечения. Пройдите в эти директории на вашем хостинге через администраторскую панель и создайте в каждой по файлу index.php (без содержимого — пустые). После этого, ввод тех же адресов должен выдавать пустые страницы.
Пункт №8.
Еще один способ удалить любопытных из не публичных директорий — это правка файла .htaccess.
Вставить в него нужно строчку Options All –Indexes. В результате ваш htaccess будет выглядеть примерно так:
# Begin 301 RewriteEngine On RewriteCond %{HTTP_HOST} !^dmitriyzhilin\.ru [NC] RewriteRule ^(.*)$ https://dmitriyzhilin.ru/$1 [L,R=301] # BEGIN WordPress <IfModule mod_rewrite.c> Options All –Indexes RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Пункт №9. по умолчанию, админка WordPress сама подсказывает злоумышленникам причину, по которой их не пускают в панель управления, высвечивается вот такая строка:
Чтобы ее убрать от посторонних глаз, необходимо в function.php добавить фильтр:
add_filter ('login_errors',create_function ('$a', «return null;»));
Пункт №10. Старайтесь избегать входа в панели управления вашими сайтами со старых браузеров и с общественных компьютеров, так как они могут стать тем местом, через которое будут похищены ваши учетные данные.
Пункт №11. Постоянно делайте резервные копии всего, что касается вашего сайта (базы данных, сайты) и храните эти данные на домашнем компьютере. Базы сохраняются при помощи специальных плагинов, о WordPress Database Backup я уже писал. Файлы просто копируются с хостинга на персональный компьютер. Осуществить это возможно при помощи программы FileZilla. Это отличный FTP клиент.
А на этом у меня все! Советую не откладывать безопасность на потом и сделать все перечисленное сейчас, чтобы разные хакеры и мошенники не имели ни малейшего шанса.