Drvivá väčšina webstránok, ktoré v súčasnosti otvoríte, vznikla a funguje vďaka CMS softvéru. Podobné percento týchto stránok však môže obsahovať aj bezpečnostné chyby, ktoré umožňujú ich napadnutie a krádež citlivých dát. Preto sme sa v našom seriáli o IT bezpečnosti pozreli na bezpečnosť najpoužívanejších CMS systémov.
Čo je CMS?
CMS je skratka anglického výrazu Content Management Software, ktorý reprezentuje systém na správu obsahu webstránok („redakčný systém“). Ide o najčastejšie využívanú formu spravovania akéhokoľvek obsahu na webstránkach. Dá sa povedať, že ide o jadro webstránky, ktoré je zodpovedné za samotnú funkcionalitu administrátorského rozhrania, ako aj za všetky funkcie, ktoré ponúka web samotný.
Z pohľadu bezpečnosti je CMS kľúčovým prvkom bezpečnosti vašej webstránky.
Pri výbere CMS systému pre tvorbu nového webu alebo aktualizáciu existujúcej webstránky či aplikácie je nutné brať ohľad najmä na jeho bezpečnosť. Hoci by ste dnes na internete našli desiatky voľne dostupných CMS systémov, v našom článku sa zameriame na 3 najpoužívanejšie CMS platformy – Drupal, Joomla a WordPress.
Drupal
Drupal sa radí medzi najbezpečnejšie CMS systémy. Je tak – relatívne – bezpečný, že ho na tvorbu webstránok používajú aj vládne organizácie (dokonca aj na Slovensku). Za jeho bezpečnosť môžeme vďačiť najmä otvorenej bezpečnostnej politike a desiatkam bezpečnostných expertov, ktorí sa denne venujú odstráneniu nedostatkov tohto systému. Z používateľského pohľadu ide o stredne náročný systém, ktorý však ponúka dostatok funkcií a tém pre použitie na akýkoľvek web.
Joomla
Podľa informácií z marca tohto roka má Joomla vo svojom tíme približne 15 bezpečnostných expertov, ktorí sa starajú o neustále zlepšovanie jej zabezpečenia. Z vývojárskeho hľadiska je Joomla veľmi náročná na nasadenie, pričom si inštalácia vyžaduje množstvo citlivých nastavení, ktoré sa týkajú aj bezpečnosti. Aj preto nepatrí Joomla medzi tak populárne systémy. Svojou komplexnosťou je však vhodná pre firmy, ktoré chcú ovládať všetky parametre svojho CMS systému a nechcú nechať nič na náhodu.
WordPress
CMS systém WordPress zrejme netreba nikomu predstavovať. Ide o najrozšírenejší redakčný systém na svete, ktorý ponúka najviac externých tém aj pluginov. Aj preto ale WordPress obsahuje najviac bezpečnostných nedostatkov a je aj najčastejším terčom kybernetických útokov.
Keďže ale WordPress ponúka tak rozsiahle možnosti prispôsobení a pluginov, je ho možné pomerne jednoducho ochrániť pred bežnými typmi útokov (najznámejší bezpečnostný plugin je Wordfence). Stále však obsahuje mnohé chyby, ktoré sú verejne známe a zneužiteľné. Aj preto treba pri nastavovaní a používaní WordPressu dodržiavať prísne pravidlá a nadštandardne dbať na jeho ochranu.
Bezpečnosť CMS – programovací jazyk
Aj tak banálna vec, akou je programovací jazyk, má vplyv na bezpečnosť vašej webstránky či aplikácie. V tomto ohľade sú si nami porovnávané CMS systémy veľmi podobné. Ich jadro bolo vytvorené pomocou jazyka PHP.
Drupal | Joomla | WordPress | |
---|---|---|---|
Typ CMS | Open source | Open source | Open source |
Jadro CMS | PHP | PHP | PHP |
Ďalšie používané prog. jazyky | JavaScript, CSS, HTML, SQL, PEAR | JavaScript, HTML, PEAR, CSS | JavaScript, CSS, HTML, jQuery |
Typ databázy | MySQL, PostgreSQL, SQLite | MySQL | MySQL |
Rovnakú bezpečnosť ponúkajú jednotlivé CMS aj z hľadiska používanej databázy. V tomto prípade je ale výnimkou Drupal, ktorý okrem bežne využívanej MySQL databázy podporuje priamo aj PostgreSQL a SQLite databázy.
Bezpečnosť z hľadiska CVE chýb
CVE je skratka pre Common Vulnerabilities and Exposures. Ide o medzinárodný štandard označovania bezpečnostných nedostatkov, ktoré vydávajú autorizované CNA autority (CVE Numbering Authorities) po celom svete. Počet takýchto chýb týkajúcich sa jednotlivých CMS systémov hovorí nepriamo o úrovni ich zabezpečenia.
Skresľujúcim faktorom však môže byť počet doplnkov, pluginov a tém, ktoré sú dostupné pre jednotlivé CMS. Logicky, ak najviac takýchto doplnkov ponúka WordPress, je najviac pravdepodobné, že samotné CMS bude spájané s najväčším počtom CVE chýb. A v skutočnosti to tak aj je.
Drupal | Joomla | WordPress | |
---|---|---|---|
Počet CVE zraniteľností v roku 20171 | 13 | 54 | 245 |
Celkový počet CVE zraniteľností2 | 1019 | 901 | 1418 |
Počet webstránok používajúcich dané CMS3 |
647 000 | 1 983 000 | 19 545 000 |
1 Počet CVE zraniteľností na základe vyhľadávania kľúčových slov “Drupal”, “Joomla” a “Wordpress” na nvd.nist.gov/vuln/search.
2 Celkový počet CVE zraniteľností na základe vyhľadávania kľúčových slov “Drupal”, “Joomla” a “Wordpress” na nvd.nist.gov/vuln/search.
3 Zdroj: https://trends.builtwith.com/cms, dáta k 5.12.2017
Počet CVE zraniteľností je pre dané CMS platformy možné zistiť aj na webe CVEdetails.com. Ten ponúka aj pohľad na to, o aký typ zraniteľností ide, čo je v rámci IT bezpečnosti dôležitý údaj.
Podľa počtu CVE chýb by sme mohli usudzovať, že najbezpečnejším CMS systémom je Joomla, no skutočnosť je trochu iná.
Nemýľme si jadro s témami a pluginmi
Pri pohľade na bezpečnosť jednotlivých CMS systémov je potrebné rozlišovať, či zraniteľnosť obsahuje samotné jadro, niektorý z doplnkov (pluginov) alebo téma stránky. Dobrým príkladom je v tomto prípade WordPress – ako najpoužívanejší CMS systém na svete.
Podľa dát WP Scan obsahuje WordPress ako platforma viac ako 10 000 bezpečnostných zraniteľností. WP White Security tvrdí, že až 54 % z nich tvoria zraniteľnosti samotných pluginov, 14 % zraniteľnosti tém a 32 % zraniteľnosti samotného jadra WordPressu.
Hoci sa nám podobné štatistiky pri ostatných dvoch porovnávaných platformách nepodarilo získať, treba brať do úvahy, že CMS platforma je tak bezpečná, ako sú bezpečné všetky jej súčasti, to znamená aj pluginy a témy. A častokrát sú to práve externé doplnky, ktoré rozhodujú o celkovej bezpečnosti vášho webu alebo aplikácie.
„V priemere každý piaty WordPress plugin obsahuje nejakú bezpečnostnú zraniteľnosť. 31,5 % z týchto zraniteľností má vysokú závažnosť.“
Všetko závisí od prístupu
Hoci môže počet zraniteľností alebo istá úroveň zabezpečenia samotného jadra systému znázorňovať z časti úroveň celkovej bezpečnosti, vždy bude najdôležitejším ľudský faktor a váš prístup. Ak sa totižto nebudete venovať IT bezpečnosti, tak sa vo vašich rukách aj ten najbezpečnejší systém stane zraniteľným.
Je dôležité dodržiavať množstvo pravidiel a bezpečnosti vášho webu alebo aplikácie venovať nielen čas, ale aj časť vášho rozpočtu. Len tak dosiahnete naozaj vysokú úroveň zabezpečenia vášho systému.
Odhliadnuc od možností zabezpečenia, ktoré máte vo svojich rukách, za najbezpečnejšie CMS možno považovať Drupal. Je voľbou mnohých veľkých organizácií a jeho otvorený prístup k bezpečnosti víta celá IT komunita. Jeho nevýhodou je ale vyššia náročnosť na inštaláciu a administráciu.
Za druhú najbezpečnejšiu CMS platformu považujeme Joomlu, ale len v prípade, že na jej implementáciu je nasadený skúsený tím developerov s dostatočným rozpočtom. Jej nastavenia sú totižto nadštandardne komplikované a pri zlom nastavení môžu spôsobiť mnohé bezpečnostné problémy.
Za najmenej bezpečný považujeme WordPress. To avšak neznamená, že vám neodporúčame jeho používanie. Vďaka veľkému množstvu bezpečnostných riešení a silnej komunite je možné WordPress používať v naozaj bezpečnej forme. Rovnako ako pri iných platformách, aj pri WordPresse je ale nutné investovať istú časť rozpočtu do IT bezpečnosti a dbať na detailné nastavenie všetkých bezpečnostných parametrov.
Zaujímavým je fakt, že WordPress pokladajú z dlhodobého hľadiska za bezpečné riešenie tvorby a manažovania webstránky bezpečnostné agentúry a vláda Austrálie. To len dokazuje, že aj CMS s najväčším počtom CVE chýb môže byť v správnych rukách bezpečnejším riešením než ostatné CMS systémy.
Čo rozhoduje o bezpečnosti CMS?
Po prečítaní tohto článku by ste mali vedieť, že o bezpečnosti samotného CMS systému rozhoduje niekoľko parametrov. Je to nielen počet chýb, ktoré má jadro CMS, ale aj zraniteľnosti jeho doplnkov a tém. Každé CMS, ktoré sme v tomto článku porovnávali, je ale komplexným riešením s obrovským množstvom možností zabezpečenia. V konečnom dôsledku tak bezpečnosť vášho CSM závisí len na tom, koľko úsilia a financií jej venujete.
A na bezpečnosť vášho webu či online aplikácie netreba zanevrieť ani po jej spustení. Práve vtedy treba na jej bezpečnosť myslieť ešte viac. Ako každý online systém, aj vaše CMS by pred spustením malo prejsť penetračným testom a následne by malo byť zapojené do bug bounty programu. Nezabudnite, že už čoskoro vstúpi do platnosti nové nariadenie GDPR, ktoré za nedodržanie istých bezpečnostných krokov hrozí pokutami v miliónoch eur.