Dávejte pozor na zabezpečení Drupal stránek

Před pár dny se internetem šířila zpráva, že Jiří Paroubek si založil novou stranu Národní socialisté – levice 21. Což by se normálně přešlo bez povšimnutí. Nicméně strana také spustila nové stránky postavené na redakčním systému Drupal. Bohužel brzy pozorní návštěvníci našli zajímavou chybu. Více se dozvíte v následujícím článku + tip jak se jí vyvarovat na vašich webech.

Drupal je dobrý sluha, ale špatný pán

Nejdříve pár slov k tomu, jak Drupal funguje. Je to v podstatě modulární stavebnice. V základu tak Drupal umí velmi málo, ale lze ho jednoduše rozšiřovat. Díky tomuto řešení na něm mohou běžet malé ale i největší weby na světě (dle statistik Drupal používá 1,8% stránek na světě). V zásadě se tak jedná spíše o pokročilý vývojový framework než obyčejný redakční systém. Tím se dostáváme k problému, že tvůrci webů často nemají dostatečné povědomí o všech aspektech a zásadách vývoje pod Drupalem.

A jako přímo učebnicový příklad slouží stránky nslev21.cz, které měly veřejně přístupné veškeré přihlášky! Každý kdo znal správnou adresu (nslev21.cz/dekujeme/17/XX) mohl snadno zjistit všechny osobní údaje přihlášených osob. Tato chyba byla již opravena, ale údaje jsou stále dostupné v google cache, protože na ně vedla spousta odkazů z diskuzí. Níže přikládám ukázku:

Drupal se standardně chová tak, že všechen obsah je veřejně přístupný. Obsah si tak může prohlížet kdokoliv. Často se na to zapomíná, obzvlášť pokud se jedná o interní obsah.

Jak se této chyby vyvarovat?

V podstatě existuje mnoho řešení. Nejjednodušší je použít modul Content Access , který nám umožní přidělovat oprávnění dle typu obsahu nebo pokročilejší modul Page Manager , který nám umožní definovat pravidla a pak také i následné akce.

Další možností je napsat si vlastní přístupové pravidlo přes hook_node_view. A řešení, které bych v případě nslev21.cz volil já je vygenerování unikátního url řetězce, aby nešlo jednoduše iterováním přijít na ostatní záznamy. Toto řešení má výhodu v tom, že uživatel ke svým údajům má přístup i přes odkaz v emailu apod. bez přihlášení.

Pokud k této oblasti máte jakékoliv relevantní doplnění, prosím napište mi ho v komentářích.



Komentáře

Zatím nikdo nepřidal komentář, můžete být první.



O autorovi

Pari

Vítejte na mém blogu, rád bych se v krátkosti představil. Je mi 26 let. Momentálně nejvíce času věnuji projektu Lepime.cz - obchod se samolepkami na zeď a tvorbě webů postavených na redakčním systému Drupal pod značkou MEPA.CZ.