Защита на wp-admin файл

Как да защитя файла wp-admin в WordPress сайт добавяйки допълнителна защита.

Сигурен съм че повечето колеги в SEO бранша са се сблъсквали с подобен проблем. През 2010 година бях написал статията: Please help me, I think I’ve been hacked! след проникване в мой сайт от хакер който изтри всичко и остави снимката, за да има с какво да се хвали по хакерските форуми, и колегите му да му пишат “you are big bro.” От тогава мина доста време и подобна атака не се беше случвала до вчера. И тогава и сега имам същото мнение за подобен вид атаки. Разделям ги на два вида:

  • Атака от начинаещ хакер, който търси похвала за дейността си от негови приятели или познати, както и себе уважение и тонизиране на егото му.
  • Атака от “старо куче” което го прави за пари.

“Младока” обикновено прави по-големи поразии, от типа на изтриване на цялото съдържание, до пълненето със спам и зловреден код, докато опитния хакер поне в половината случаи оставя съобщение на собственика на сайта да си подобри защита, без да нанася щети.

Каквито и защити да ползваш нарочи ли те хакер който има капацитета от знания и инструменти няма начин да не проникне в какъвто и да е сайт, така че допълнителната защита която описвам по-долу се отнася за “младоците”, които търсят себе-доказване.

Атака с bot-ове

Преди два дена съпорта на Хост България пи прати писмо че:

Системата за сигурност засича атака към wp-login.php файла на сайта през последните 24 часа. Правят се постоянни опити за налучкване на паролата за администрацията на сайта. За да спрем тези опити сме добавили допълнителна парола за администрацията на сайта:

Потребител: ******

Парола: ******

Можете да генерирате други данни за вход от: http://www.htaccesstools.com/htpasswd-generator/ като след това сложите реда във файла /home/ime-na-host/.htpasswds/ime-na-papka/wp-login.php

Отворих сайта през FTP за да видя какво са направили. Бяха добавили една нова папка с име: .htpasswds, която включваше отделни подпапки различни за всеки сайт. Във папката на сайта който беше атакуван имаше само един файл: wp-login.php а в него на първия ред имаше кода от htpasswd генератора под формата на: юзър:криптирана-парола.

За да работи тази защита трябва да се добави и следния код:

AuthType Basic

AuthName HBSecurity

AuthUserFile “/home/ime-na-host/.htpasswds/ime-na-papka/wp-login.php”

<Files “wp-login.php”>

ErrorDocument 401 default

require valid-user

</Files>

във файла .htaccess.

Искам да благодаря на Петър Маринов и на hostbulgaria.com за съдействието и оказаната помощ. Така постъпват коректните хостинг фирми.

Мислех че ако сложа плъгин който да лимитира до 4 например опитите за логин ще е по-  добре, или да скрия файла за логин на wordpress, но Петър сподели че това е напълно грешна концепция, тъй като Plug-in = допълнителен php скрипт = допълнително процесорно време =

допълнителни заявки. Така както е защитен wp-login.php в момента, не се използва php, не се

вдига допълнителен процес и се използват нищожно количество процесорни ресурси в сравнение с plug-in. Колкото по-малко плъгини ползвате, толкова по-добре.

За историята добавям че не успяха да налучкат паролата и не можаха да влязат в сайта но вдигнаха рязко заявките и изчерпаха лимита за php процеси и CPU, на общо 201.34, което предполагам че води до “падането” на сайта докато се нормализират заявките.

Слабостите на WordPress

Уордпрес е може би най-добрата система за правене на блогове но има и много пропуски от към сигурността. Тук може да видитте някои от тях. Сайтовете направен на wordpress имат един файл от където можеш да влезеш в администрацията им. Той се нарича wp-admin файл и добавяйки го в браузъра под формата: http://www.blog7.org/wp-admin, ще се покаже една страница с две празни полета:

wp-adminв които трябва да въведеш потребителско име и парола за да получиш достъп до админ панела на уордпрес сайта ти. А влезеш ли един път в админа с администраторски права можеш да правиш абсолютно всичко което си пожелаеш със този сайт. Можеш да изтриеш статиите, да добавиш линкове към други сайтове, които ще са ти полезни, или да го напълниш със спам и “гадни” линкове което ще доведе до съсипването на сайта.

Добавяне на допълнителна защита на файла wp-admin

За да затрудниш опитите на хакерите можеш да добавиш още един такъв прозорец който изисква юзър и парола за да ти позволи да преминеш към второто ниво, където въвеждаш втората парола. При грешка ще се покаже задната картинка. 😉

wp-admin2Същото нещо можеш да направиш и от cpanel-а на хостинга като отвориш Password Protect Directories и избереш папката wp-admin, където създаваш потребител и парола. От същото място можеш да ги изтриеш ако случайно загубиш паролата и не можеш да се логнеш в сайта си. 😉

cPanel

Който и начин да изберете ще бъде допълнителна трудност която трябва да преодолее този който се опитва да проникне в сайта Ви, така че си заслужава да направите всичко възможно за да направите по-трудно начинанието. А когато нещо става трудно и изисква ресурси от време, или финанси, всеки логично мислещ човек се насочва към милионите забравени и не обновени WordPress сайтове със супер лесни пароли от рода на 123456, за да пробва хакерските си умения.

==> Bro, този път не успя, ако атаката е била случайна, и целяща себе-доказване, съм почти сигурен че скоро няма да се върнеш, но ако е била целенасочена и организирана от конкурент причината ми я ясна, и log-овете пазят следи по които ако се наложи мога да тръгна да те търся.

Бях забравил за тази защита но Андон Иванов я спомена в статията си Защитете своят WordPress от Brute-force атаки към wp-admin така че я добавям като тествана и полезна практика.

<Files wp-login.php>
order deny,allow
#На мястото на X.X.X.X въведете IP-то на компютъра от който ще влизате в вашият администраторски панел.
allow from X.X.X.X
deny from all
</Files>

 

3 thoughts on “Защита на wp-admin файл

  1. И аз имах идеята скоро да пиша по темата, че напоследък много често взеха да атакуват отново.

    Не се притеснявай, никой не те е нарочил, просто от месец насам, през определен период от време доста WP сайтове са атакувани с някакъв Brute-Force скрипт, целящ да нацели по-лесните пароли и да придобие достъп до някой WordPress… ако го питаш за какво му е и той сигурно няма да знае 🙂

    Както споменах и аз скоро възнамерявам да пиша по темата и смятам, че има с какво още да допълня темата 😉

    Поздрави още веднъж за полезната тема и имаш едно + в Google Plus от мен 😉

  2. Радвам се че статията ми ти даде вдъхновение и още повече че написа полезни съвети как да предпазим един wordpress сайт.

  3. И аз както и доста колеги имам доста WP сайтове, и винаги си ползвам един и същи начин на защита:

    order deny,allow
    allow from “Моето IP”
    deny from all

    И да чукам на дърво, за сега поне не е имало проблеми. Все пак, знам че 100% сигурност няма, затова и гледам от време на време /когато не ме мързи/ да си правя архиви и да си ги свалям в нас на компа ей така за всеки случай. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *