Generujte bezpečnostní klíče pro WordPress opravdu bezpečně

Při instalaci WordPressu se setkáte s požadavkem na definici osmi náhodných řetězců, 64 znaků dlouhých, v souboru wp-config.php. Generování těchto klíčů na stránce https://api.wordpress.org/secret-key/1.1/salt/ je Bezpečný generátor klíčůprezentováno jako bezpečné. V tomto článku popisuji zásadní bezpečnostní slabinu tohoto postupu. A z odkazu v tomto článku získáte opravdu bezpečný generátor klíčů.

Klíče a iniciační řetězce

Těchto osm řetězců je obvykle nazýváno klíče, anglicky keys. Jsou to ale čtyři klíče (KEYS) a čtyři iniciační řetězce (SALT). Klíč a iniciační řetězec vždy tvoří dvojici, která je používána pro specifický úkol. Detaily o úkolech, které páry klíč + iniciační řetězec plní, najdete v článku (v angličtině) zde.

Problém serveru api.wordpress.org – vytváří SPOF (jediný bod selhání)

Základním problémem je bezpečnost serveru api.wordpress.org, který se stává kritickým bodem. A my nad ním nemáme naprosto žádnou kontrolu. Je-li pod kontrolou například NSA, nemáme šanci se to ani dozvědět. O možnosti s kompromitací něco dělat ani nemluvě. Je nám předloženo, kde máme získat náhodné řetězce pro naši instalaci WordPressu. A já se obávám, že více než 90 % uživatelů to přesně tak bez přemýšlení udělá.

Server api.wordpress.org se nachází v USA. Provozovatelé serverů jsou v USA povinni ze zákona spolupracovat s bezpečnostními složkami státu. To je v zásadě všude stejné. Pro NSA a další bezpečnostní složky USA je ale získat záznamy o IP adresách a klíčích, za tohoto stavu, jen dětskou hrou.

Nejednodušší cestou je získat SSL klíč, používaný pro komunikaci serveru pomocí protokolu HTTPS, a následně sledovat provoz. Je ale i mnoho dalších možností. Generované řetězce mohou být i přímo zaznamenávány a spolu s IP adresou protistrany ukládány do databáze.

Pro specifickou doménu, na které vznikla prezentace WordPressu, stačí vyzkoušet všechny dříve vygenerované klíče. A začít zemí, ve které se nachází IP adresa, ze které přistoupili ke generátoru klíčů.

Pravděpodobně postačí kontrolovat jen období několika posledních dnů. Generované klíče, oproti vzniklým prezentacím na WordPressu.

Ale i kdyby bylo nutné zkoušet všechny klíče generované v ČR proti všem instalacím WordPressu v České republice, jde pouze o asi 100 000 pokusů* na získanou relaci generovaných klíčů (předpokládaný počet funkčních instalací WordPressu v ČR aktuálně). To je pro výpočetní cloud úloha realizovatelná bleskurychle. A výtěžnost musí být velice „libová“.

A to i v nejhorším případě, kdy by se v praxi kontrolovaly všechny zaznamenané řetězce proti všem známým instalacím WordPressu ve světě.

Ale jak jsem uvedl výše. Při znalosti generovaných řetězců a IP adresy jejich uživatele jsou pravděpodobné cílové instalace WordPressu velice dobře predikovatelné.

Nevěřím proto, že by si NSA, a řada dalších tajných služeb mnoha zemí, takové snadné sousto nechala ujít. 🙂

Nouzové protiopatření – ruční editace řetězců

Ne každý to dělal jako dříve já. Dokud jsem neměl vlastní generátor, řetězce jsem ještě ručně editoval. V každém jsem asi deset znaků náhodně změnil. (Snad to bylo dostatečné.)

Bezpečný generátor klíčů a iniciačních řetězců

Mnohem lepší možností je ale stáhnout si zcela bezpečný generátor klíčů a iniciačních řetězců pro WordPress, který jsem pro vás připravil.

Je to skript, který si uložíte na Linux server. Zkontrolujte si ho, a ujistěte se, že dělá pouze to, co má. 🙂 Pro vygenerování řetězců jej stačí pouze spustit. Superuživatel k tomu není potřeba.

Za stažení od vás budu chtít vaši emailovou adresu. Plánuji více podobných  článků a rád bych vás o nich informoval.

Těším se na vaše podněty a reakce. 🙂


* Podle průzkumu z roku 2015 bylo v ČR cca 65 000 aktivních instalací CMS WordPress. Celosvětově bylo v té době cca 11 300 000 instalací. Novější data nemám k dispozici.

 

Napsat komentář

Vaše emailová adresa nebude zveřejněna.