WordPress obecně

Jak nastavit bezpečnostní klíče WordPressu a k čemu slouží

Autor příspěvku Tomáš Cirkl

WordPress spravuje přihlašovací relace tak, že ukládá informace do cookies namísto toho, aby použil PHP relace. Tyto soubory cookie jsou zabezpečeny pomocí speciálního HASHe složeného z uživatelského jména, hesla a “dlouhého  náhodného řetězce”. Tyto “dlouhé náhodné řetězce” použité pro výpočet cookie HASHe se nazývají bezpečnostní klíče a jsou obsaženy ve wp-config.php. Po nové instalaci WordPressu vypadají bezpečnostní klíče takto:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Bezpečnostní klíče hrají velkou roli v bezpečnosti stránky. Bez nich by pro kohokoliv bylo relativně jednoduché se dostat do administrace WordPressu. Proto se doporučuje tyto výchozí klíče po instalaci nahradit náhodně generovanými. Bezpečnostní klíče by měly být dlouhé a bez možnosti uhádnutí.

Kde získat náhodně generované bezpečnostní klíče?

Ne každý sype komplikované náhodné řetězce z rukávu, proto WordPress Foundation nabízí službu, kde můžete získat náhodně generované bezpečnostní klíče. Pro vygenerování vašich klíčů vstupte na tuto adresu:

https://api.wordpress.org/secret-key/1.1/salt/

Po otevření stránky se zobrazí náhodně vygenerované bezpečnostní klíče, které mohou vypadat například takto:

define('AUTH_KEY', 'rmn&dED/VbMQ2U4=(|,qi_@g9sH~ ;n9:nta8bh@f/Xmb7ZO:1d;;L+;iuSU;?[');
define('SECURE_AUTH_KEY', 'gVl|,M)Fh_UnW_U&5[if
W$^cKUn/5VzPmH|ACFE4Hmcqdva>q0 ;qy~,tuiS-!g');
define('LOGGED_IN_KEY', 'DF<<<sB,kZQ-oxH$M5j/Jtm$70({zNoqqI?M,~4hw79i^JO$#g8*4K,scFur^F3');
define('NONCE_KEY', '+|D#rdAcsBG<3FvIN5bI
=6%ajY@}%R h.*2${Si8rI6xg|]!aXY1&W>:0yi4]69');
define('AUTH_SALT', '_>;ja5kA+IHV}sGN%EL8C(5VdqE5+3]qP$.3k96jbl=g&X');
define('SECURE_AUTH_SALT', 'b]-+O|nsyF:r(U^YS,:+$^H#n${6QvQQw:k#W&LShu]BtXf]miassPj|+xv(<;v');
define('LOGGED_IN_SALT', ';oyyTJ>damE+J>;
{G?meC{NhC7BXo*kak&#7*j;/wa[_$su6+G{d5X;*VF`1CzE');
define('NONCE_SALT', 'z%-yluBbc##8_bUd,r%d4y|wMLYJA{RE#_kbb)vuJ!A#$+TD(&Xi14J}J<79J|C}');

Tyto klíče nikde nepoužívejte, jsou zde pouze pro ukázku.

Získané řetězce poté zkopírujte do wp-config.php a nahraďte jimi výchozí bezpečnostní klíče.

Co se stane když nemám vytvořené bezpečnostní klíče?

Bezpečnostní klíče jsou v bezpečnosti WordPresssu velmi důležité a důrazně se nedoporučuje tyto klíče ignorovat. Nicméně, pokud nezměníte původní hodnoty klíčů, WordPress vygeneruje své klíče, které uloží do tabulky v databázi. Pokud klíče do wp-config.php přidáte později, budou tyto WordPressem vygenerované bezpečnostní kódy umístěné v databázi přepsány těmi v souboru wp-config.php.

Proč tedy vkládat Bezpečnostní klíče do wp-config.php, když si je umí WordPress vytvořit sám?

I přesto, že si WordPress umí vygenerovat klíče sám, je lepší zadat vlastní řetězce do souboru wp-config.php, protože tím zabezpečení vaší administrace rozdělíte do 2 částí s různou úrovní přístupu (databáze a soubory). Pokud by hacker získal přístup do vaší databáze, ale nikoliv do systému souborů, pak nepřevezme kontrolu nad administrací, protože by disponoval pouze HASHem hesla, ale ne bezpečnostími klíči. Pro tvorbu celého cookie klíče by potřeboval obě části.

Bezpečnostní klíče si není třeba pamatovat a jakmile je vložíte do wp-config.php, můžete je zapomenout. Bezpečnostní klíče můžete kdykoliv změnit bez obav, že to bude mít vážný dopad na provoz vašich stránek.

Co se stane při změně bezpečnostních klíčů?

Je naprosto bezpečné změnit bezpečnostní klíče. Změna se provádí nahrazením současných řetězců ve wp-config.php. Když dojde ke změně, budou všechny dosavadní cookies neplatné. Všechny existující relace budou zrušeny a uživatelé se budou muset znovu přihlásit. Změna bezpečnostních klíčů nikterak nezmění ani neovlivní vaše heslo k přihlášení.

Mám změnit bezpečnostní klíče, když mi někdo hacknul stránku?

Když dojde k prolomení bezpečnosti webu, je nejlepším řešením aktualizovat všechny bezpečnostní prvky administrace. To znamená veškerá hesla i bezpečnostní klíče. Pokud by došlo pouze ke změně hesla, hacker by stále disponoval důležitou částí bezpečnostní vrstvy (bezpečnostními klíči) a mohlo by se mu podařit znovu nabourat do administrace.

Co je SECRET_KEY?

Starší verze WordPressu měly pouze jeden bezpečnostní klíč nazvaný SECRET_KEY. Až ve verzi 2.5 byly přidány další bezpečnostní klíče. Nicméně zpětná kompatibilita se SECRET_KEY je stále dostupná. Pokud je u WordPressu pouze SECRET_KEY, je použit k tvorbě HASHe.

Proč WordPress používá SALT a KEY pro všechny klíče?

V nových verzích WordPress používá kombinaci SALT a KEY pro vytvoření finálního HASHe. Čím více prvků tvoří výsledný HASH, tím náročnější je jeho dešifrování.

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

1 komentář

Zanechat komentář

20% sleva na členství u Elegant Themes (Divi šablona)

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!

Tomáš Cirkl

Tomáš Cirkl

WordPress specialista

Blog WPlama.cz píši už více než 3 roky. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.