|
|
V dnešním příspěvku shrnou téma “bezpečnost v Linuxu”. Pochopitelně se nejedná o vyčerpávající výčet dostupných řešení, ale jde o základní nastínění dostupných technologií a principů chování. Velká část následujícího textu pochopitelně platí i pro jiné operační systémy.
1. Balíčkovací systém : Za hlavní bezpečnostní prvek Linuxu považuji způsob distribuce softwaru. Hlavními výhodami této formy distribuce je:
2. Systém práv : Základní principy práv v Linuxu jsou:
Kromě toho Linux, linuxové souborové systémy a aplikace často podporují i jiné modely bezpečnosti jako např. access contorl list (ACL).
Nepostradatelnou roli hrají speciální souborová práva :
3. Různé utility a limity : Některé procesy potřebují pro svůj bezvadný chod zajistit dostatečný přístup ke zdrojům. K tomu lze využít především:
4. Antiviry apod. : Využití antivirů na linuxových desktopech je velmi neobvyklé, protože neexistují reálné hrozby. Antiviry jsou převážně nasazovány na linuxové servery, kde filtrují hrozby pro operační systém Windows. Například linuxový mailový server bude obsahovat nějaký antivir a antispamový software (např. SpamAssassine), které filtrují příchozí poštu.
Linux se výrazně liší od Windows. Problematika specificky linuxových hrozeb je skutečně vážně diskutována; např. na třetí stránce odkazovaného popularizačního pdf od Tomasze Kojma (ClamAV) se upozorňuje na možnost šíření linuxových virů pomocí hlavičkových souborů. (Jinou implementaci zneužití hlavičkových souborů jsem naznačil v minulém příspěvku.) Žádný výrobce však na základě těchto postřehů neimplementoval účinné heuristiky, které by proaktivně vystupovali proti hrozbám nultého dne.
Otázka, zda existují skutečné antiviry pro Linux, je proto sporná. “Linuxové antiviry” jsou de facto porty antivirů pro Windows. Software zaměřený na hrozby směřující proti Windows pravděpodobně neposkytne dostatečnou ochranu Linuxového prostředí proti (hypotetickým) budoucím závažným hrozbám určených pro Linux. Navíc dodavatelé těchto řešení zpravidla nedisponují ani dostatkem odborníků na systémy Unixového typu.
5. Netfilter/Iptable : Linux obsahuje vestavěný firewall/router. Backend Netfilter je integrován přímo do síťového subsystému jádra.
6. Bezpečnostní moduly : Jedná se například o jaderné moduly SeLinux, AppArmour atd. Tento software začlení na různá místa v jádře “háčky”, které vyvolávají různé kontroly splňování nadefinovaných podmínek. Screenshot z nastavování SeLinuxu vidíme výše. Tyto moduly umožňují neuvěřitelně precisovat bezpečnostní politiku. Je však třeba si nejprve uvědomit :
7. randomizace paměti : Je veřejným tajemstvím, že naprostá většina exploitů nějak využívá přetečení/podtečení datových struktur. Například přetečení zásobníku (Stack buffer overflow) a return-to-libc attacks mohou klidně vést k vykonání podsunutého kódu (tzv. shellcode). Prostředky obrany jsou:
Randomizace paměti (ASLR) sice chyby v programu neodstraní, ale znemožní autoru malwaru dopředu odhadnout adresy v paměti a rovnou implementovat skok na shellkód. ASLR je tak velmi účinnou ochranou před vykonání podstrčeného kódu.
Částečně související příspěvek týkající se umístění v paměti: Vytvoření dynamické knihovny v Linuxu
8. prostředky autorizace, autentizace a šifrování : Různé distribuce obsahují různé prostředky. Základem však jsou:
9. izolace a virtualizace : Virtualizace je bezpečnostní technologie minimálně z těchto důvodů :
Linux podporuje nejrůznější virtualizační technologie včetně system-level virtualizací. Samotná novější jádra disponují jmennými prostory (namespace), což je analogie jailu ze systému FreeBSD nebo zón ze systému Solaris. Za zmínku stojí i starý unixový příkaz chroot, který umožňuje de facto virtualizovat souborový systém.
10. Standardy a dokumentace : Bez standardů by různí distributoři různé detaily implementovali libovolně. Tím by se snižovala kompatibilita distribucí a při přenášení aplikací mezi distribucemi by se nečekaně objevovali různé chyby. Navíc fixovaná rozhraní API a distribuce zdrojového kódu eliminují důsledky rozdílů ve výsledné ABI; podrobnosti viz začátek příspěvku Linuxové ovladače.
Štítky: Bezpečnost, Přehledy, Principy Linuxu, První krůčky v Linuxu
11. Zkušenost uživatelů - Linux používají především, uživatelé, kteří znají rizika a jsou schopni se jim bránit.
12. Nízká penetrace systému u uživatelů - Linux má pouze 1% desktopových PC. Je tedy nerentabilní tvořit pro něj malware za účelem zisku.
myslím si že pokud je cílem malware například stát se zombie pro DDoS útoky nebo použít mail server pro spamování okolí tak je mnohem výhodnější použít server (kde je linux mnohem rozšířenější než windows) než desktop, který může majitel kdykoliv vypnout
jinak musím pochválit parádní článek, jen tak dál
Anonymous:
11. suhlasim
12. casty argument neznalcov. Ako si sam poznamenal, linux ma 1% DESKTOPOVYCH PC. Ale co sa tyka serverov, ma celkom vysoku penetraciu. Tam je ovela rentabilnejsie vytvaranie virusov a malware za ucelom zisku ako pri nejakej stanici jozka mrkvicku v hornej dolnej.
ad clanok) zatial asi jeden z najlepsich tohto blogu. ![]()
Hulvat [3] Server je mnohem těžší napadnout. A to díky:
- jsou v průměru lépe zabezpečeny, aktualizovány a spravovány než standardní desktop.
- Nelze využít spolupráce uživatele. Je nutno využít přímé díry v systému, což je i na “děravých” Windows docela problém, protože moc takovýchto děr neexistuje.
- Je mnohem profitabilnější zapojit do botnetu desktop nic netušícího uživatele, než se pokoušet ovládnou server o čemž se admin velice brzo dozví.
“Existuje právě jeden superuživatel zvaný root.” Toto neni tak uplne pravda. Superuzivatelu muzes mit v podstate libovolne mnoho. Dva uzivatele muzou mit totiz stejne UID.
re 5 : Existuje právě jeden superuživatel, což je uživatel s UID 0. Účet tohoto superuživatele si můžete v příslušných konfiguračních souborech různě pojmenovat a nastavit. (Vícenásobné pojmenování root uživatele nemá valný smysl.) Ve všech ohledech se však pořád jedná jen o jednoho uživatele.
Linux zblízka využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články
a komentáře
Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN