GNU/Linux >> Znalost Linux >  >> Linux

Jak užitečné je připojení /tmp noexec?

Řešení 1:

Zde jsou argumenty pro užitečnost, se kterými jsem zatím přišel:

Moderní jádra opravují /lib/ld-linux.so díru, takže nebude schopen mapovat spustitelné stránky z noexec souborový systém.

Názor tlumočníků je jistě stále znepokojivý, i když si myslím, že méně, než by lidé mohli tvrdit. Zdůvodnění, se kterým mohu přijít, je, že se vyskytlo mnoho zranitelností při eskalaci privilegií, které se spoléhaly na vytváření konkrétních chybných systémových volání. Bez útočníka poskytujícího binární kód by bylo mnohem těžší provádět zlé systémové volání. Překladače skriptů by také neměly být privilegované (vím, že tomu tak v minulosti někdy nebylo, jako například u suid perlu), a tak by potřebovali svou vlastní zranitelnost, aby byli užiteční při útoku. Zjevně je možné použít Python alespoň ke spuštění některých exploitů.

Mnoho „předpřipravených“ exploitů se může pokusit zapsat a spustit spustitelné soubory v /tmp , a tak noexec snižuje pravděpodobnost pádu na skriptovaný útok (řekněme v okně mezi odhalením zranitelnosti a instalací opravy).

Montáž /tmp tedy stále přináší bezpečnostní výhodu s noexec .

Jak je popsáno v Debianu bug tracker, nastavení APT::ExtractTemplates::TempDir v apt.conf do adresáře, který není noexec a přístupné pro roota by se vyhnuly obavám z debconf.

Řešení 2:

Mnoho balíčků Debianu vyžaduje, aby byl /tmp spustitelný, aby se balíček mohl nainstalovat. Ty jsou často označeny jako chyby (závažnosti 'normální'/'seznam přání):

https://www.google.com/#q=site:bugs.debian.org+noexec+/tmp

Při instalaci aktualizovaného jádra do stabilní větve jsem právě dnes obdržel tuto chybu.

Takže to vypadá, že Debian (a deriváty?) není připraven na /tmp k připojení noexec...

Řešení 3:

přidejte následující do /etc/apt.conf nebo /etc/apt/apt.conf.d/50remount

DPkg::Pre-Install-Pkgs {"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};

Řešení 4:

I když existují náhradní řešení pro většinu doplňkových bezpečnostních opatření, která byste se mohli rozhodnout implementovat, i ta nejsnáze obejitelná bezpečnostní opatření (jako je připojení /tmp noexec nebo spuštění SSH na alternativním portu) zmaří automatizované nebo skriptované útoky, které se spoléhají na výchozí nastavení. fungovat. Neochrání vás před odhodlaným a znalým útočníkem, ale ve více než 99 % případů nebudete stát proti odhodlanému nebo znalému útočníkovi. Místo toho se budete bránit skriptu automatického útoku.

Řešení 5:

Za prvé: Pokrývá mnoho různých případů útoků. Vypnout to, protože existovalo několik známých způsobů, jak to obejít (některé z nich dokonce opravené), je divné. Útočníci stahují kód na /dev/shm nebo /tmp je běžná věc, kterou dělají.

Hloubková obrana spočívá v zabezpečení většiny běžných navigačních bodů, přičemž každý, který je zastaví, činí váš systém přeživším. Nebezpečný. Ale bude mít také šanci . Pokud se jim nepodaří získat sekundární náklad, je to docela dobrá šance, kterou dostáváte.

  • Může být také zastaven uživatelskými omezeními iptables.
  • Může to také zastavit SELinux.
  • Také nemusí ne být zastaven kvůli snadno dostupnému jinému exploitu.

Jde o to, abyste to snadno ztížili dokáže a vyloučí 99 % útoků.

Za druhé: Zastavuje špatné praktiky (spouštění věcí z temp, provádění velkých instalací aplikací přes /tmp místo uživatelského tmpdir), data ponecháme v /tmp .Vlastní instalační programy obvykle rozumějí TMPDIR Také:i když ne:doba instalace, jako akce k určitému okamžiku, není platným důvodem k trvalému vypnutí bezpečnostního problému .

Za třetí: S ohledem na anonymní jmenné prostory v /tmp ("funkce"), opravdu chcete omezit to, co je tam umístěno a spouštět odtud.

Za čtvrté: Pohodlí v tom není důležitým faktorem. Za předpokladu, že provozujeme servery pro peníze a za určitým účelem:jsme za to zodpovědní. "Ach, nezamkl jsem /tmp." protože pak budu potřebovat ještě pár minut, až budu příští rok aktualizovat svůj software.“ Určitě to nebude jen tato jedna věc, která stojí mezi vydíráním a tím, že je prostě fajn. Skvělý důvod? Nemyslím si to.

Co třeba tohle:

"Dozvěděli jsme se, že nepřátelé mohou zaútočit bez povšimnutí. Mohli také použít stovky špionů k otrávení jídla. Tak jsme přestali našim vojákům rozdávat zbraně."

Počkat, CO?

Existují i ​​další opatření, která vyžadují mnohem více úsilí, zkušeností a štěstí k zabezpečení systému a vědomí, že lidé mají omezené peníze, životnost a také by rádi trávili čas se svými rodinami:Nepřeskakujte jednoduché věci.


Linux
  1. Jak obnovit smazaný adresář /tmp v Linuxu

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak úplně umlčet Cronjob do /dev/null/?

  1. Jak systemd-tmpfiles vyčistí /tmp/ nebo /var/tmp (náhrada tmpwatch) v CentOS / RHEL 7

  2. Jak zakázat automatické mazání souborů v adresářích /tmp a /var/tmp v CentOS / RHEL 5,6

  3. Jaký je rozdíl mezi /tmp a /run?

  1. Jak změnit montážní body?

  2. UNIX / Linux :Jaká je správná oprávnění adresářů /tmp a /var/tmp

  3. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?