7 užitečných triků – úprava .htaccess souboru pro WordPress

Co je .htaccess a k čemu slouží?

.htaccess je konfigurační soubor serveru. Umožňuje autorovi stránek, aby si upravoval některé vlastnosti serveru pro příslušnou doménu (resp. adresář).

Většina uživatelů ví, že přes  .htaccess můžete upravovat URL na tzv. „friendly-url“ vhodné pro SEO apod, ale o tom jindy. Nicméně toho umí mnohem více a o tom bude tento článek.

 

Jak .htaccess editovat a kde jej najdu?

.htaccess je soubor, který se píše s tečkou na začátku (běžný návštěvník k němu pak nemá přístup – lze jej požadovat do jisté míry, jako skrytý soubor) a lze ho editovat jakýmkoliv textovým editorem. Zvládne to i obyčejný poznámkový blok ve Windows. .htaccess běží a funguje pouze na serverech, kde je nainstalovaný Apache.

Většinou se nachází přímo v adresáři Vašeho WordPressu (celý dnešní článek je věnovaný WordPressu, tak proto tato formulace) viz:

 

1. Ochrana WordPress administrace

WordPress administrace se nachází v adresáři wp-admin. Přístup do této složky a tím do celé administrace můžeme regulovat právě přes .htaccess.

Můžeme nastavit, aby do administrace byl umožněn přístup pouze z konkrétní(ch) IP.

Přidáním tohoto kódu do .htaccessu umožníte přistup do administrace pouze z IP adresy xx.xx.xx.xxx

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName „Blokace WordPress administrace“
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# Moje IP adresa
allow from xx.xx.xx.xxx
# IP adresa webmastera
allow from xx.xx.xx.xxx
</LIMIT>

xx.xx.xx.xxx je samozřejmě nutné nahradit vaší IP adresou. Zjistit jí můžete například na webu mojeip.cz

 

2. Zaheslování WordPress administrace

Pokud vám nestačí přístup do administrace omezený pouze na IP a nebo jej z nějakého důvodu nemůžete provést (např. z důvodu časté změny IP adresy apod.), tak můžete zaheslovat přístup do administrace WordPressu ještě přes .htaccess.

Prvním krokem bude vytvoření dalšího „souboru s tečkou“ 😀 Tentokrát budeme potřebovat ještě vytvořit soubor s názvem .htpasswds

Vytvořit jej můžete v libovolném textovém editoru a uložit bez koncovky a s tečkou na začátku. Případně stáhnout zde

Soubor obsahuje data pro login na tyto údaje:

Uživatel: admin

Heslo: admin

Důrazně doporučuji tyto údaje nepoužívat a změnit je na vlastní. Rovněž nedoporučuji, aby bylo přihlašovací jméno a heslo totožné s údaji, které používáte pro přihlášení do administrace.

Taková ochrana by pak postrádala smysl 🙂

Pro vygenerování dat do souboru .htpasswds můžete použít nějaký z online generátorů. Já jsem si vybral například ten z webu htaccesstools.com Funguje tak, že vložíte vámi požadované údaje (uživatelské jméno a heslo) a ono vám to přímo vygeneruje řádek, který pak jednoduše nakopírujete do .htpasswds.

Nyní je potřeba zanést tuto funkci do souboru .htaccess a to tímto kódem:

AuthUserFile /home/www/domena.cz/www/.htpasswd
AuthName „Libovolný text…“
AuthType Basic
require valid-user

Zde je potřeba, abyste cestu k vašemu .htpasswd souboru zanesli do .htaccess souboru správně – čili změnit AuthUserFile.

Zjistit absolutní cestu k souboru můžete v php například takto:

<?php
echo dirname(__FILE__);
?>

POZOR soubor  .htaccess s tímto obsahem vložit pouze do složky, kterou chcete zaheslovat, čili do složky wp-admin

Přihlášení pak může vypadat například takto:

Po zadání správného uživatelského jména a hesla se vám zpřístupní administrace WordPressu.

 

3. Zákaz procházení souborů

Pomocí souboru .htaccess můžete rovněž zakázat procházení souborů na vašem webu. V praxi to znamená, že návštěvník webu (nemusí to být nutně útočník) si nebude moci zobrazit soubory na vašem webu. Pro pochopení to může vypadat třeba takto:

Přidáním následujícího kódu zamezíte procházení souborů na vašem webu.

Options -Indexes

 

4. Zákaz spuštění php scriptu v některých složkách

Spousta útočníků zanechává svoje scripty  ve složkách /wp-content/uploads/ a nebo ve /wp-includes/. Obvykle se jedná o soubory s příponou .php se jmény, které vypadají jako jádrové soubory WordPress, ale nejsou. Jedním z opatření, které můžete použít ke zlepšení zabezpečení WordPressu, je zakázání spouštění PHP v určitých adresářích. Níže si ukážeme, jak můžete pomocí souboru .htaccess zakázat spuštění PHP v konkrétním adresáři.

Do .htaccess stačí vložit následující kód:

<Files *.php>
deny from all
</Files>
A opět jej umístit do potřebné složky čili do /wp-content/uploads//wp-includes/

5. Ochrana konfiguračního souboru wp-config.php

Pravděpodobně nejdůležitějším souborem v kořenovém adresáři webu běžícího na WordPressu je soubor wp-config.php. Obsahuje informace o vaší databázi a způsob, jak se k ní připojit.

Chcete-li chránit soubor wp-config.php před neoprávněným přístupem, jednoduše přidejte tento kód do souboru .htaccess:

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

6. blokování podezřelých IP adres

Všimli jste si, že z nějaké IP adresy jde na Váš web příliš mnoho requestů ,než je zdrávo? Můžete jí jednoduše zablokovat v souboru .htaccess a to tímto kódem:

Order Deny,Allow
Deny from xx.xx.xx.xxx

Kde xx.xx.xx.xxx nahradíme podezřelou IP adresou. Pokud chcete zablokovat více IP adres, tak je jednoduše vypíšete pod sebe.

7. Samotná ochrana .htaccess souboru

Ve výše uvedených tipech jste se mohli dočíst, že .htaccess toho zvládá i mnohem více, než „fiendly-url“ a proto je potřeba i tento samotný soubor ochránit a zamezit jeho zneužití.

Stačí přidat následující kód:

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

 

To je prozatím vše. Používáte úpravu .htaccess souboru k prevenci proti útokům? Využíváte jiné způsoby?


Přidej komentář :)