Co jsou Security Keys ve WordPressu

Pokud jste si někdy otevřeli soubor wp-config.php, narazili jste na několik řádků kódu, které obsahovaly poměrně dlouhé řetězce znaků. Souhrnně se nazývají Security Keys a dnes se podíváme, co znamenají a na co se používají.

Na řadě hostinzích, můžete najít možnost, instalovat WordPress jedním kliknutím. Nezkoumal jsem všechny, ale když si otevřete soubor wp-config.php, naleznete uvnitř několik zvláštních řádků:

define('AUTH_KEY', 'e.+7 fK|gs|vq6}+/=}u#Oo|kot|bq+j)Td?qAuipjny7*C/g-5{ZE1|h28BZGo|');
define('SECURE_AUTH_KEY', 'IzFoyEorg<y,f|/&vzwRa}U<|-czLKi;v,W,+yfv|JWrUVc^TX=n-+d875VM@+yJ');
define('LOGGED_IN_KEY', 'sRQ=;sz8wp#?_q232QG&*Z-r*$-J++0WS3c,(ohM mZG/2h?v0mer,e3+7*Q}RE%');
define('NONCE_KEY', 'B`|H]o[d,|a^9w7Wt1fs9455uhJic!2xgP+%E)<t9!i%t%mU)*KjZ] =UfTwz+o ');
define('AUTH_SALT', 'EmG!BsfmI}q-Z$O5H}&qt~EGX+79v|{F-X;a~tI%J~|lr9~s| {+-Yv49Gd9zH)$');
define('SECURE_AUTH_SALT', '*Hai/<hwd!y{_Y++V#]<W0!fSN/+|UNV/XwAYdmm2&.HL=c[^&RhE0i6ls7qW*[7');
define('LOGGED_IN_SALT', 'p;O;*M Czm^#=B:{U[9+LOk=47xWx:glq2T V< :c)zMY04yeQHo0zWZh:c&6{4');
define('NONCE_SALT', 'vIDv;u|MZL6 !xakm+r8nmh+LI%EcWkdVB``QKZGqL(+D^Sku$c9|zVVlf-%}2O)');

 

Proč vlastně jsou vkládány do wp-config.php. Je to proto, že WordPres, pro ukládání relace přihlášení, používá cookies. A pro zabezpečení těchto cookies, je ukládá jako hash.

Konkrétně u přihlášení, se tento skládá z uživatelského jména, hesla a právě jednoho z klíčů. Díky tomu, je použit pro zašifrování, řetězec z klíče.

Co se stane, pokud security keys nepoužiji?

Protože by se jednalo o poměrně závažný bezpečnostní problém, tak si WordPress vygeneruje vlastní klíče, které uloží do DB. V případě, že vložíte do souboru klíče později, budou používány, ty ze souboru.

Když si je WordPress vytvoří, tak proč je ručně vkládat?

Je to otázka bezpečnosti. Pokud z nějakého důvodu, například neošetřeného vstupu, získá útočník přístup k databázi, stále nezíská security keys, které jsou uloženy v souboru.

Musím si klíče někde uložit?

Klíče si nikde poznamenávat nemusíte, stačí, když jsou uložené ve wp-config.php, nikde jinde se s jejich použitím nesetkáte.

Mohu klíče změnit?

V případě, že jste měli napadenou stránku, bylo by vhodné, po dokončení odvirování, změnit i security keys. Jen pro jistotu. Ze změny nemusíte mít obavu, WordPress začne automaticky používat nové klíče.

Jakmile jsou nalezeny nové klíče, všechny relace jsou zneplatněny, takže to nejhorší, co se může stát, je, že vás WordPress odhlásí.

Generátor klíčů

Klíče jsou poměrně složitým řetězcem a proto máte k dispozici generátor všech klíčů, na adrese https://api.wordpress.org/secret-key/1.1/salt/

Stačí okopírovat a vložit do wp-config.php

 

Použití security klíčů, je velmi důležitá věc, z pohledu bezpečnosti a proto je některé pluginy, jako je například iThemes Security, dokáží do wp-config.php vygenerovat.

 

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

6 Comments

  1. David Biňovec

    Ahoj Vláďo, zaujala mě v článku následující věta:

    > Pokud si WordPress instalujete sami, tak klíče musíte do configu vložit ručně.

    Mohl by jsi, prosím, rozvést případ, kdy si musím klíče do wp-config.php vložit ručně?

    Pokud si WordPress stáhnu z https://cs.wordpress.org a rozbalím daný adresář na serveru, skončím na instalační obrazovce, kam zadám údaje o MySQL serveru a WordPress za mě buďto vytvoří soubor wp-config.php s vygenerovaými klíči, nebo mi vygeneruje obsah souboru wp-config.php pro ruční uložení (v případě, že WordPress nemůže do rootu webu zapisovat).

    Trochu jiná situace je, pokud namísto této GUI instalace přejmenuji soubor wp-config-sample.php na wp-config.php. To je to, co jsi měl na mysli?

    Odpověď
    1. Musilda

      Asi to bude tím, že mám připravený stažený balíček, který kopíruju. Díky za upozornění, upravím to.

      Odpověď
      1. David Biňovec

        No, teď když čtu článek, a byl bych laik, tak třeba nevím, jak takové security keys nepoužít. A už vůbec mi chybí informace o tom, že pokud neinstaluji WordPress přes instalátor, ale přejmenováním souboru wp-config-sample.php na wp-config.php, tak musím upravit defaultní klíče ( https://github.com/WordPress/WordPress/blob/1acedc542fba2482bab88ec70d4bea4b997a92e4/wp-config-sample.php#L49,L56 ) na něco jiného (ideálně použitím zmiňovaného nástroje https://api.wordpress.org/secret-key/1.1/salt/ ).

        A také si myslím, že by bylo vhodné zdůraznit, že security klíče by měly být pro každou instalaci unikátní. Tedy ne, že si připravím jedno wp-config.php a pokaždé přepíšu jen přístupy do databáze :)

        Sorry, že šťourám, ale jsem rád, že se tu tvoří nějaká osvěta v tomle ohledu a rád bych, aby měla nějaký pořádný efekt :)

        Odpověď
  2. mirekk

    Když používám https, musím taky mít ve wp-config tyto klíče? Mám je tam, ale jsou i teď nutné?
    Díky za odpověď

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *