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>