Ako zabezpečiť WordPress použitím súboru .htaccess?

Otázka bezpečnosti prevádzky webovej stránky je v súčasnom období čoraz aktuálnejšia. Spravujete svoj web vo WordPress?  V tomto článku ponúkame praktické rady s konkrétnymi príkladmi zabezpečenia webovej stránky vytvorenej vo WordPress pomocou použitia súboru .htaccess.

Čo je súbor .htaccess a ako ho použiť?

Htaccess je textový súbor, ktorý umožňuje autorovi webovej stránky nastaviť vybrané vlastnosti servera. Pritom nie je potrebný ani úplný prístup správcu. Súbor ovplyvňuje správanie servera len pre konkrétny adresár a podadresáre na serveri. WordPress ho v zásade využíva pre nastavenie správania sa generovaných URL adries, aby boli prívetivé pre vyhľadávače.

Kde sa súbor .htaccess nachádza?

Súbor nájdete v koreňovej zložke hostingu. Prihláste sa k FTP pomocou vybraného klienta a súbor by ste mali hneď vidieť. Stáva sa však, že súbor po prihlásení v FTP klientovi nevidíte.

htaccess ftp

Riešenie je pomerne jednoduché. V nastavení programu (Total Commander, WinSCP či FileZilla) postačí vynútiť zobrazovanie skrytých súborov. Ak súbor napriek tomu neuvidíte, môžete ho na server nahrať ručne alebo v nastavení WordPress kliknite na „Nastavenie“ > „Trvalé odkazy“  a tu zmeňte nastavenie na iné ako základné a dajte uložiť. V tejto chvíli by už súbor mal na serveri byť. Potom prepnite nastavenie späť.

Editácia .htaccess

Pre úpravu súboru poslúži ľubovoľný textový editor od poznámkového bloku po vývojárský PSPad Editor. Skôr ako súbor začnete editovať, urobte jeho zálohu do svojho počítača. Predítete tak prípadným problémom a nastavenie budete môcť v prípade potreby vrátiť späť.

htaccess linky

1. Uzamknutie administrácie pred nepozvanými hosťami

Jednou z možností využitia súboru .htaccess je zabezpečenie správy webu podľa IP adresy. Pripojenie do správy webu môžete obmedziť na konkrétne IP adresy a miesta. Využitie tejto možnosti je vhodné v prípade, že sa do nastavení pripájate pravidelne z jedného PC či niekoľkých málo počítačov fungujúcich na  statickej IP adrese. Nasledujúci kód môžete použiť nakopírovaním do súboru .htaccess:

AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName "WordPress Admin Access Control"

AuthType Basic

<LIMIT GET>

order deny,allow

deny from all

# Povolená IP adresa 1:

allow from xx.xx.xx.xxx

# Povolená IP adresa 2:

allow from xx.xx.xx.xxx

</LIMIT>

Pamätajte na výmenu povolených IP adries za vlastné. Povolených adries môže byť ľubovoľný počet.

2. Ochrana administrácie ďalším heslom

Pripájate sa k WordPressu z rôznych miest a nechcete byť obmedzovaný  konkrétnou IP adresou? Zvoľte zabezpečenie heslom. Prvým krokom bude vygenerovanie .htpasswds súboru pomocou online generátora. Potom ho nahrajte do zložky, ktorá nie je verejne prístupná. Odporúčame nasledujúci štýl:

/home/user/.htpasswds/public_html/wp-admin/passwd/

Teraz môžete pristúpiť k samotnému .htaccess súboru, do ktorého nakopírujte nasledujúce riadky kódu:

AuthName "Admins Only"

AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd

AuthGroupFile /dev/null

AuthType basic

require user putyourusernamehere

<Files admin-ajax.php>

Order allow,deny

Allow from all

Satisfy any

</Files>

Cestu k súboru ešte nahraďte za „AuthUserFile“ za cestu zodpovedajúcu štruktúre vášho hostingu.

3. Zakázanie prechádzania zložiek

Vedeli ste, že verejné zobrazovanie obsahu zložiek môžete zakázať? Útočníci potom neuvidia súbory nachádzajúce sa na vašom hostingu. Tento krok je odporúčaný väčšinou bezpečnostných odborníkov.

Pre aktiváciu postačí pridať tento riadok do súboru .htaccess:

Options -Indexes

htaccess

4. Zakázanie spustenia PHP súborov vo vybraných WordPress zložkách

Častým spôsobom ako sa útočníci snažia nabúrať do redakčného systému je využitie tzv. backdoorov (zadných dvierok). Často ide o súbor, ktorý sa útočníkovi podarí prepašovať na váš hosting, vďaka ktorému môže následne vykonávať ďalšie príkazy a ovládať váš web.

Prevenciou je vloženie nasledujúceho kódu do nového súboru .htaccess:

<Files *.php>

deny from all

</Files>

Súbor potom nahrajte do každej z nasledujúcich zložiek:

  • /wp-content/uploads/
  • /wp-includes/

5.  Zabezpečenie súboru s konfiguráciou wp-config.php

Jedným z najdôležitejších súborov na vašich WordPress stránkach je súbor wp-config.php. Obsahuje totiž prístupové údaje do databázy vrátane hesiel.

Pre zabezpečenie súboru wp.config.php vložte do hlavného .htaccess súboru nasledujúci kód:

<files wp-config.php>

order allow,deny

deny from all

</files>

6. Zakázanie prístupu určitým IP adresám

Všimli ste ste neobvykle vysoký počet požiadaviek na váš web z konkrétnych IP adries? Ak sa vám toto správanie zdá podozrivé, môžete zablokovať prístup na váš web konkrétnym IP adresám.

Do .htaccess súboru pridajte nasledujúce riadky a nahraďte xxx za danú IP adresu:

<Limit GET POST>

order allow,deny

deny from xxx.xxx.xx.x

allow from all

</Limit>

7. Zakázanie skenovania autorov vo WordPress

Obľúbenou technikou útočníkov je tzv. útok hrubou silou. Pri ňom najskôr dôjde ku skenovaniu, kedy útočníci zistia prihlasovacie mená autorov webu. Potom už im stačí uskutočniť slovníkový či brute force útok na ich heslá a môžu tak získať prístup do administrácie vášho WordPressu.

Najjednoduchšou cestou je zablokovať skenovanie autorov skrz .htaccess súbor:

# BEGIN block author scans

RewriteEngine On

RewriteBase /

RewriteCond %{QUERY_STRING} (author=\d+) [NC]

RewriteRule .* - [F]

# END block author scans

8. Zakázanie prístupu externých aplikácií k WordPress

Každá inštalácia WordPress v sebe ukrýva súbor xmlrpc.php. Súbor umožňuje službám tretích strán pristupovať k WordPressu. Ak žiadnu takú službu nepoužívate, bezpečnostní odborníci odporúčajú zablokovať prístup k tomuto súboru.

Spôsobov ako na to, je niekoľko. My uvádzame vloženie nasledujúcich riadkov kódu do .htaccess:

# Block WordPress xmlrpc.php requests

<Files xmlrpc.php>

order deny,allow

deny from all

</Files>

 Tip na záver: Zabezpečenie samotného .htaccess pred neautorizovaným prístupom

Ukázali sme si dôležitosť súbrou .htaccess ktorý, ako sme videli, dokáže mnohé ovplyvniť. Samotný súbor je preto vhodné tiež zabezpečiť pred útočníkmi. Odporúčame použitie nasledujúceho radu kódov:

<files ~ "^.*\.([Hh][Tt][Aa])">

order allow,deny

deny from all

satisfy all

</files>



 

Na tomto webe používame súbory cookie, aby sme mohli zaistiť jeho plnú funkčnosť, analyzovať návštevnosť a prípadne vhodne prispôsobiť obsah a reklamu konkrétnym užívateľom. Všetky takto získané informácie spracovávame v súlade s dokumentom Vyhlásenie o ochrane osobných údajov.