Dnes už môžeme povedať, že popularita WordPress sa, bohužiaľ, obrátila naruby: útoky voči systému WordPress sú nepretržité. Nemôžeme urobiť nič iné, iba každému odporúčať, aby zaviedol povinnosť ochrany súboru wp-login.php.
Ako sme už predtým písali, voči webovým stránkam vo WordPress prebieha neustály útok. Vo väčšine prípadom útočia na stránku wp-login.php a snažia sa kombináciami hesiel vstúpiť do daného systému.
Často spomínané bezpečnostné predpisy (stiahnutie aktualizácií, ochrana nášho počítača proti vírusom, používanie silného užívateľského mena a hesla, atď.) treba, samozrejme, dodržiavať aj naďalej, ale to už teraz nestačí. „Do botnetov je zarytý názov súboru wp-login.php„, hovoria experti, teda sa môžete chrániť jediným spôsobom: musíme premenovať súbor wp-login.php a stránku wp-admin.
Túto úlohu môžeme uskutočniť dvoma spôsobmi: jedným je, že prepíšeme súbor .htaccess, ktorý je na našom webhostingu; ale menej smelým užívateľom, ktorým tieto zásahy robia ťažkosti, sú našťastie k dispozícii aj moduly.
Najprv vám ukážem prvý spôsob, podľa príspevku na WordPress Fóre.
Originálny súbor .htaccess vyzerá takto:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Do tohto kódu, za riadkom RewriteBase / treba pridať nový príkaz:
RewriteRule ^belepes$ wp-login.php
S týmto zatiaľ dosiahnete iba to, že môžete vstúpiť do vašej Nástenky aj cez odkaz domenovemeno.sk/vstup, aj cez domenovemeno.sk/wp-login.php; preto ešte musíte skryť wp-login.php.
V záujme toho musíte pridať do súboru functions.php nasledujúce riadky:
add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
$old = array( "/(wp-login.php)/");
$new = array( "belepes");
return preg_replace( $old, $new, $url, 1);
}
Od tohto momentu, keď sa WordPress hocikde odvoláva na „wp-login.php“, tak namiesto toho bude používať „vstup“.
V druhom príspevku autor opisuje postup skrytia mapy wp-admin, t. j. Nástenky. Aj tu musíme pridať kód ho súboru .htaccess, nasledovne:
RewriteEngine On
RewriteBase /
##### SEM TREBA PRIDAŤ NOVÚ ČASŤ KÓDU #####
RewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{QUERY_STRING} !NAPÍŠTESEMNIEČOZLOŽITÉ
RewriteRule .*.php [F,L]
RewriteCond %{QUERY_STRING} !NAPÍŠTESEMNIEČOZLOŽITÉ
RewriteRule ^NÁZOVNOVEJMAPY/(.*) wp-admin/$1?%{QUERY_STRING}&NAPÍŠTESEMNIEČOZLOŽITÉ [L]
##### TU SKONČÍ NOVÁ ČASŤ KÓDU #####
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Vo vyššie uvedenom kóde časť „NAPÍŠTESEMNIEČOZLOŽITÉ“ vymeňte za niečo ťažko uhádnuteľné (hocijaké dlhšie slovenské slovo je dobré :-)) – alebo meno obľúbeného zvieraťa), a „NÁZOVNOVEJMAPY“ bude to, kadiaľ sa odteraz môžete dostať na nástenku svojej webovej stránky, teda toto odteraz nahradí wp-admin.
Ak si pozriete príspevky o vyššie napísaných spôsoboch, tak môžete vidieť, že ich napísali už dávno. Odvtedy vyvinuli veľa modulov na odstránenie tohto problému, a ja vám predstavím ten, ktorý na oficiálnej stránke WordPress dostal najviac hodnotení, a to je Rename wp-login.php.
Podľa popisu tento modul pracuje účinne bez toho, že by upravil Rewrite príkazy, a v skutočnosti nepremenuje alebo nezmení ani jeden súbor v systéme WordPress, ale urobí mapu wp-admin a súbor wp-login.php nedosiahnuteľným. (Teda je dobré, ak si zapamätáte, na čo ste tieto premenovali, lebo ináč sa ani vy sami nebudete môcť prihlásiť do adminu 🙂 – ale to je, samozrejme, iba žart, a v prípade, že modul z webhostingu zmažete, tak bude všetko po starom.)
Jeho používanie je veľmi jednoduché: po inštalácii a aktivácii vás presmeruje na stránku Nastavenia -> Trvalé odkazy, kde musíte iba napísať, aký názov má mať vaša prihlasovacia stránka, a už je to hotové. Domenovemeno.sk/wp-admin vás odteraz nepresmeruje na wp-login.php, ale napíše, aby ste sa prihlásili, a domenovemeno.sk/wp-login.php ukazuje chybové hlásenie chyba 404 „Stránka neexistuje“.
Modul Rename wp-login.php spolupracuje s veľkým počtom takých modulov, ktoré používajú prihlasovaciu stránku, a tak nespôsobí ťažkosti u modulov BuddyPress, bbPress, Limit Login Attempts alebo User Switching, a (vlastná skúsenosť) beží v poriadku, ak používate dvojicu modulov User Access Manager + Theme My Login (ale musíte zadať rôzny názov pre tieto dve prihlasovacie stránky). Súčasne robí problémy u tých modulov, ktoré sa neodvolávajú na prihlasovaciu funkciu podľa normy, ale vývojár napísal do kódu názov súboru wp-login.php.
Po tom všetkom si pred aktiváciou modulu prečítajte jeho popis, urobte si bezpečnostnú kópiu svojej webovej stránky, buďte veľmi opatrní, a keď sa vyskytne nejaká chyba, tak modul deaktivujte (alebo zmažte z webhostingu) a vyhľadajte iný na oficiálnej stránke WordPress.
Počítačové zločiny sa týkajú každého, preto je veľmi dôležité, aby sme sa spojili, aby každý z nás spravil všetko možné v záujme toho, aby sa naše webové stránky nedostali do rúk útočníkov. Odporúčam vám, aby ste aj vy zrealizovali vyššie popísaný spôsob ochrany!