Mimořádně kritická chyba Linuxu: běžný user může být root
MyEgo.cz
Mimořádně kritická chyba Linuxu: běžný user může být root
Linuxový kernel 2.6.17 - 2.6.24 je náchylný na doslova strašlivý exploit, kdy běžný uživatel získá práva roota. Takže pokud něco provozujete pod Linuxem, aktualizujte a přesvědčte se, zda už v systému nejsou vytvořena zadní vrátka (nebo přejděte rovnou na bezpečnější Windows 2008 Server).
Radku, prosím, poraďte mi na kterém z těch Windows serverů se dá rozjet MySQL v 8 instancích, preforkovaný Apache, Lighttpd jako reverzní proxy a Bind 9 jako DNS, pokud to jde, začnu o tom vážně uvažovat.
Pak se ještě zeptám - kdyby se podobná chyba vyskytla na Windows platformě, znáte osobně někoho, kdo by ji dokázal sám opravit?
[1] já sám provozuji několik Linuxových serverů (na volně stažitelném CentOS 5.x) a vážně uvažuji o migraci na nový Windows 2008 Server. Minimálně u jednoho klienta už je o tom rozhodnuto. Aktualizace CentOS jsou dost katastrofa, občas nový update kernelu rozhodí stávající systém tak, že je potřeba jej hodiny nastavovat (v poslední verzi jádra například přestala fungovat eht0 marvel síťová karta, takže jsem hledal a kompiloval vlastní patch), občas "jen" nastane nepořádek v knihovnách.
Po jednom update na mě yum začal sám od sebe mluvit čínsky a rozpadlo se mu repository... Na Asus Commando základní desce nefunguje CentOS 5.0 (základní kernel) s Memory Remap, takže není možné použít plných 4GB RAM ani na x64. A je toho více... Fedora ani Ubuntu/Debian na tom nejsou o nic lépe (zvláště při použití moderního HW).
Ve Windows se podobné děsivosti prostě nestávají. Je možné, že komerční (placený) Linux od RedHatu by na tom byl lépe, ale než utrácet peníze za Linux s komerční podporou a zárukou, raději zvolím Microsoft a jeho 100% funkční serverové řešení. Nehledě na postupný odklon od Apache a přechod na skvělé IIS 7.0.
[2] S CentOS zkušenosti bohužel nemám, používám Debian stable (momentálně etch), tam takové problémy nebývají. Na druhou stranu mám ale i rok staré verze některých aplikací (což v 99% případů nevadí, ale v 1% případů si musím danou aplikaci zkompilovat sám). Co se kernelu týče, tak vždy používám vlastní (mimo jiné kvůli úžasné OpenVZ virtualizaci, která v distribučním kernelu není) a pokaždé mi funguje na první pokus (protože konfigurací vycházím z distribučního a změním v něm jen pár drobností) - stejně se ale vždycky trošku bojím ten stroj v serverovně na dálku zrestartovat, zvlášť když není zrovna po ruce auto nebo není moc času jet přes půl prahy do serverovny. Naštěstí zatím pokaždé v pohodě (uf ;))
Komerční linux s podporou jsem nikdy nepoužíval, především kvůli tomu, že nemám rád RPM-based distribuce (což ale obě dvě nejdůležitější komerční distribuce jsou).
Ještě ze zeptám co že má nové IIS za "vychytávky", naposledy jsem viděl verzi 5 a to ještě velmi povrchně a připadalo mi, že to žádnou výhodu oproti Apachi nemá (snad kromě paměťové náročnosti, co Apache má - z toho důvodu před něj radši předřazuju lighttpd jako tu reverzní proxy - Apache pak méně forkuje a sežere méně paměti)
Takovéto chyby ubsahují všechny OS ... dokud nejsou objeveny, nikoho netrápí (viz. napřtato chyba existuje už více než 1,5 roku) ... hlavní otázkou zůstává, jak rychle lze v případě objevení zareagovat
V případě linuxu mi provizorní zaplátování zabralo asi 10 minut po tom, co jsem se dozvěděl, že chyba existuje .. stačilo v jádře poopravit vrácenou hodnotu funkce vmslpice() a jádro překompilovat .... s tím jsem vydržel asi 5 dnů, dokud nevyšlo nové opravené distribuční jádro. Obávám se že v případě MS bych byl jen odkázán na rychlost Microsoftu a tudíž měl zranitelný systém den, dva nebo i více.
A co Solaris? Nemůžeš si stěžovat na nedostek podpory ani na cenu, stačí i jen vybrat edici dle potřeby... Některé vlastnosti v jiných OS nenajdeš (vážně miluji ZFS). A co se týka stability:
http://www.youtube.com/watch?v=jQu7NTe7pqg... :-D
Nebyl podobně funkční bug i ve Windows? Mám takový dojem, že jsem to ne ani moc dávno četl.
Čakal som kedy Radek Hulán napíše o tomto článok... medzitým sa už stihol vydať kernel patch a potom další, ktorý opravuje starý patch. :-)
Ano, chyba to je dost drsná a docela jsem koukal, když jsem si to u sebe spustil.
Ovšem faktem je, že na místě, kde byla chyba zveřejněná včetně návodu jak si to vyzkoušet je hned v záložce "Solution" sada patchů.
Takže by bylo fajn uvést, že na bug byly okamžitě vydány záplaty. Teď to vypadá, že všechny linuxové systémy jsou vlastně otevřené a nikdo s tím nic nedělá. http://www.securityfocus.com/bid/27704/solution...
[6] Bugy způsobující local privilege escalation byly alespoň jednou prakticky na všech systémech, u těch co jsou open source se jen lépe hledají (tedy hledají se stejně obtížně, ale ke zdrojáku má přístup řádově 10-100x víc lidí). Např. poslední chyba local privilege escalation ve Windows XP (umožňovala normálnímu uživateli spustit aplikaci s právy administrátora) byla objevena před necelým rokem, viz http://www.securityfocus.com/bid/23367....
Obecně se ale dá říct, že chyby zneužitelné lokálně nejsou nic ve srovnání s chybami zneužitelnými vzdáleně (což například v defaultní instalaci Windows XP bez SP2 bylo, viz http://www.securityfocus.com/bid/10108...)
[9] Windows XP není serverový systém, tam podobná chyba má téměř nulovou závažnost. Drtivá většina lidí (99% ?) stejně pracuje jako Administrátor, takže není co získávat ;)
[10] Ano, to rozhodně uznávám.
Jiná věc je ale to, že podobné chyby byly i ve Windows NT 4, což serverové systémy byly (jsou). Další věc je to, že díky dnešním možnostem virtualizace je skoro jednodušší někomu vytvořit virtual a dát mu v něm roota, než mu vytvářet někde uživatele..
Prostě každý software má chyby. Linux má chyby, Windows mají chyby, dokonce i OpenBSD pár chyb mělo. Podstatně důležitější, než prostý výskyt chyb (resp. nálezovost), je zneužitelnost chyb (ano, zde poměrně značná, ovšem na druhou stranu v den vydání oznámení a exploitu jsem ani na jednom ze svých cca 15 produkčních serverů (něco z toho jsou virtualy) nedokázal chybu použít (protože na těch virtualech to spadlo a na těch fyzických není jiný uživatel, než root)) a opravitelnost chyb (tam, kde mi to opravdu vadilo, konkrétně na domácím serveru, kde je uživatelů víc, jsem si to opravil sám jednoduchým patchnutím jádra - volání vmsplice stejně na nic nepotřebuju, takže mi vůbec nevadilo, když pár dní vracelo ENOSYS).
Obávám se, že i kdybych používal Windows posledních 9 let (tak jako používám Linux), podobnou chybu bych v nich na vlastní pěst zalepit nedokázal.
Nemám rád linux, ale bohužel pro projekty s menším rozpočtem je bohužel windows server 2008 nedostupný a hostingů s ním je také málo nebo jsou předražené :-(. Možná kdyby MS nasadil jinou cenovou politiku, windows server by se začal více používat a linux by šel dolu :-).
Jo a nevíte jestli je v té verzi co jde do výroby hiper-V - některé zdroje tvrdí, že ano a některé že ne....
[13] já jsem instaloval pod VMware a Hyper-V v Roles nebyl. Ale dával jsem to za vinu tomu, že běžím pod hostovaným OS. A mimochodem, ten systém je brutálně rychlý, přestože má stejný kernel jako Vista SP1, tak instaluje a spouští v základu mnohem méně věcí a doslova to letí...
Co já vím, tak uživatel na normálně nainstalovaných Windows XP (v podstatě i na Vistách), má v podstatě práva Roota. Tím chci říci, že po zneužití této chyby se útočník dostává ke stejným možnostem jako by měl běžně na Win. Myslím, že klíčové je stejně to - jak se na ten počítač vůbec přihlásit?
[4] "s tím jsem vydržel asi 5 dnů"
Nemyslel jste 5 hodin?
[17] U Windows (ať už XP, 2000, Vista, nebo jiné), které jsou na domácím počítači je poměrně časté, že lidé pracují jako administrátor. Ale je spousta počítačů například ve firmách, ve školách, v internetových kavárnách ... kde lidé pracují pouze jako obyčejný uživatel (a lidí s přístupem administrátora je málo, třeba i jen jeden člověk) a je většinou silně nežádoucí aby uživatelé získali vyšší práva, než jaká mají přidělena - možností zneužití je mnoho (nainstalovaný keylogger někde v bance asi zrovna nepotěší :)
A prostě mi to nedá a také se musím připojit k této "úchvatné" diskuzi. Je mi jasné, už podle toho že vznikl tento článek, že z toho RaDo má velikou radost. Když tu řešíte bezpečnost serverů. Existuje taková šikovná věcička, která se nazývá virtual useři, takže pokud mám hostingový server a spravuji ho. Bezpečnost není nijak ohrožena.
Jiný případ: Linux jako Inet GW. Opět mám roota a usera má jen ten komu věřím. Prostě zas tak kritická chyba to nebyla. K opravě mi stačilo apt-get update a apt-get upgrade.
Ještě si rýpnu. Když tak rád porovnáváš OS Linux a Windows, zkus jeden pokus. 2 PC, na každém čistá instalace jednoho systému, přiřaď každému veřejnou IP adresu, na Windows vypni firewall, na Linuxu pokud je tam nějaký shorwall nebo tak něco, tak vypnout. Standatrně iptables vše povolují. Který systém vydrží déle? Windows dávám 15 minut.. ;-)
Očekávám, že mě zavalíš vlnou kritiky a dáš mi ban. Mě to nevadí veřejných proxy serverů je po světě dost ;-)
Hmmm... mne to na jadre 2.6.18 nefunguje...