- Tõeline „Jumala režiim” Linuxis on juurkasutaja, kellel on UID 0 ja täielikud õigused süsteemis.
- Käsklused nagu sudo ja su võimaldavad neile õigustele ajutiselt või täielikult ligi pääseda, millega kaasnevad ilmsed riskid, kui neid kuritarvitatakse.
- Riistvara tasandil on reaalseid "jumalarežiimi" juhtumeid, näiteks Christopher Domase avastatud VIA C3 Nehemiah protsessorite tagauks.
- Linuxi eesmärk on anda kasutajale maksimaalne kontroll, mis tähendab võimsust ja paindlikkust, aga ka suurt vastutust turvalisuse osas.

Kui inimesed räägivad Linuxis "jumalarežiimist" , siis tegelikult peavad nad silmas midagi palju reaalsemat ja ohtlikumat kui lihtne visuaalne trikk nagu Windowsis: root- kasutaja absoluutne võim – konto, mille abil saab süsteemi sekunditega konfigureerida, parandada... või täielikult hävitada. Sellega kaasneb palju müstikat, müüte ja ka mõningaid reaalseid "jumalarežiimi" juhtumeid protsessori tasandil, mis on üsna hirmutavad.
Kui sa tuled Windowsist ja oled kuulnud jumalarežiimist, siis võid mõelda maagilisele kaustale, mis koondab täpsemad valikud; Linuxis on kontseptsioon teine: me räägime õigustest, protsessori privileegirõngastest, riistvaralistest tagaustest ja sellest, miks see süsteem annab sulle peaaegu piiramatu võimu... vastutasuks vastutuse nõudmise ja külma närvi säilitamise eest iga kord, kui sisestad käsu administraatoriõigustega.
Mida tähendab Linuxis tegelikult „Jumala režiim”?
Linuxi ökosüsteemis on tõelisel "jumalarežiimil" nimi: root . See on konto, mis luuakse vaikimisi igas Unixi-laadses süsteemis ja mille UID on 0, mis on reserveeritud superkasutajale. Kõigil, mille UID on Linuxi süsteemis 0, on absoluutsed õigused : need saavad lugeda, muuta või kustutada mis tahes faili, muuta õigusi, hallata protsesse, installida või eemaldada kriitilisi pakette ning pääseda juurde aladele, mis on teistele kasutajatele täielikult piiratud.
Võrreldes Windowsiga oleks lähim vaste administraatori konto, kuigi praktikas on Microsofti süsteemil ka sisemine SYSTEM kasutaja, mis läheb süsteemispetsiifiliste ülesannete jaoks sammu võrra kaugemale. Peamine erinevus seisneb selles, et Linuxis on see roll igapäevasesse kasutusse palju paremini integreeritud, eriti terminali kasutamisel administratiivsete ülesannete täitmiseks.
Kui root midagi käivitab, ei küsi süsteem uuesti : kinnitusaknaid ega sõbralikke hoiatusi ei ilmu. Kernel eeldab, et sa tead, mida sa teed, ja käivitab käsu. See on Linuxi "Jumala režiimi" kahe teraga mõõk: see võimaldab sul parandada peaaegu iga segadust... aga see võib olla ka põhjus, miks sinu süsteem muutub parandamatuks, kui teed käsuga vea.
Kuidas pääseda Linuxis „Jumala režiimile”: sudo, su ja company
Tänapäevases distributsioonis on tavaline mitte sisse logida otse root'ina , vaid kasutada oma tavapärast kasutajakontot ja "tõsta" õigusi ainult siis, kui see on vajalik konkreetsete toimingute tegemiseks. Siin tulevad mängu kaks klahvikäsku: `sudo` ja `su` , mida sageli segamini aetakse, kuid mis ei ole sama asi.
Sudo abil saate käivitada ühe käsu administraatoriõigustegaTavaline töövoog on tippida enne käsku „sudo”, sisestada oma kasutajaparool ja piiratud aja jooksul (vaikimisi umbes 15 minutit selliste distributsioonide nagu Ubuntu puhul) mäletab süsteem seda autentimist, nii et te ei pea seda iga administratiivkäsu jaoks uuesti sisestama. Kõik, mida sudoga käivitate, logitakse failidesse, näiteks /var/log/auth.logseega on jälgitavus olemas.
Käsu `su` kasutamine vahetab kasutajaid täielikult . Lihtsalt käsuga `su` ja root parooli sisestades saate uue shelli, justkui oleksite selle kontoga sisse logitud, kõigi selle õigustega ja olenevalt sellest, kas kasutate käsku `su` või `su -`, rohkemate või vähemate keskkonnamuudatustega (muutujad, teed jne). See meetod on mugavam, kui kavatsete järjestikku täita palju administratiivseid ülesandeid, kuid see on ka vähem turvaline, sest igal selles kontekstis sisestatud käsul on vabad käed kogu süsteemi muutmiseks.
Kahe meetodi filosoofiline erinevus on ilmne.`sudo` on loodud pakkuma spetsiifilist ja kontrollitud juurdepääsu teatud ülesannetele ning see võib isegi piirata, milliseid käske iga kasutaja saab faili kaudu kasutada. /etc/sudoersSee tähendab täielikku usaldust selle vastu, kes klaviatuuri ees istub, sest sellest hetkest alates on neil vabad käed teha mida iganes nad tahavad, kuni nad välja logivad või trükkivad. exit.
Juurkasutaja tüüpilised toimingud: mis nõuab absoluutselt "Jumala režiimi"
On toiminguid, mida saab teha ainult superkasutaja . Need mõjutavad süsteemi tuuma, õigusi, teenuseid või üldist turvalisust. Nende mõistmine aitab teil teada, millal on mõistlik kasutada root'i ja miks te ei tohiks neid käske kunagi juhuslikult käivitada.
Üks root'i ilmsemaid võimeid on süsteemist mis tahes faili kustutamine.Tavakasutajana saate kustutada ainult seda, mis kuulub teile või millele on teie kontole või grupile antud õigused; kui proovite kustutada kaitstud konfiguratsioonifaili või teise kasutaja faili, näete lubadega seotud vigu. Süütu kasutaja puhul aga... sudo rmSuperkasutaja saab väikese faili üle võtta /etc kuni täieliku sisuni /boot või tuum ise.
Käsklused nagu „sudo rm -rf /boot” või veelgi hullem „sudo rm -rf /” on osa internetitrollikultuurist põhjusega: kui neid käivitada, muutub teie süsteem kasutuskõlbmatuks. Seetõttu on oluline järgida andmete varundamise strateegiaid . Masin proovib käivituda ilma oluliste failideta ja praktikas olete kustutanud suure osa kettast. Juurkonsoolis pole prügikasti ega tagasivõtmise funktsiooni.
Teine ülesanne, mida ainult root saab täita, on mis tahes konto parooli muutmine.Tavaliselt on igal kasutajal õigus muuta ainult oma parooli, kuid superkasutaja saab lihtsa käsuga sundida mis tahes süsteemiprofiili parooli muutma. sudo passwd nombre_de_usuarioSa ei pea eelmist parooli teadma, mis kinnitab ideed, et parimate tavade järgimine on oluline. tugevad paroolid See on privilegeeritud juurdepääsu saamiseks hädavajalik.
Samuti on root'i eksklusiivne valdkond õiguste ja omanike muutmine ilma igasuguste piiranguteta.. Koos sudo chmod Saate muuta mis tahes faili või kausta lugemis-, kirjutamis- ja täitmisbitte ning koos sudo chown Omanike ja rühmade ümbermääramine on väga kasulik keerukate teenuste või andmebaaside õiguste probleemide lahendamiseks, kuid halvasti planeeritud ulatuslik muudatus võib muuta poole süsteemist kasutuskõlbmatuks või tekitada tohutu turvanõrkuse.
On eriti tundlikke katalooge, millele pääseb ligi ainult root.Kui /root (superkasutaja isiklik kataloog), /var/log (kus on salvestatud palju süsteemikirjeid) või faili /etc/shadowmis salvestab paroolide räsisid. Tavakasutaja jaoks on need piiratud alad; root'i jaoks lihtne sudo cat /etc/shadow näha kõigi süsteemi võtmete krüpteeritud sõrmejälgi, millel on tohutu turvamõju, kui keegi volitamata suudab seda võimalust ära kasutada.
Tarkvaravaldkonnas vastutab root kriitiliste komponentide installimise ja eemaldamise eest . Alates repositooriumide lisamisest kuni kerneli moodulite kompileerimise või oluliste teekide kustutamiseni vajab iga tõsine paketihaldur (apt, dnf, pacman jne) neile süsteemi osadele juurdepääsuks kõrgendatud õigusi. Näiteks selline käsk nagu "sudo apt remove gnome-shell" Ubuntus võib kaasa tuua graafilise keskkonna kaotamise ja sundida teid kõike käsurealt parandama.
Lõpuks langeb ka madala taseme teenuste ja protsesside kontroll superkasutaja kätte.. Tööriistad nagu systemctl Need võimaldavad teil süsteemideemoneid käivitada, peatada või taaskäivitada, alates SSH-serverist kuni võrguteenuste või süsteemidraivideni. sudo systemctl stop ssh See lõpetab uute kaugühenduste vastuvõtmise ja nende käskude väärkasutamine võib serveris või teie enda arvutis olulisi teenuseid krahhida.
Kolm asja, mida sa ei tohiks kunagi root-juurdepääsuga teha, kui sa oma süsteemi hindad
See, et sa saad seda teha, ei tähenda, et sa peaksid . Mõned tegevused, isegi kui need on tehniliselt võimalikud root-juurdepääsuga, on tõelised tiksuvad ajapommid. Seda on tark meeles pidada, et sa ei tegutseks impulsiivselt mõeldes: "Noh, mis ikka valesti minna võiks?"
Esimene ohtlik kiusatus on käivitada veebibrauser root'ina . Brauserid on pahavara ja igasuguste rünnakute peamine sisenemispunkt: kui pahatahtlik leht kasutab ära haavatavust, pärib see töötava protsessi õigused. Kui see protsess töötab superkasutaja õigustega, on ründajal täielik juurdepääs teie arvutile ilma lubadeta tulemüürideta, mis seda kaitseksid. Kõige kindlam lähenemisviis on reserveerida root'i juurdepääs konkreetsete ülesannete jaoks käsureal ja vältida täielike graafiliste seansside käivitamist superkasutajana.
Teine klassikaline lahendus on jõuline "chmod -R 777" . Kui miski ei tööta valede õiguste tõttu, on foorumites nähtud kiire ja nutikas lahendus "anna sellele kaustale 777 ja kõik". Ja jah, sageli probleem kaob... lugemis-, kirjutamis- ja täitmisõiguste täieliku avamise hinnaga mis tahes kasutajale, teenusele või protsessile. Selle rekursiivne tegemine laiadel radadel on nagu kõigi maja uste ja akende pärani lahti jätmine.
Kolmas halb tava on käskude või skriptide kopeerimine ja kleepimine ilma neid kontrollimata . Internet on täis terminali koodijuppe, mis lubavad teie elu parandada, kuid hästi paigutatud „sudo rm -rf” või segane skript võib kustutada terveid katalooge, muuta tundlikke sätteid või lekitada isikuandmeid. „Jumala režiimi” kuldreegel on alati enne Enter-klahvi vajutamist aru saada, mida iga käsk teeb, olenemata sellest, kui usaldusväärne allikas tundub.
Linux on tegelikult loodud nii, et sa ei pea elama root'ina . Kui sa just pole süsteemiadministraator või pead täitma väga spetsiifilisi ülesandeid, on tänapäevased distributsioonid loodud nii, et sinu igapäevaelu sujuks tavalise kasutajaga, delegeerides sudo'le ülesanded ainult vajadusel. See vähendab oluliselt kogemata millegi katki tegemise ohtu.
„Jumala režiim“ päriselt: VIA protsessorite tagauks ja ringhüpe
Lisaks juurkasutajale on olemas veelgi häirivam "jumalarežiim" : see aktiveeritakse otse riistvaras, isegi enne, kui operatsioonisüsteem midagi teha saab. Tuntud juhtum oli see, mille avastas turvauurija Christopher Domas 2003. aastal VIA toodetud x86 protsessorite perekonnas.
Black Hat konverentsil peetud ettekande ajalDomas näitas, kuidas teatud VIA C3 Nehemiah kiipidel saab Linuxist käivitada dokumenteerimata käske. .byte 0x0f, 0x3fSee vallandas protsessori tasandil tõelise "jumalarežiimi". See baidijada, mida ametlikult "ei eksisteerinud" ja millel polnud isegi avalikku nime, võimaldas kohest juurjuurdepääsu, möödudes täielikult operatsioonisüsteemi tavapärastest turvameetmetest.
Selle avastuse juures on rabav see, et see lõhub x86 arhitektuuri klassikalise ringmudeli kaitse . Selles mudelis töötab süsteemi tuum ringis 0 (kõige privilegeeritum), seadme draiverid hõivavad rõngad 1 ja 2 ning kasutajarakendused jäävad ringi 3, kus neil on kõige vähem õigusi. See eraldamine on tänapäevase turvalisuse alus: väline kood ei tohiks pääseda otse süsteemi tuumale ligi.
VIA C3 Nehemiahi tagauks lubab aga otsest hüpet ringilt 3 ringile 0. See tähendab, et tavakasutaja õigustega töötav programm saab kõigest nelja baidiga eskaleeruda kõrgeimale privileegitasemele. Domas kirjeldas seda kui otsest eskaleerumist, mida pole kunagi varem nähtud, ja lisaks tõi ta välja, et mehhanism hõlmas x86 kiibi enda sees peidetud RISC-kaasprotsessorit.
See salajane kaasprotsessor toimib omamoodi "ring -4 "-na, mis on isegi sügavamal kui hüperviisorite või kaughaldusmootorite poolt ligipääsetavad tasemed, mida mõnikord nimetatakse ka ringiks -1 või -2. Sellel RISC-tuuma, mis asub koos põhiprotsessoriga, on täielik juurdepääs x86-protsessori tegevusele ja see saab sekkuda ilma, et operatsioonisüsteemil oleks seda lihtne teada või kontrollida.
Kuidas see tagauks avastati ja milline on selle tegelik ulatus?
Domase avastus ei olnud ei juhuslik ega ka "õnnelik juhus", mille tulemuseks oli juhuslike juhiste testimine . Teadlane jälgis erinevate protsessoritootjate esitatud tehniliste patentide seas nn "leivapuru rada", kuni leidis ühe, mis mainis selgesõnaliselt võimalust hüpata ringilt 3 ringile 0, kasutades mudelipõhiste registritega (MSR) seotud mehhanisme.
Selle esialgse vihje põhjal jälgis ta, millised kiibiperekonnad võiksid olla nende patentidega kaetud , ja keskendus lõpuks VIA C3 Nehemiah'le. Ta omandas mitu nendel protsessoritel põhinevat vanakooli masinat ja veetis nädalaid tööriistade väljatöötamisega, mis suutsid süstemaatiliselt testida dokumentides kirjeldatuga seotud juhiste ja konfiguratsioonide kombinatsioone.
Pärast umbes kolmenädalast intensiivset töödDomas oli genereerinud umbes 15 GB registriandmeid. Sealt leidis ta täpsed juhised, mis võimaldasid tal aktiveerida peidetud RISC-kaasprotsessori tagaukse, kinnitades, et järjestus .byte 0x0f, 0x3f See oli nende konkreetsete kiipide "jumalarežiimi" käivitaja. Sealt edasi dokumenteeris ta käitumise ja valmistas ette tööriistad vaikemehhanismi tuvastamiseks ja võimaluse korral keelamiseks.
Suhteliselt rahustav aspekt on see, et selle tagaukse ulatus on piiratud . See mõjutab ainult teatud komplekti VIA C3 Nehemiah protsessoreid, mis on toodetud 2003. aastal ja mida kasutatakse peamiselt manussüsteemides ja õhukestes klientides. See ei mõjuta teid, kui kasutate kaasaegset tavatarbijale mõeldud riistvara, kuid see on väga tõsine hoiatus selle kohta, mis võib suletud arhitektuurides peituda.
Mudelite käitumises on ka olulisi erinevusi . Mõnes protsessoris nõuab tagaukse ärakasutamine privilegeeritud kontekstist alustamist, millel on kogu protsessi käivitamiseks juurdepääs ringile 0. Teatud VIA C3 x86 variantides on aga kurikuulus "Jumala režiim" vaikimisi lubatud ja selle saab aktiveerida lihtsast kasutajakontekstist otse operatsioonisüsteemi konsoolist, muutes viirusetõrje, ASLR ja muud ärakasutamise leevendamise meetmed ebaefektiivseks.
Teiste võimalike tagauste vari ja „mustade kastide” probleem
VIA C3 Nehemiah juhtum tõstatab ebamugava küsimuse : kui selles protsessoriperekonnas on leitud selline selge tagauks, siis kui palju teisi kiibikomplekte võib varjata sarnaseid mehhanisme, mida pole veel avalikustatud? Domase hinnang oli üsna selge: on väga usutav, et teistes disainides leidub rohkem varjatud tagauksi, lihtsalt seetõttu, et tänapäeva protsessorid on tõelised mustad kastid.
Lõppkasutajatel ja suurel osal tehnikaringkondadest puudub realistlik viis kommertskiibi põhjalikuks auditeerimiseks . Mikroarhitektuuri keerukus, patenteeritud loogika hulk ja täieliku dokumentatsiooni puudumine muudavad praktiliselt võimatuks garanteerida, et puuduvad salajased opkoodid, diskreetsed kaasprotsessorid või kaughalduskanalid, mida keegi, kes võtmeid teab, saaks kasutada "jumaliku režiimina".
Sellest ideest lähtuvalt tegi Domas oma uurimistöö ja tööriistad avalikult kättesaadavaks , sealhulgas utiliidid, mis kontrollivad, kas konkreetsel VIA C3 protsessoril võib olla see dokumenteerimata kaasprotsessor, ja keelavad võimaluse korral vaikimisi kaasprotsessori. Eesmärk oli kahetine: tagada läbipaistvus ning võimaldada administraatoritel ja manussüsteemide tootjatel maandada riske alles juurutamisel olevates seadmetes.
Kõik see on seotud laiema mõtisklusega riistvara usaldusväärsuse üle . Süsteemid, mida me igapäevaselt kasutame, sõltuvad komponentidest, mille disaini me ei saa otseselt kontrollida; me usaldame tootja heausksust ja seda, et kui tagauksed on olemas, avastatakse need aja jooksul. Kuid VIA "jumalarežiimi" juhtum tuletab meelde, et turvalisus ei seisne ainult operatsioonisüsteemi parandustes või juurjuurdepääsu kasutamises või mittekasutamises, vaid ka selles, mida räni tegelikult all teeb.
Samal ajal jääb iga Linuxi kasutaja igapäevaelus praktiliseks "jumalarežiimiks" root , millel on nii operatiivsed eelised kui ka selged riskid. Süsteemi ajakohasena hoidmine, õiguste mittekasutamine ja kasutatava riistvara valimisel väga valiv olemine on kõik sama turvapusle tükid.
Kontrast Windowsi "Jumala režiimiga": otseteede kaust versus root'i tegelik jõud
Kui me räägime Windowsi "jumalarežiimist", on olukord palju vähem dramaatiline . Kuulus nipp, kus töölauale luuakse spetsiaalne kaust, ei ava tagaust ega anna rohkem õigusi, vaid koondab sadu otseteid juhtpaneelil ja teistes süsteemi piirkondades asuvatele sätetele ühte kohta.
Sellistes versioonides nagu Windows Vista, Windows 7 või Windows Server 2008Näiteks piisas väga kindla nimega kausta loomisest ModoDios.{ED7BA470-8E54-465E-825C-99712043E01C}Kui vajutasite sisestusklahvi (Enter), muutus kaustaikoon tüüpiliseks juhtpaneeli ikooniks ja selle avamisel leidsite tohutu loendi konfiguratsioonivalikutest, mis olid rühmitatud kategooriate kaupa: haldustööriistad, võrguseaded, toitesuvandid jne.
See nipp toimib tänu GUID-ide (globaalselt unikaalsete identifikaatorite) kasutamisele – need on unikaalsed identifikaatorid, mille Windows määrab praktiliselt igale süsteemi elemendile: programmidele, teekidele, paneeli komponentidele, erikaustadele... Selle kummalise nime tippimisega seostatakse laiendatud juhtpaneeli GUID kaustaga, luues kõigile neile funktsioonidele ühes kohas ligipääsu „klooni“.
Samamoodi saate luua otseteid teistele spetsiaalsetele aladele, kasutades kausta nimes vastavat GUID-i, näiteks teavitusala või "Minu arvuti". See on lihtsalt nutikas viis olemasolevate ressursside nähtavale toomiseks, mitte õiguste suurendamine või peidetud haldusrežiim nagu root või tagaustega protsessorite "-4 ring".
Kuid isegi see nipp pole ilma nüanssideta . Tol ajal hoiatati, et selle kasutamine teatud Windows Vista x64 versioonides pole hea mõte, kuna võivad tekkida vead, mis näitab, et kuigi Windowsi "Jumala režiim" on puhtalt kosmeetiline, on sisemiste funktsioonidega timmimine alati riskantne.
Linux kui vaikimisi "Jumala režiim": võim, vabadus ja null abiratast
Viimane huvitav punkt on see, kui paljud inimesed tajuvad Linuxit süsteemina, millel on pidev "Jumala režiim ". Erinevalt Windowsist või macOS-ist, mis kipuvad tehnilist keerukust varjama väga juhitud liideste taha, jätab Linux süsteemi sisemise toimimise palju paljastatumaks: konfiguratsioonid tekstifailides, terminali hallatavad teenused, detailsed kasutaja- ja grupiõigused jne.
Kellegi jaoks, kes on harjunud, et operatsioonisüsteem juhendab teda kogu protsessi vältel , võib see lähenemine olla häiriv. Graafilised tööriistad on olemas, kuid nende ulatus on tavaliselt piiratud ja niipea, kui kaldute kõrvale standardsätetest või soovite midagi konkreetset täpsustada, peate pöörduma käsurea poole või käivitama arvuti aktiivselt USB-mälupulgalt . Just siin saate aru, et Linux on loodud keskkonna oma maitse järgi nokitsemiseks, katsetamiseks ja muutmiseks, pakkudes palju vähem kaitset vigade eest kui suletumad platvormid.
See disain annab sulle väga reaalse "jumala režiimi" tunde sinu masina üle : sa saad muuta praktiliselt kõike operatsioonisüsteemis, alates aknahaldurist kuni kernelini, sealhulgas seda, kuidas teenused käivitamisel käituvad ja millised õigused seadmetel on. Kuid vastutasuks nõuab see minimaalseid teadmisi ja huvi selle vastu, mida sa kohandad, sest vigu ei saa alati paari klõpsuga parandada.
See filosoofia selgitab ka paljusid raskusi, millega Linux endiselt peavoolu lauaarvutite operatsioonisüsteemina silmitsi seisab . Kommertstarkvara kättesaadavus on endiselt piiratum kui Windowsi või macOS-i puhul, kasutajad peavad mõnikord tegelema sõltuvuste ja käsitsi kompileerimisega, patenteeritud petutõrjega mängud ei pruugi töötada ning teatud draiverid (eriti mõned Nvidia või eksootilise riistvara draiverid) nõuavad soovitust rohkem tööd.
Kerneli uuenduste, mis mõnikord asju katki teevad, vidinate või pluginate tõrke pärast töölauakeskkonna värskendamist , sülearvutite keerukate integreeritud ja spetsiaalsete graafikaprotsessorite kombinatsioonidega ning mängukäivitusprogrammide vahel, mis Protoni ja Wine'i all sujuvalt töötavad, pole ime, et paljud kasutajad tahavad lihtsalt oma arvutid sisse lülitada ja kõik selle unustada. Linux keskendub aga jätkuvalt kasutajate võimestamisele, nõudes samal ajal veidi suuremat sekkumist.
Lõppkokkuvõttes on Linuxi niinimetatud "Jumala režiim" mitme võimsuskihi summa.Juurkasutajast ja a ohtudest sudo Väärkasutatud on isegi x86 arhitektuuri privileegirõngad ja riistvaralised tagauksed, mis väga spetsiifilistel juhtudel võimaldavad operatsioonisüsteemist täielikult mööda hiilida; nende osade tundmine, nende tark kasutamine ja igaühe taga peituva mõistmine teeb vahet, kas nautida kogu seda vabadust või muuta oma süsteem hävitavaks katsepolügooniks.