Bezpečnější WordPress přes .htaccess

 

1. Zamkněte administraci před nezvanými hosty

Soubor .htaccess můžete využít např. k zabezpečení administrace webových stránek podle IP adresy. Připojit se tak do administrace webových stránek budete moci jen z konkrétních IP adres a míst. Tato metoda je vhodná tehdy, kdy se do nastavení připojujete pravidelně z jednoho PC či několika málo PC se statickou IP adresou. Použít pro to můžete následující kód, který nakopírujete do souboru .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>

Nezapomeňte také vyměnit povolené IP adresy za vlastní. Povolených adres může být, kolik chcete.

2. Chraňte administraci dalším heslem

Pokud se k WordPressu připojujete z různých míst a nechcete být limitováni konkrétní IP adresou, můžete využít zabezpečení heslem. Nejprve bude nutné za pomoci online generátoru vygenerovat .htpasswds soubor a následně jej nahrajte do složky, která není veřejně přístupná. Ideálně ve stylu:
/home/user/.htpasswds/public_html/wp-admin/passwd/

Nyní můžete přistoupit k samotnému .htaccess souboru, do kterého nakopírujte následující řádky 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>

Nezapomeňte nahradit cestu k souboru za „AuthUserFile“ za cestu odpovídající struktuře vašeho hostingu.

3. Zakažte procházení složek

Aby útočníci nemohli vidět, jaké soubory se na vašem hostingu nachází, můžete veřejné zobrazování obsahu složek zakázat. Tento krok doporučuje většina bezpečnostních odborníků.

Pro aktivaci stačí přidat jediný řádek do souboru .htaccess:

Options -Indexes

4. Zakažte spouštění PHP souborů ve vybraných WordPress složkách

Častým způsobem, jak se útočníci snaží nabourat do redakčního systému je využití tzv. backdoorů (zadních vrátek). Často se jedná o soubor, který se útočníkovi povede propašovat na váš hosting, díky kterému může následně vykonávat další příkazy a ovládat váš web.

Jedním z řešení napomáhajících prevenci je vložení následujícího kódu do nového souboru .htaccess:

<Files *.php>
deny from all
</Files>

Soubor následně nahrajte do každé z následujících složek:

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

5.  Zabezpečte soubor s konfigurací wp-config.php

Jedním z nejdůležitějších souborů na vašich WordPress stránkách je soubor wp-config.php. Obsahuje totiž přístupové údaje do databáze včetně hesel.

Pro zabezpečení souboru wp.config.php vložte do hlavního .htaccess souboru následující kód:

<files wp-config.php>
order allow,deny
deny from all
</files>

6. Zakažte přístup určitým IP adresám

Zaznamenali jste nezvykle vysoký počet požadavků na váš web z konkrétních IP adres? Pokud se vám zdá toto chování podezřelé, můžete zablokovat přístup na váš web konkrétním IP adresám.

Do .htaccess souboru přidejte následující řádky a nahraďte xxx za onu IP adresu:

<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>

7. Zakažte skenování autorů ve WordPressu

Oblíbenou technikou útočníků je tzv. útok hrubou silou. Pří něm nejprve dojde ke skenování, kdy útočníci zjistí přihlašovací jména autorů na webu. Poté už jim stačí provést slovníkový či brute force útok na jejich hesla a mohou tak získat přístup do administrace vašeho WordPressu.

Nejjednodušší cestou je zablokovat skenování autorů skrze .htaccess soubor:

# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans

8. Zakažte přístup externích aplikací k WordPressu

Každá instalace WordPressu v sobě ukrývá soubor xmlrpc.php. Soubor umožňuje službám třetích stran přistupovat k WordPressu. Pokud žádnou takovou službu nepoužíváte, doporučují bezpečnostní odborníci zablokovat přístup k tomuto souboru.

Způsobů je více, my si však opět vystačíme s vložením následujících řádek kódu do .htaccess:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Tip na závěr: Zabezpečte samotný .htaccess před neautorizovaným přístupem

Jak jste mohli vidět výše, .htaccess dokáže ovlivnit mnohé. Proto je dobré zabezpečit i tento soubor před útočníky. Použít k tomu můžete následující řádky kódu:

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>