GNU/Linux >> Znalost Linux >  >> Linux

Spuštění potenciálně škodlivého programu na Linuxu

  • Virtuální počítač vám může poskytnout nejvyšší zabezpečení bez restartu, ale nejnižší výkon.

  • Další možnost pro ještě vyšší zabezpečení než u virtuálního počítače:zavedení "živého" disku CD/DVD/pendrik bez přístupu k pevnému disku (dočasně zakažte HDD v BIOSu; pokud nemůžete, alespoň disk nepřipojujte / neodpojujte, pokud je připojen automaticky - ale je to mnohem méně bezpečné)

  • Docker kontejner je o něco méně bezpečná alternativa k úplnému virtuálnímu počítači. Pravděpodobně zásadní rozdíl (z hlediska zabezpečení) mezi těmito dvěma je v tom, že systémy běžící v dockeru ve skutečnosti používají jádro vašeho hostitelského systému.

  • Existují programy jako isolate, které vytvoří speciální zabezpečené prostředí – obecně se tomu říká sandbox - ty jsou obvykle založeny na chrootu s dalším dohledem - najděte si ten, který vám vyhovuje.

  • Jednoduchý chroot bude nejméně bezpečný (zejména s ohledem na spouštění programů), i když možná trochu rychlejší, ale ... Budete muset vytvořit/zkopírovat celý samostatný kořenový strom a použít připojení připojení pro /dev atd. (viz Poznámka 1 níže!). Obecně tedy nelze tento přístup doporučit, zvláště pokud můžete použít bezpečnější a často snadněji nastavitelný sandbox prostředí.

Poznámka 0: K aspektu „speciálního uživatele“, jako je nobody účet:To dává téměř žádné zabezpečení, mnohem méně než i jednoduchý chroot . A nobody uživatel má stále přístup k souborům a programům, které přečetly a provést oprávnění nastavena pro jiné . Můžete to otestovat pomocí su -s /bin/sh -c 'some command' nobody . A pokud máte jakýkoli konfigurační/historický/cache soubor přístupný komukoli (chybou nebo menší bezpečnostní dírou), program běžící s nobody Oprávnění uživatele k němu mohou přistupovat, vyhledávat důvěrná data (jako "pass=" atd.) a mnoha způsoby je odesílat přes síť nebo cokoli jiného.

Poznámka 1: Jak Gilles poukázal v komentáři níže, jednoduché prostředí chroot poskytne velmi malé zabezpečení proti exploitům zaměřeným na eskalaci oprávnění. Jediný chroot dává smysl z hlediska zabezpečení pouze pokud prostředí je minimální, skládá se pouze z programů s potvrzenou bezpečností (stále však zůstává riziko zneužití potenciálních zranitelností na úrovni jádra) a všechny nedůvěryhodné programy běžící v chrootu běží jako uživatel, který mimo chroot nespouští žádný proces. Čemu chroot brání (se zde zmíněnými omezeními), je přímé pronikání do systému bez eskalace oprávnění. Jak však Gilles poznamenal v jiném komentáři, i tato úroveň zabezpečení může být obcházena, což umožní programu vymanit se z chrootu.


Použijte virtuální stroj. Cokoli menšího neposkytuje příliš mnoho zabezpečení.

Před několika lety jsem možná navrhl chrootovaného vyhrazeného uživatele nebo něco podobného. Ale hardware se stal výkonnějším a software virtuálních strojů se snáze používá. Kromě toho se standardní útoky staly sofistikovanějšími. Už není důvod, proč nejít celou cestu sem.

Doporučil bych spustit VirtualBox. Virtuální počítač můžete nastavit během několika minut a poté do něj nainstalovat distribuci Linuxu. Jediné jiné než výchozí nastavení, které doporučuji, je nastavení sítě:vytvořte jak rozhraní „NAT“ (pro komunikaci se světem), tak rozhraní „pouze hostitel“ (takže můžete snadno kopírovat soubory do az hostitele a ssh do VM). Deaktivujte rozhraní NAT, když spouštíte programy svých studentů¹; povolte jej pouze při instalaci nebo aktualizaci softwarových balíků.

Uvnitř virtuálního počítače vytvořte jednoho uživatele na studenta.

¹ Rozhraní NAT můžete omezit na seznam povolených uživatelů, ale je to pokročilejší, než potřebujete, v jednoduchém a věcném nastavení.


zde je velmi důkladné vysvětlení, proč je používání Chrootu stále velmi životaschopnou možností a proč je plný operační systém nebo plná virtualizace hardwaru ve specifických scénářích obzvlášť přehnaná.

není to nic jiného než mýtus že Chroot není bezpečnostní prvek. existují nástroje, které vytvoří souborový systém chroot automaticky za vás, a Chroot je zabudován do mnoha běžných aplikací jako účelná bezpečnostní funkce.

na rozdíl od všeobecného přesvědčení, ne každá situace vyžaduje plnou virtualizaci operačního systému nebo plnou simulaci hardwaru. to může ve skutečnosti znamenat mít více útočný povrch pokusit se pokrýt. to zase znamená méně bezpečný systém . (údajně pro méně znalé správce systému)

pravidla jsou poměrně jednoduchá:nevkládejte do chrootu nic, co není nutné. nespouštějte démona jako root. nespouštějte démona jako jakýkoli uživatel spouštějící démona mimo chroot.

odstranit všechny nezabezpečené aplikace, binární soubory setuid, visící symbolické odkazy / pevné odkazy bez vlastníka. znovu připojte nepotřebné složky pomocí nosuid, noexec a nodev. sestavte nejnovější stabilní verzi běžícího démona ze zdroje. a především zabezpečte základní systém!


Linux
  1. Prohledejte své zabezpečení Linuxu pomocí Lynis

  2. Populární linuxové distribuce pro testování zabezpečení

  3. Monitorování zabezpečení v Linuxu pomocí Tripwire

  1. Identifikujte vlastnosti zabezpečení v systému Linux pomocí checksec

  2. Jak nastavit linuxové chroot vězení

  3. Osvědčené postupy zabezpečení Wordpress v systému Linux

  1. Zabezpečení správce systému:8 ovládacích prvků uzamčení systému Linux

  2. 13 kurzů zabezpečení Linuxu

  3. Pokročilé bezpečnostní kroky pro Linux