abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 2
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 5
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 21
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 5
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 146 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    Rozcestník

    Dotaz: Ako zakazat spustenie specifickych prikazov (aj pod rootom)

    21.11.2010 01:48 ag3nTt
    Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Přečteno: 509×
    Zdravim.

    Na zaciatok uvediem, preco ma odpoved na tento zdanlivo blby dotaz zaujima. Uz 2x sa mi stalo, ze som v rychlosti omylom pod rootom spustil v / prasarnu "chmod 777 * -R" (nez som to stihol zastavit, stihlo to "potunit" obsah /etc/), pripadne iny specificky command, ktory moze sposobit nejaku neprijemnost (napr. legendardny rm -rf /). Ja viem, som idiot, ale nepiste mi prosim, ze mam byt opatrnejsi, chcem nejake spolahlivejsie riesenie, ktore osetri aj zlyhanie ludskeho faktoru :)

    Viete o niecom, co by zabranilo exekucii nejakych, admin-defined prikazov? Prip. ze by sa to u nejakych specifickych prikazov v interactive mode spytalo nieco v zmysle "Are you sure?" .. alebo este lepsie, ak by sa dalo definovat, ze ak by niekto spustil akymkolvek sposobom (cez shell, alebo z akehokolvek programu) napr. "chmod 777 * -R", vyhodit na stderr hlasku: Forbidden, don't be lazy and use "chmod 777 /your/folder/ -R". Bohate by mi stacilo moznost definovat zakazane commandy striktne, luxus by bola moznost definovat masku regexom (na rychlo napr. ^chmod [0-9]+.+\-R.*$)

    Teoreticky by nieco mohlo existovat, kedze na podobnej vrstve operuje aj sudo. Je to ale somarinka, hladam nieco jednoducho pouzitelne, ziadne patche kernelu apod.

    Vopred dakujem za kazdu radu, postreh, napad, cokolvek.

    PS: pouzivam Gentoo.

    J.

    Řešení dotazu:


    Odpovědi

    21.11.2010 02:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)

    Asi by šlo opatchovat shell, ale nějak si nedokážu představit, jak byste takový seznam "nebezpečných" příkazů vlastně chtěl sestavovat. Problém by se měl řešit tam, kde vzniká: ve vaší hlavě. Jinak totiž docílíte jen toho, že budete dělat totéž co dosud, jenom při tom navíc budete obcházet svůj blacklist.

    Mimochodem, nezvykejte si psát přepínače až po argumentech. Je to dost ošklivý GNU-ismus a pokud si na to navyknete, budete mít problémy, až si sednete k nějakému systému s korektně se chovající implementací getopt().

    21.11.2010 05:37 ag3nTt
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Vdaka za odpoved. Popravde, prepinace a celkovo options pouzivam vsade na zaciatku, ale u chmodu a chownu je to isty nezvyk, ani sam neviem preco, musim sa to odnaucit. Co sa tyka riesenia problemu tam kde vznika, na to som prave komentare nepotreboval. Nedavno som musel pracovat na dialku s nejakym debianom a z nejakeho dovodu, nech bol terminal (SecureCRT, alebo Putty) nastaveny akokolvek, stale sa konzola rendrovala sialene, texty boli rozhodene, necleanovalo sa to, atd.. takze som miestami ani nevidel co spustam. Nie vzdy je druha strana (napr. admin vzdialeneho systemu) ochotna adekvatne pomoct, musime improvizovat :-/
    blami avatar 21.11.2010 03:04 blami | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Nejsem zrovna priznivcem ani znalcem reseni jako je SELinux ci AppArmor, ale domnivam se, ze to jsou nastroje ktere hledate a tudiz klicova slova, ktera bych zkusil Googlit. Tusim ze i tady na ABCLinuxu vysel pekny clanek o SELinuxu.
    21.11.2010 04:36 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    AppArmor určitě neřeší parametry příkazů a AFAIK ani SELinux. Navíc je potřeba si uvědomit, že tazatel chce rozlišovat parametry v podobě, v jaké je napíše, tj. ještě před expanzí shellem.
    21.11.2010 10:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Zabránit spouštění programů můžete tak, že jim odeberete právo --x. Ale zrovna bez chmod se to bude blbě vracet, až ten příkaz budete chtít opravdu použít. Navíc pak budete naštvaný, že jste ten příkaz musel složitě zprovozňovat, a tomu, co děláte, budete věnovat ještě menší pozornost.

    Dotaz by se dal řešit pomocí nějakého wrapperu, který byste spouštěl místo původního programu přes alias shellu. Některé programy už mají takovou možnost dotazu v sobě, a některé distribuce takové aliasy standardně nastavují, takže pak máte třeba alias rm=rm -i. Ale tím si jen přidáte další zbytečný dotaz, jak ve Windows, a když bezmyšlenkovitě příkaz odeentrujete, stejně bezmyšlenkovitě pak odpovíte na „Are you sure?“… Podle mne jediné řešení je změnit své chování a pod rootem nepracovat zbrkle.
    21.11.2010 13:58 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Dotaz by se dal řešit pomocí nějakého wrapperu, který byste spouštěl místo původního programu přes alias shellu.

    Jak takový wrapper pozná, že byl příkaz zapsán jako 'chmod ... *', když od shellu nedostane hvězdičku, ale expandovaný seznam jmen? Asi jsem tu první odpověď měl rozepsat podrobněji, aby další zbytečně neopakovali slepé uličky, které jsem už vyloučil.

    21.11.2010 16:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Parametry by ten wrapper neřešil. Bylo by to nejjednodušší požadované řešení, tj. u daného příkazu by se pokaždé zeptal, bez ohledu na parametry. Nemá ale smysl bádat nad tím, jak by se to teoreticky mohlo řešit a zda jde vyhovět základnímu požadavku, nebo i těm rozšířeným – řešení je jediné, pokud pracuje dotyčný pod rootem, nemá se chovat zbrkle. A to už tu myslím bylo napsáno několikrát.
    Řešení 1× (ag3nTt (tazatel))
    21.11.2010 10:47 Miklik | skóre: 27 | Krnov
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Řešením by mohlo být, napsat si wraper skripty pro nebezpečné příkazy.

    Přidejte si do $PATH na začátek cestu, něco jako /usr/local/wrapers. Tu složku vytvořte a do ní dáte skripty pojmenované stejně jako vaše nebezpečné příkazy, například rm, chmod a podobně. V těch skriptech si pak na začátku ošetříte nebezpečné parametry a pokud příkaz projde tak se spustí ze skriptu, pokud ne, tak třebas vypíše hlášku. Příkaz ve skriptu bude třeba zadat s úplnou cestou. Je třeba taky skriptum nastavit patřičné práva, aby si do nich nějaký jouda něco nedopsal.
    Netvrdím to, ale možná je to pravda.
    21.11.2010 18:19 ag3nTt
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Anooo, toto je presne to, co som potreboval .. dakujem za nakopnutie, tuto maxi simple variantu som si neuvedomil.
    stativ avatar 21.11.2010 18:51 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    A nezapomeň spouštět bash v restricted režimu, aby si kdejaký trouba nezměnil path nebo nevolal binárky přímo
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    stativ avatar 21.11.2010 19:24 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Aha, teď jsem si dotaz přečetl. Ber to jako bych nic nenapsal, myslel jsem, že to potřebuješ jiným uživatelům zabránit ve spouštění některých apps.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    Řešení 1× (ag3nTt (tazatel))
    21.11.2010 11:56 NN
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Jako uplne easy reseni vidim napsat si pro dane prikazy vhodne aliasy tipu:
    alias rm'=rm -i'
    alias chmod='echo are you sure ?; read && chmod'
    
    Pripadne neco tvrdsiho jako grsec..

    NN
    21.11.2010 18:20 ag3nTt
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Aaa .. druha mozna varianta, dakujem za napad!
    22.11.2010 00:34 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    1.) "f" v "rm -rf *" prebije aliasove "i", takze to nic neriesi.

    2.) Clovek si zvykne aj na sibenicu, takze jeden automaticky enter navyse uz zvladne.

    3.) moze skusit "rm -I"
    If you hold a Unix shell up to your ear, you can you hear the C.
    21.11.2010 16:16 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Řešíš neřešitelné. Selhání lidskhého faktoru odstraníš jedině tak, že odstraníš samotný lidský faktor.
    Překladač ti nikdy neřekne: "budeme kamarádi"
    21.11.2010 18:23 ag3nTt
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Clovece, nehnevaj sa, ale tieto komentare fakt nepotrebujem. Na rozdiel od tvojho prazdneho prispevku Miklik a NN vedeli situaciu vyriesit a pomoct mi.
    21.11.2010 19:05 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Přesně naopak. Miklik a NN jednak vůbec neodpovídali na váš dotaz, jednak pominuli podstatu problému. Odpověď moiry je mnohem víc k věci.
    21.11.2010 19:46 ag3nTt
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Prepac, ale ja som ten, kto ten problem ma, takze viem najlepsie, kto podstatu mojho problemu pochopil a spravne to zodpovedal.

    Ma to byt proste "istenie". Profi horolezec sa tiez radsej pre kazdy pripad isti druhym lanom a nespolieha len na slova "ale bud velmi opatrny", nie vzdy totiz lezie v idealnych podmienkach.

    Vec povazujem za vyriesenu. Polozil som konkretny dotaz a niekto odpovedal presne ako som potreboval (im velmi pekne dakujem), niekto odpovedal zcestne a bez pridanej hodnoty, ti nech su v mieri :-)
    21.11.2010 20:28 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Prepac, ale ja som ten, kto ten problem ma, takze viem najlepsie, kto podstatu mojho problemu pochopil a spravne to zodpovedal.

    V tom případě máte dotaz formulovat tak, aby se to z něj dalo pochopit. V dotazu jednoznačně píšete, že vám nejde o příkaz (např.) chmod jako takový, ale jen o případy, kdy je tento příkaz spuštěn s "nebezpečnými" parametry. Navíc jako konkrétní příklad takových parametrů uvedete wildcards, které ve skutečnosti expanduje shell a k příkazu se vůbec nedostanou. Z toho jednoznačně vyplývá, že problém, jak jste ho popsal, nemůže řešit nejen žádný systém typu SELinux/AppArmor, ale ani žádný wrapper místo příkazu, protože ten wrapper se nemůže rozhodovat na základě informace, která se k němu vůbec nedostane. Takže pokud teď skáčete radostí nad "řešením" založeným na wrapperu, znamená to, že buď jste do dotazu popsal úplně jiný problém, než který jste chtěl řešit, nebo jste si dodatečně zadání změnil na základě odpovědí, které se vám líbily svou jednoduchostí.

    Navíc vůbec není pravda, že tazatel automaticky chápe podstatu problému nejlépe. Naopak, velmi často by se, pokud by tomu tak bylo, vůbec nepotřeboval ptát. Tato diskuze je toho názorným příkladem.

    22.11.2010 00:30 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Rada ako od 'Smith & Wesson' :-)
    If you hold a Unix shell up to your ear, you can you hear the C.
    pepe_ avatar 21.11.2010 18:41 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Podle mně (čistě teoreticky) bych vytvořil script pro každý nebezpečný příkaz a ten originální příkaz přejmenoval například chmod chmod.orig a do toho chmodu bych dal zjištění (pokud neni puštěn pod rootem , spustí chmod.orig s parametrama se kterýma byl spuštěnej chmod) Pokud ale byl spuštěnej pod rootem tak detekce souboru a složky , a pokud soubor nebo složka neni nebezpečná , chovat se stejně jako když neni puštěnej pod rootem. Pokud se ale jedná o nebezpečnou operaci nebo složku , nejdříve vyhodit hlášení s varováním že se jedná o nebezpečnou akci a požadavkem na potvrzení akce.

    PS: nečetl sem celou diskuzi ale doufam že nenavrhuju již navržený ochranný faktor.

    Max avatar 22.11.2010 11:39 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Ako zakazat spustenie specifickych prikazov (aj pod rootom)
    Hloupost. Takové nesystémové bastlení vede jen k problémům. Jak by jsi řešil např. aktualizace (nové verze chmod apod.)? Hlídal si je a pokaždé přepisoval? Neaktualizoval?
    Zdar Max
    Měl jsem sen ... :(

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.