----------------------- | | | nul'-modem | | | v v | --------------- --------------- | | | | | pereklyuchatel' | | pereklyuchatel' | \ 1 / \ 2 / \___________/ \___________/ ^ ^ pryamoj | | pryamoj kabel' | | kabel' v v +-------------+ +-------------+ | | | | | UNIX | | UNIX | | Mikro-|VM 1 | | Mikro-|VM 2 | | | | | +-------------+ +-------------+ --------------------------------------------------------------------- Kazhdaya mikro-|VM podsoedinena k bloku pereklyucheniya cherez glavnoe soedinenie. |ti pereklyuchateli 1 i 2 kommutiruyutsya drug s drugom i s blokom pereklyucheniya 3. Mikro-|VM 1 mozhet pereklyuchat'sya na mikro-|VM 2 v kachestve interfejsa terminal/uucp i na glavnuyu mashinu v kachestve udalennogo terminala. V etom sluchae liniya glavnoj mashiny prohodit cherez selektor porta. Mikro-|VM 2 mozhet pereklyuchat'sya mezhdu mikro-|VM 1 i glavnoj mashinoj analogichnym obrazom. Pereklyuchatel' 3 kommutiruet glavnuyu mashinu mezhdu mikro-|VM 1 i mikro-|VM 2. Vozmozhny sleduyushchie kombinacii: mikro-|VM 1 --> pereklyuchatel' --> glavnaya mashina Zaregistrirovat'sya v kachestve udalennogo terminala mikro-|VM 1 <-- --> pereklyuchatel' <-- --> mikro-|VM 2 Obrashchenie v UNIX ili iz UNIX v zavisimosti ot getty mikro-|VM 2 <-- --> pereklyuchatel' <-- --> mikro-|VM 1 Obrashchenie v UNIX ili iz UNIX v zavisimosti ot getty mikro-|VM 2 --> pereklyuchatel' --> glavnaya mashina Zaregistrirovat'sya v kachestve udalennogo terminala glavnaya mashina <-- pereklyuchatel' <-- mikro-|VM 1 Zaregistrirovat'sya s udalennogo terminala glavnaya mashina <-- pereklyuchatel' <-- mikro-|VM 2 Zaregistrirovat'sya s udalennogo terminala *** Veroyatno, rassmotrennye nami konfiguracii mogut ne v tochnosti sootvetstvovat' vashim potrebnostyam. Odnako my predstavili ih s toj cel'yu, chtoby vy uvideli raznoobrazie tipovyh reshenij, kotorye vy mozhete adaptirovat' dlya sebya. V sleduyushchej glave my neskol'ko otojdem ot vseh etih gaek i boltikov i podrobnee rassmotrim voprosy, svyazannye s administrirovaniem sistemy, osobenno voprosy bezopasnosti.  * GLAVA 9. Administrirovanie i bezopasnost' *  OBYAZANNOSTI I OTVETSTVENNOSTX ADMINISTRATORA PODDERZHKA BEZOPASNOSTI V SISTEME TIPICHNYE PROBLEMY BEZOPASNOSTI access pokaz vseh besparol'nyh vhodov v sistemu chkset proverka nalichiya v sisteme fajlov s razreshennoj ustanovkoj identifikatora pol'zovatelya ili gruppy suw otslezhivanie narushitelej po protokol'nomu fajlu komandy su ADMINISTRIROVANIE I BEZOPASNOSTX ZACHEM NAM IZUCHATX ADMINISTRIROVANIE ----------------------------------- Vashu kar'eru v sisteme UNIX v kachestve uchenika (stat' by posko- ree masterom!) mozhno predstavit' sebe v vide treh stupenej kvalifika- cii. Pervaya stupen' - posvyashchenie v rabotu sistemy UNIX v celom, oso- benno izuchenie ee serdceviny - fajlovoj sistemy. Pervye tri glavy zalozhili etot fundament i predostavili prakticheskie instrumental'nye sredstva dlya obsluzhivaniya sistemy. Vtoraya stupen' masterstva - pod- derzhka vashej sobstvennoj raboty i personal'noj sredy - rassmatrivaet- sya v glavah s chetvertoj po shestuyu. V glavah 7 i 8 bolee podrobno rassmatrivayutsya dva special'nyh aspekta prakticheskoj raboty s siste- moj UNIX - ustrojstva i kommunikacii. Teper' my gotovy dostich' tret'ej stupeni masterstva - kurirovat' rabotu samoj sistemy, chto bolee prozaicheski nazyvaetsya sistemnym ad- ministrirovaniem. Esli vy v nastoyashchij moment takoj pol'zovatel', kotoryj zanimaet- sya programmirovaniem, ili esli vy vse vremya rabotaete sistemnym prog- rammistom, to vas mozhet udivit', zachem vam stanovit'sya na tochku zre- niya sistemnogo administratora i ovladevat' ego osnovnymi instrumentami raboty. Na eto imeetsya dve ser'eznye prichiny: znanie i neobhodimost'. Sistemnoe administrirovanie trebuet blizkogo znakomstva s tem, gde i chto nahoditsya v sisteme, i ponimaniya vzaimosvyazi konkretnogo processa s sistemoj v celom. Programmisty stremyatsya nahvatat'sya sve- denij o chudesah i rezul'tatah tainstvennyh komand i o vsyacheskih hit- rostyah, kotorye oni schitayut poleznymi, no zachastuyu oni ne hotyat tra- tit' vremya na znakomstvo s sistemoj UNIX v celom. My by hoteli sagitirovat' vas na bolee sistematicheskoe izuchenie sistemy UNIX s toj cel'yu, chtoby vy mogli otkryt' dlya sebya novye kladovye znanij. Vot po- chemu na protyazhenii dannoj knigi my sozdavali instrumental'nye sreds- tva, kotorye ne tol'ko delayut poleznye veshchi, no i pomogayut vam izu- chat' samu sistemu. Neobhodimost' znat' administrirovanie stanovitsya oshchutimoj, kogda vy obnaruzhivaete, chto vam vdrug zadali rabotu sistemnogo administra- tora ili administrator ushel v otpusk, chto pol'zovateli vystroilis' vozle VASHEGO stola v ozhidanii pomoshchi, poskol'ku vas schitayut priznan- nym avtoritetom. Drugoj prichinoj vozniknoveniya neobhodimosti mozhet byt' to, chto vy stali bezrazdel'nym hozyainom vashej sobstvennoj mikro- |VM s sistemoj UNIX i hotite vse ustanovit' i podderzhivat' po svoemu vkusu. Vzglyanite na takuyu neobhodimost' administrirovaniya kak na voz- mozhnost' nakopit' obshirnye i doskonal'nye znaniya o UNIX, kotorye mo- gut sosluzhit' vam dobruyu sluzhbu v vashej budnichnoj rabote s komp'yute- rom. Byt' masterom UNIX - delo chesti i tehnicheskoj gramotnosti. Pyta- yas' udovletvorit' trebovaniyam neobhodimosti, mastera UNIX uchatsya pos- pevat' za potokom neobhodimyh im znanij. Mastera UNIX ne tol'ko horo- sho igrayut, no i proschityvayut igru na odin hod vpered. NEKOTORYE NABLYUDENIYA POSVYASHCHENNOGO V ADMINISTRIROVANIE ----------------------------------------------------- Polozhenie sistemnogo administratora takovo, chto trebuet bolee shirokogo ponimaniya sistemy, chem neobhodimo pol'zovatelyu ili dazhe programmistu, i v svyazi s etim bol'shej otvetstvennosti. Sposobnost' vseh, kto ne sil'no znaet UNIX, vypolnit' svoyu rabotu, zavisit ot sposobnosti administratora podderzhivat' rabotosposobnost' sistemy, predvidya i razreshaya problemy do togo, kak oni stanut opasnymi. Odnim iz naibolee vazhnyh voprosov administrirovaniya yavlyaetsya be- zopasnost'. Svedeniya o bezopasnosti, predstavlennye zdes', byli na- kopleny v rezul'tate raboty s administratorami, raboty v kachestve ad- ministratora i inogda neobhodimosti raboty pri nalichii nesoglasovanno dejstvuyushchih administratorov. Pomimo bezopasnosti, rassmotreny nekotorye iz bolee obshchih vopro- sov deyatel'nosti administratora. Nemnogie rukovodstva i knigi uchat, kak byt' administratorom. |ti navyki v osnovnom prihodyat s opytom. Vasha konfiguraciya sistemy, potrebnosti pol'zovatelej i prioritety vse vmeste okazyvayut vliyanie na to, kak vy spravlyaetes' s administrativ- nymi zadachami. My pomozhem vam pokazom instrumental'nyh sredstv i tryu- kov, rasskazom istorij o lovushkah i kapkanah i rassmotreniem razlich- nyh podhodov, rabotayushchih v real'noj praktike. ADMINISTRATIVNYE OBYAZANNOSTI ---------------------------- V bol'shinstve bol'shih komp'yuternyh sistem administratory ves'ma uvazhaemye lyudi. Oni otvechayut za podderzhanie rabotosposobnosti vychis- litel'noj sistemy 24 chasa v sutki, narashchivanie ee v sluchae neobhodi- mosti, pomoshch' pol'zovatelyam v razreshenii ih problem, patrulirovanie i obespechenie bezopasnosti. Administrirovanie - eto fakticheski neskol'- ko raznyh rabot v odnoj. My sobiraemsya podrobno rassmotret' kazhduyu iz etih oblastej, a zatem predlozhit' pomoshch' i instrumental'nye sredstva dlya ovladeniya administrirovaniem. PODDERZHKA RABOTOSPOSOBNOSTI SISTEMY Podderzhka rabotosposobnosti sistemy - prioritet nomer odin. |to oznachaet nechto bol'shee, chem prosto izbegat' sokrushitel'nyh sistemnyh krahov, hotya vazhnost' ih nedopushcheniya ochevidna. Obespechenie rabotospo- sobnosti sistemy trebuet takzhe profilakticheskih mer. Odno iz luchshih zanyatij dlya vas posle togo, kak vy zavershite pervoe prochtenie dannoj knigi,- vernut'sya v ee nachalo i rassmotret' izlozhennye v nej idei i instrumental'nye sredstva s tochki zreniya administratora. Naprimer, rassmotrenie togo, kak pravil'no realizovat' rezervnoe kopirovanie fajlov i sborku musora (sm. glavu 3), mozhet pomoch' predotvratit' sis- temnye krahi, vyzvannye usloviyami perepolneniya. Esli zhe krah vse-taki proizojdet, to takoe rassmotrenie pozvolit vam vosstanovit' vse dan- nye nastol'ko bystro i polno, naskol'ko eto vozmozhno. ULUCHSHENIE SISTEMNYH VOZMOZHNOSTEJ Po mere togo, kak vse bol'she i bol'she lyudej ekspluatiruyut siste- mu, trebuetsya vse bol'she resursov, no vy mozhete takzhe najti sposoby ispol'zovaniya imeyushchihsya resursov s bol'shej effektivnost'yu. Razrabaty- vaya sposoby povysheniya proizvoditel'nosti sistemy, vy najdete dlya sebya mnogo poleznogo v instrumental'nyh sredstvah, predstavlennyh v glave 3. V sisteme UNIX redko hvataet printerov, diskovyh ustrojstv, posle- dovatel'nyh portov, setevogo oborudovaniya i t.p., no bolee effektiv- noe primenenie mozhet pomoch' reshit' te zhe zadachi bez dobavleniya novyh resursov. Po vsej vidimosti, naibolee vazhnym resursom yavlyaetsya vremya cent- ral'nogo processora. Posadite tridcat' pol'zovatelej v sisteme, rass- chitannoj na dvadcati chetyreh - i vy srazu pochuvstvuete nehvatku pro- cessornogo vremeni. V rabotu administratora vhodit podderzhka tekushchih resursov, a takzhe planirovanie rosta sistemy na budushchee. Poetomu tre- buetsya, chtoby vy znali tipichnye raskladki ispol'zovaniya vashej siste- my, znali, gde mogut vozniknut' "uzkie mesta", kak effektivno raspre- delit' imeyushchiesya resursy i kakie sposoby narashchivaniya sistemy mogut byt' naibolee effektivnymi po stoimosti. Nekotoruyu poleznuyu informa- ciyu mozhno izvlech' putem "staticheskogo" inspektirovaniya fajlovoj sis- temy s pomoshch'yu sredstv, predstavlennyh v glave 2. Bolee dinamichnuyu kartinu ekspluatacii sistemy vy mozhete poluchit', primenyaya komandu ps, chtoby uvidet', kakie processy aktivny v nastoyashchee vremya, i primenyaya komandu w (v sisteme Berkeley), kotoraya vydaet statistiku zagruzki sistemy i organizacii ocheredej. POMOSHCHX POLXZOVATELYAM Pol'zovateli sistemy - nesomnenno, imeyut vysokij prioritet. Vse v sisteme dolzhno byt' organizovano tak, chtoby oni mogli vypolnit' svoyu rabotu. Administrator dolzhen sledit' za tem, chtoby vse razumnye (i nekotorye nerazumnye) zaprosy pol'zovatelej udovletvoryalis'. V obsluzhivanie potrebnostej pol'zovatelej mozhet vhodit' montiro- vanie lent i drugih fajlovyh sistem, rezervnoe kopirovanie fajlov, otladka kommunikacionnyh linij i zagotovka personal'nyh zapisej dlya pol'zovatelej v privilegirovannyh fajlah tipa crontab i inittab. (|ti dva fajla dayut pol'zovatelyam bol'she gibkosti v organizacii ih sredy i planirovanii zadach, no pri etom oshchutimy takzhe dlya pryamogo pol'zova- tel'skogo dostupa.) |to mozhet pokazat'sya legkim delom, no trebuet mnogo vremeni. BEZOPASNOSTX: NUZHEN STOROZHEVOJ PES Administrator vedaet vsemi voprosami bezopasnosti. Obychno on edinstvennyj, kto zanimaetsya etoj rabotoj. Pol'zovateli ne obespechi- vayut bezopasnost', potomu chto oni ne umeyut ili ne znayut, kak eto sde- lat'. Narushiteli bezopasnosti mogut atakovat' sistemu mnogimi sposo- bami. Oni mogut zanyat' sistemnye resursy, zapolnyaya tablicu processov ili tablicu otkrytyh fajlov i raspredelyaya dlya sebya vse svobodnoe dis- kovoe prostranstvo i vse svobodnye indeksnye deskriptory fajlov. Oni mogut pereputat'sya s drugimi pol'zovatelyami sistemy ili pomenyat' sis- temnoe vremya. Oni mogut povredit' fajly dannyh ili ispolnyaemye moduli i dazhe poddelat' pochtu. No pri vashej organizacii sistemy oni chashche vsego stanovyatsya prosto "pol'zovatelyami-huliganami". Pozzhe my rass- motrim bolee ser'eznye veshchi, chem sistemnoe huliganstvo - teh pol'zo- vatelej, kto mozhet nesankcionirovanno vospol'zovat'sya pravami super- pol'zovatelya. Nailuchshij podhod k problemam bezopasnosti - osoznat', chto dejs- tvitel'no nuzhdaetsya v zashchite, a ne pytat'sya stat' supersyshchikom. Vy dolzhny osobenno zabotit'sya o nuzhdah sistemnyh programmistov i drugih opytnyh avtoritetov v vashej sisteme. V ideale administrator dolzhen rabotat' VMESTE, a ne protiv priznannyh avtoritetov i podderzhivat' s nimi horoshie delovye kontakty. Ne u vseh narushitelej odinakovye moti- vy. Naprimer, kto-to iz avtoritetov mozhet zahotet' poluchit' dostup k pravam superpol'zovatelya dlya togo, chtoby samostoyatel'no delat' neko- toruyu rabotu, a ne zhdat', kogda ee sdelaete vy. Kto-to drugoj mozhet byt' obizhen na kogo-to ili voobshche na ves' mir i stremitsya otomstit' putem razrusheniya fajlov. Kazhdaya situaciya trebuet individual'noj ocen- ki. Napomnim, chto razdelyayushchaya liniya mezhdu administratorami i sistem- nymi avtoritetami zachastuyu neopredelennaya i nepostoyannaya. Bezopas- nost' inogda prevrashchaetsya v igru, v kotoroj opredelennye pol'zovateli pytayutsya razglyadet', chego oni mogut izbezhat', a administratory pyta- yutsya sohranit' kontrol' nad sistemoj. V rabote storozhevogo psa zadejstvovano pyat' funkcij: 1. Zashchita ot nerazreshennyh vhodov v sistemu, fajlov, programm i komand su. 2. Sohranenie konfidencial'nosti opredelennyh dannyh. 3. Nablyudenie za ispol'zovaniem modemov. 4. Predotvrashchenie nerazreshennyh peresylok fajlov. 5. Svedenie k minimumu vozmozhnostej vzloma. Zdes' mnogo raboty! Sistema UNIX tak obshirna, i fajly mogut skryvat'sya v takom bol'shom kolichestve mest, chto odin lish' poisk sa- mozvancev zanimaet pochti vse vremya. |to trebuet ot administratora ne stol'ko tyazheloj, skol'ko izobretatel'noj raboty. Dlya togo chtoby obes- pechit' sebe shansy na pobedu v etoj bor'be, vy dolzhny sdelat' tak, chtoby sistema pomogala sebya zashchishchat'. Neskol'ko pozdnee v etoj glave my predlozhim instrumental'nye sredstva access i suw, kotorye pomogayut vam zashchishchat'sya ot zapreshchennyh vhodov v sistemu, i komandnyj fajl chkset, imeyushchij delo s zashchitoj konfidencial'nyh fajlov. My takzhe predlagaem bolee detal'nyj vzglyad na konkretnye problemy bezopasnos- ti. ZASHCHITA OT ZAPRESHCHENNYH VHODOV V SISTEMU, FAJLOV, PROGRAMM I KOMAND su Imeetsya mnogo sposobov polucheniya nesankcioniovannyh privilegij v sisteme UNIX. Samyj prostoj sposob - imet' kornevoj (superpol'zova- tel'skij) interpretator shell. |to takoj shell, kotoryj zapuskaetsya kak osobo privilegirovannyj process, imeyushchij vozmozhnost' chitat', uda- lyat' ili modificirovat' LYUBOJ fajl v sisteme nezavisimo ot togo, ka- kie prava dostupa ustanovleny dlya etogo fajla ego vladel'cem. Korne- voj shell mozhno zapoluchit', uznav kornevoj parol' u neostorozhnogo administratora ili pri pomoshchi drugih sredstv, rassmatrivaemyh nizhe. Nesankcionirovannyj pol'zovatel', imeya dostup k pravam super- pol'zovatelya, mozhet podgotovit' "potajnye dveri", obespechivayushchie dal'nejshij zapreshchennyj dostup. Oni pozvolyayut narushitelyu zapuskat' shell s kornevymi privilegiyami. Bolee podrobno my rassmotrim ih pozd- nee. Potajnye dveri mogut vystupat' v razlichnom oblich'e. Oni mogut byt' ispolnyaemymi modulyami, latkami v sistemnyh utilitah ili latkami v sistemnyh fajlah. Administrator dolzhen vesti postoyannoe nablyudenie za izmeneniyami v sisteme i umet' protivodejstvovat' vsyacheskim vmesha- tel'stvam. Nizhe my rassmotrim nekotorye instrumental'nye sredstva i priemy, pomogayushchie vam obnaruzhivat' takoe proniknovenie. VHODY V SISTEMU Nachnem s nesankcionirovannyh vhodov v sistemu. |to mozhet proi- zojti mnogimi sposobami. Byvaet, chto narushitel' dobavlyaet svoe sobs- tvennoe registracionnoe imya v parol'nyj fajl i pomeshchaet tuda svoj pa- rol'. Esli administrator ne znakom s parol'nym fajlom ili davno tuda ne zaglyadyval, to takuyu nesankcionirovannuyu zapis' mozhno proglyadet'. Drugoj metod nesankcionirovannogo vhoda v sistemu zaklyuchaetsya v tom, chto kto-to mozhet zavladet' vsemi parolyami, vstavlyaya v programmu login "latku" s tekstom, napravlyashchim vse vvedennye pol'zovatelyami pa- roli v potajnoj fajl. Nizhe my rassmotrim nekotorye tipy takih "la- tok". Konechno, takaya izyskannaya rabota zachastuyu sovsem ne obyazatel'na. Kak izvestno, lyudi ostavlyayut svoi paroli napisannymi na listkah buma- gi v nezapertyh yashchikah stola. Dlya nekotoryh verhom sekretnosti yavlya- etsya primenenie kombinacii pervogo i poslednego imeni v kachestve pa- rolya. Odnako esli uzh narushitel' znaet mnogo parolej, on mozhet primenyat' kazhdyj raz razlichnye registracionnye imena, chtoby ne popa- dat'sya na opasnom imeni. Probit' sistemu zashchity UNIX mozhno s pomoshch'yu "ispolnyaemyh regist- racionnyh imen". |to imena, kotorye zapuskayut programmu, a ne prosto predostavlyayut vam shell, chto yavlyaetsya obychnym sposobom nachala seansa raboty pol'zovatelya v sisteme. |to mozhet vyglyadet' primerno tak: date::100:50:Print the date:/bin:/bin/date who::101:50:Print all logged on users:/bin:/bin/who |to mozhet zapustit' lyuboj, kto imeet dostup k terminalu ili mo- demnomu portu. Inogda eto pravil'nye imena, naprimer date, who ili sync. Hotya dlya administratora mozhet byt' udobnym nalichie programm, zapuskaemyh pri vhode v sistemu, oni chasto stanovyatsya lazejkami, che- rez kotorye kto-nibud' mozhet proniknut' v sistemu i obnaruzhit' mnogo informacii o sisteme. Samye krupnye lazejki poyavlyayutsya togda, kogda eti registracion- nye imena vypolnyayut komandnye fajly interpretatora shell. Kak tol'ko narushitel' poluchaet privilegii superpol'zovatelya (dazhe esli oni lish' vremennye), on mozhet pomestit' v parol'nyj fajl takuyu zapis', kotoraya v moment vhoda v sistemu zapuskaet komandnyj fajl interpretatora shell (ili mozhet izmenit' imeyushchuyusya zapis' s komandnym fajlom). Sami eti komandnye fajly mozhno v lyuboj moment izmenit' tak, chtoby oni ra- botali po zadaniyu nesankcionirovannogo pol'zovatelya. Naprimer, v pa- rol'nom fajle mozhet byt' takaya zapis': break::102:50::/:/usr/bin/break Takaya zapis' pozvolila by komu ugodno nabrat' imya "break" v otvet na registracionnuyu podskazku, v rezul'tate chego vypolnilsya by fajl /usr/ bin/break. Kogda break otrabotaet, snova postupaet registracionnaya podskazka, i v sisteme poyavlyaetsya novaya lazejka. Pochemu? Potomu chto komandnyj fajl break mozhet soderzhat' komandy dlya redaktora, kotorye otredaktirovali by parol'nyj fajl i dobavili nesankcionirovannye za- pisi. |to stanovitsya vozmozhnym po toj prichine, chto process getty (pe- chatayushchij registracionnuyu podskazku) zapuskaetsya processom init, a vladel'cem fajla init yavlyaetsya superpol'zovatel'. Takaya privilegiya peredaetsya komandnomu fajlu, tak kak on zapushchen v moment registracii v sisteme, a programmam, zapuskaemym pri vhode v sistemu, obychno tre- buetsya superpol'zovatel'skij dostup dlya vypolneniya neobhodimyh inici- alizacij. V dannom sluchae, odnako, on pozvolyaet redaktoru chitat' fajl /etc/passwd i pisat' v nego. Takim obrazom, kak tol'ko narushitel' ODIN RAZ poluchaet dostup na zapis' v /etc/passwd (analogichno "diver- sionnym programmam"), on mozhet ustanovit' postoyannyj dostup, chasto dazhe cherez neskol'ko tochek vhoda. I eshche. V staryh versiyah UNIX popadayutsya nekotorye oshibki, pre- dostavlyayushchie superpol'zovatel'skie vozmozhnosti. Naprimer, esli v pol'zovatel'skoj zapisi parol'nogo fajla ne ukazan nomer pol'zova- tel'skogo identifikatora, to po umolchaniyu on schitaetsya nulevym, t.e. superpol'zovatel'skim. V etu lazejku ochen' legko proniknut'. Primer takoj zapisi: rt::::The Super User:/:/bin/sh Vot nekotorye drugie problemy, za kotorymi dolzhen sledit' admi- nistrator. Esli pervaya stroka parol'nogo fajla pustaya, to pol'zova- tel' mozhet zaregistrirovat'sya kak kornevoj bez parolya. Prover'te tak- zhe zapis' "bin" v parol'nom fajle, kotoraya obychno zapuskaet sistemnye programmy. Esli zapis' bin ne soderzhit parolya, kak v privedennom vyshe primere, kto-to mozhet vojti v sistemu v kachestve bin i otredaktiro- vat' fajl crontab, chtoby primenit' k parol'nomu fajlu komandu chmod (change permission mode, izmenenie prav dostupa) i obespechit' sebe dostup k nemu. Pol'zovatel' bin mozhet takzhe otredaktirovat' fajl /etc /rc, chtoby smenit' parol'nyj fajl. Fajl rc ispol'zuetsya dlya konfigu- rirovaniya sistemy v moment ee starta putem avtomaticheskogo zapuska ryada programm. Vse, chto nuzhno dlya uspeshnogo vtorzheniya,- podozhdat', kogda administrator peregruzit sistemu (poskol'ku imenno v etot mo- ment fajl zapuskaetsya). Posle perezagruzki narushitel' mozhet vojti v sistemu kak obychnyj pol'zovatel', otredaktirovat' parol'nyj fajl, za- pisat' ego, a potom v lyuboj moment vhodit' v sistemu v kachestve su- perpol'zovatelya. |to vsego lish' neskol'ko sposobov, kotorymi mozhno dobit'sya nesankcionirovannogo vhoda v sistemu. K sozhaleniyu, kazhdyj den' vydumyvayut novye sposoby. FAJLY I PROGRAMMY Eshche odna sfera zloupotreblenij svyazana s nesankcionirovannym proniknoveniem v fajly i programmy. Samyj trudnyj etap dlya togo, kto hochet vzlomat' zashchitu sistemy UNIX,- stat' superpol'zovatelem pervyj raz, no kak tol'ko eta cel' dostignuta kakimi-libo sredstvami, fajly- interventy mozhno pomestit' v lyubom meste sistemy. Vtorzhenie mozhet vklyuchat' v sebya razmeshchenie "potajnyh dverej", latanie komandy login s cel'yu ovladeniya parolyami, chtenie i izmenenie sistemnyh uchetnyh fajlov i t.d. Nizhe my rassmotrim primery etih i drugih metodov. Osnovnymi fajlami, v kotorye vtorgaetsya kornevoj narushitel', yav- lyayutsya /etc/passwd, /etc/*rc*, /usr/lib/crontab, /usr/lib/uucp/L.sys. Dlya obnaruzheniya treshchin v vashej administrativnoj brone mozhno poiskat' fajly, dlya kotoryh vzveden bit razresheniya ustanovki pol'zovatel'skogo identifikatora (chto ukazyvaetsya bukvoj "s" v pravah dostupa, otobra- zhaemyh komandoj "ls -l"), i fajly, vladel'cem kotoryh yavlyaetsya super- pol'zovatel'. Naznachenie bita ustanovki pol'zovatel'skogo identifika- tora - razreshit' programme imet' vremennyj dostup k bolee privilegirovannomu sostoyaniyu (naprimer, superpol'zovatel'skomu), chem ona imeet v moment svoego zapuska. Na samom dele eto ochen' poleznoe svojstvo sistemy UNIX, tak kak ono pozvolyaet upravlyat' dostupom ko mnogim takim osobennostyam, k kotorym vy by ne hoteli predostavit' ne- posredstvennyj dostup dlya drugih pol'zovatelej. K sozhaleniyu, v eti programmy mozhet kto-nibud' proniknut', chtoby ispol'zovat' ih vremen- nyj kornevoj status dlya vreditel'stva, kotoroe my uzhe opisyvali. Ta- kih fajlov imeetsya konechnoe chislo, i vse oni mogut byt' provereny. Rassmatrivaemyj dalee komandnyj fajl chkset avtomatiziruet dlya vas process proverki. Tem ne menee, znanie togo, kakie fajly MOGLI byt' podvergnuty vmeshatel'stvu, eshche nichego ne govorit o tom, v kakie fajly DEJSTVITELXNO proizoshlo vtorzhenie i kak. Tyazhelee vsego obnaruzhit' za- latannye sistemnye fajly. Nekotorymi iz chasto lataemyh fajlov yavlyayut- sya login, su, passwd, ps, crypt i mv. Byvaet, chto izoshchrennyj narushitel' skryvaet daty modifikacii faj- la, chtoby nikto ne smog ego obnaruzhit' po etomu priznaku. Edinstven- nyj sposob zafiksirovat' takoe vmeshatel'stvo - imet' KONTROLXNUYU SUM- MU, t.e. zapis' s summoj (kolichestvom bajtov) vseh vazhnyh fajlov i hranit' ee v otdel'nom meste ili v zakodirovannom vide. Putem perio- dicheskoj sverki staryh summ s novymi, mozhno obnaruzhit' izmenennye fajly. Eshche odna veshch', za kotoroj dolzhen sledit' administrator, eto "skrytye fajly". Skrytye fajly yavlyayutsya chast'yu sistemy i imeyut opre- delennyj smysl: oni prednaznacheny dlya togo, chtoby ne zagromozhdat' raspechatki katalogov. Dlya togo chtoby skryt' fajl, nuzhno sdelat' per- vym simvolom imeni fajla tochku (.). Pri ispol'zovanii komandy ls vy dolzhny ukazat' opciyu -a, esli vy hotite uvidet' fajly, nachinayushchiesya s tochki. Obnaruzhenie zapreshchennyh fajlov mozhet byt' zatrudneno, esli fajl zaryt na tri-chetyre urovnya kataloga vniz i nazvan nezametnym imenem. Reshenie zaklyuchaetsya v tom, chtoby vsegda primenyat' opciyu -a komandy ls, esli vy stalkivaetes' s problemami. Nekotorye komandy po umolchaniyu pechatayut fajly, nachinayushchiesya s tochki. Ncheck(1M) pechataet vse fajly, imeyushchie vzvedennyj bit razresheniya ustanovki pol'zovatel'- skogo identifikatora. Esli fajl nazvan strannym obrazom, ego srazu zhe vidno. Odnim iz moih lyubimyh yavlyaetsya fajl "...". On vyglyadit nes- kol'ko stranno, no eto pravil'noe imya fajla. Vy dazhe mozhete zavesti imya fajla, obrazovannoe 14 tochkami - takova maksimal'naya dlina imeni fajla. KOMANDY su Poslednij vopros, za kotorym nuzhno sledit',- zapreshchennye komandy su. Su - eto takoe sredstvo, kotoroe pozvolyaet vam PODSTAVITX drugoj pol'zovatel'skij identifikator vmesto vashego sobstvennogo. Esli kto-to znaet kornevoj parol', on mozhet vojti v sistemu s lyubogo ter- minala i primenit' komandu su s kornevym parolem. Odnako, eto, vero- yatno, tot sluchaj, kogda narushiteli potratyat bol'she vsego vremeni, py- tayas' chego-libo dobit'sya. Delo v tom, chto vse tranzakcii su zapisyvayutsya v protokol'nyj fajl pod nazvaniem sulog. Pravda, k sozha- leniyu, esli uzh narushitel' stal superpol'zovatelem, to emu nichto ne meshaet modificirovat' protokol'nyj fajl s cel'yu udaleniya komprometi- ruyushchih zapisej. K tomu zhe esli redaktor vi vyzvan bez imeni fajla, to nikto ne mozhet uvidet', kakoj fajl redaktiruetsya v to vremya, kogda v sisteme proishodit vreditel'stvo. No bditel'nyj sistemnyj administrator mozhet borot'sya s etim pri pomoshchi komandy ps. Ona pechataet stroku o komande su tochno tak zhe, kak ona delaet eto dlya vseh ostal'nyh processov, poetomu mozhno srazu zhe zametit', chto kto-to prevratilsya v superpol'zovatelya komandoj su. Na- rushitelya vydaet to, chto roditel'skij process imeet registracionnoe imya, a vladel'cem su yavlyaetsya superpol'zovatel'. Nakonec, vse ravno zhe nuzhen kornevoj parol'. A esli kto-to uzhe znaet kornevoj parol', to zachem emu svyazyvat'sya s komandoj su? Primenyat' su bylo by rezonno tol'ko v tom sluchae, esli by zalatat' komandu su tak, chtoby ona ne zapisyvala tranzakciyu v protokol i izmenyala stroku, kotoruyu pechataet ps. My eshche ne znaem, chtoby kto-nibud' dobilsya takogo effekta. SOHRANENIE KONFIDENCIALXNOSTI DANNYH Dazhe esli dopustit', chto sekretnost' obespechena, byvayut sluchai, kogda administratoru nuzhno zashchitit' vazhnye fajly ot lyubopytnyh glaz. V sisteme UNIX eto mozhno sdelat' s pomoshch'yu special'nyh atributov za- shchity fajla, special'nyh gruppovyh prav dostupa, shifrovki ili dazhe razmeshcheniya etih dannyh na diske, kotoryj montiruetsya tol'ko v sluchae neobhodimosti. Odnako, takie dannye ne dolzhny ostavat'sya fizicheski prisutstvuyushchimi v sisteme, esli oni ne montirovany, potomu chto naru- shitel' mozhet ih smontirovat' i poluchit' k nim dostup. Komandnyj fajl mntlook, rassmotrennyj ranee, umeet prosmatrivat' vse ustrojstva i nahodit' takie dostupnye, no nemontirovannye fajlovye sistemy. Neobhodimo soblyudat' takoe pravilo: "Esli vy ne hotite, chtoby kto-nibud' videl etot fajl, ne derzhite ego na vidu". I ne dumajte, chto vy tak horosho ego spryatali, chto nikto ne smozhet ego najti. Esli lyudi imeyut superpol'zovatel'skij dostup v vashu sistemu, oni mogut za schitannye minuty poluchit' raspechatku kazhdogo fajla etoj sistemy. Za- tem, kogda vy ne vidite, oni mogut pri pomoshchi uucp peredat' interes- nyj fajl v druguyu sistemu dlya posleduyushchego izucheniya, skopirovat' ego na gibkij disk ili dazhe otpechatat'. Pomnite, chto esli v vashu sistemu pronik nesankcionirovannyj pol'zovatel', NIKAKOJ BEZOPASNOSTI BOLXSHE NET! KONTROLX ZA ISPOLXZOVANIEM MODEMA Modemy yavlyayutsya odnoj iz krupnyh proboin v zashchite sistemy. Esli tol'ko u vas net special'noj apparatury dlya predvaritel'noj fil'tra- cii obrashchenij v sistemu UNIX, to ona vsegda uyazvima posredstvom mo- demnyh portov. Bol'shie vychislitel'nye sistemy mogut imet' proizvol'noe chislo modemov, kak prinimayushchih, tak i peredayushchih. Vam mozhet pokazat'sya, chto poskol'ku komanda login imeet dopolnitel'nyj parol' dlya linij s nabo- rom nomera, to vse sekretno, no eto ne tak. Imeyutsya programmy, koto- rye mogut probovat' mnogo kombinacij veroyatnyh registracionnyh imen i parolej, i v sluchae podhodyashchej kombinacii komanda login mozhet vpus- tit' narushitelya v sistemu! Obrashchenie vovne, v drugie sistemy cherez modemy - otdel'naya isto- riya. Obychno tot, kto pravil'no zaregistrirovalsya v sisteme, hochet obrashchat'sya k drugim sistemam. No chto, esli na vashej storone imeyutsya ulavlivayushchie registracionnye imena tipa class, education, test i t.d.? Kto-to mozhet vojti v sistemu pod vidom odnogo iz takih pol'zo- vatelej i ispol'zovat' modem bezo vsyakogo riska byt' shvachennym za ruku. Edinstvennyj sposob pojmat' takih narushitelej - po nomeru ter- minal'noj linii, esli u vas imeyutsya special'no vydelennye linii. CHto proizoshlo by, esli by tot, kto voshel v vashu sistemu cherez modem pri pomoshchi odnogo iz perechislennyh registracionnyh imen, obra- tilsya by potom vovne, k kakoj-nibud' "dal'nej zemle"? Togda ne bylo by nikakoj vozmozhnosti usledit' za obratnym vyzovom opredelennogo pol'zovatelya. PREDOTVRASHCHENIE ZAPRESHCHENNYH PERESYLOK FAJLOV Zapreshchennye peresylki fajlov imeyut otnoshenie pochti isklyuchitel'no k sredstvam uucp. V sisteme Berkeley (BSD 4.1 i starshe) setevye ko- mandy takzhe imeyut analogichnye problemy. Vot primer: esli kto-to za- puskaet v sisteme Berkeley komandnyj fajl dlya "vzloma dveri", to ko- manda udalennoj registracii v sisteme (rlogin) registriruet narushitelya na drugoj mashine v kachestve superpol'zovatelya i nikogda ne sprashivaet kornevoj parol'. Razve eto ne ochevidnaya proboina v siste- me? Nesankcionirovannyj pol'zovatel' mozhet takzhe primenit' udalennoe kopirovanie (rcp), chtoby skopirovat' programmu "vzloma dveri" vo vse sistemy. Samoe glavnoe sledit' za protokol'nymi fajlami. No opyat' zhe, chto esli narushitel' udalyaet iz protokol'nyh fajlov vse zapisi, svyazannye s zadaniem voprosov? U vas net sposoba uznat' o tom, chto eto proizosh- lo. Eshche nuzhno sledit' za takim povedeniem narushitelej, kogda oni de- layut vyzov i vydayut sebya za korrektnuyu udalennuyu sistemu. Oni mogut dobit'sya etogo, izmeniv uzlovoe imya svoej sistemy takim obrazom, chto- by ono sootvetstvovalo odnomu ih vashih razreshennyh "korrespondentov". Izoshchrennogo narushitelya ochen' trudno pojmat', no my predlagaem nekoto- rye idei, kotorye dolzhny vam v etom pomoch'. SVEDENIE K MINIMUMU VOZMOZHNOSTEJ VZLOMA |to to, chem administratory chasto prenebregayut. Sovet nomer odin - NIKOGDA ne ostavlyat' bez prismotra terminal, zaregistrirovannyj kak superpol'zovatel'skij. Brosit' bez prismotra terminal s kornevym dos- tupom - vse ravno, chto ostavit' tysyachu klyuchej ot sejfa kompanii na vashem stole. Vse nesankcionirovannye pol'zovateli mogut vospol'zo- vat'sya etim, podgotoviv komandnyj fajl "vzloma dveri", ozhidayushchij ta- kogo momenta. Kak tol'ko oni poluchayut v svoi ruki vash terminal, vsego lish' odna komanda predostavlyaet im bezgranichnye superpol'zovatel'skie vozmozhnosti. S etogo momenta sistema perestaet byt' zashchishchennoj. Sistemnye administratory dolzhny proveryat' svoi sistemy i smot- ret' na nih s tochki zreniya narushitelya. Est' li hot' kogda-nibud' mo- ment, v kotoryj sistema uyazvima? CHto mozhet proizojti sredi nochi, kog- da rabotayut programmy rezervnogo kopirovaniya? Mozhet li kto-nibud' zavladet' konsol'nym terminalom? Ne smozhet li navredit' tot, kto pri- hodit k vam pomogat'? Esli vy na sekundochku vyshli, ne smozhet li kto-to primenit' komandu chmod, a potom zapolnit' ekran chem-nibud' drugim, chtoby vy ne uznali, chto eto bylo sdelano? Vot te opasnosti, o kotoryh vam nuzhno pomnit'. TIPICHNYE PROBLEMY BEZOPASNOSTI Rassmotrev v obshchih chertah obyazannosti sistemnyh administratorov i, v chastnosti, osnovnye voprosy sistemnoj bezopasnosti, my gotovy teper' k bolee detal'nomu izucheniyu togo, kak mogut proizojti narushe- niya zashchity. Kazhdyj metod vmeshatel'stva v sistemu imeet svoi preimu- shchestva i nedostatki s tochki zreniya narushitelya i ostavlyaet vozmozhnost' bor'by s nim. Buduchi osvedomlennym ob etih harakteristikah, administ- rator poluchaet horoshij shans obnaruzhit' proboi v zashchite i vyyavit' po- tencial'nyh narushitelej. POTAJNYE DVERI My uzhe otmechali, chto lyudi, kotorye mogut poluchit' superpol'zova- tel'skij dostup v sistemu hotya by na korotkoe vremya, mogut napisat' programmy, predostavlyayushchie im postoyannyj superpol'zovatel'skij dos- tup. Napomnim, chto tot, kto hochet prorvat' zashchitu sistemy UNIX, per- vym delom pytaetsya najti sposob stat' superpol'zovatelem. Kak my uzhe obsuzhdali, narushenie fizicheskoj zashchity ili ploho oberegaemyj kornevoj parol' mogut dat' narushitelyu vozmozhnost' zapustit' process kak super- pol'zovatel'skij, chto predostavlyaet dostup k fajlam (naprimer, stan- dartnym ispolnyaemym modulyam sistemy UNIX), kotorye ne mozhet izmenit' obychnyj pol'zovatel'. V rezul'tate narushitel' poluchaet dlya sebya "po- tajnuyu dver'". Klyuchevym voprosom yavlyaetsya sposob hraneniya v sisteme UNIX ukaza- nij o vladel'ce i privilegiyah, svyazannyh s fajlom. Pomimo horosho iz- vestnyh prav dostupa dlya vladel'ca, gruppy i prochih pol'zovatelej (eti prava ustanavlivayutsya komandoj chmod), imeetsya dva bolee starshih bita, nazyvaemyh setuid (ustanovka pol'zovatel'skogo identifikatora) i setgid (ustanovka gruppovogo identifikatora). Kak pravilo, process, zapushchennyj dannym pol'zovatelem, imeet tol'ko te privilegii na dostup, kotorye prinadlezhat etomu pol'zovate- lyu. Odnako, mnogie sistemnye komandy dolzhny imet' dostup k takim faj- lam, k kotorym my by ne hoteli razreshat' dostup pol'zovatelya, za isk- lyucheniem ochen' ogranichennogo nabora situacij. YArkim primerom yavlyaetsya komanda passwd, pozvolyayushchaya pol'zovatelyu smenit' svoj parol'. Ochevid- no, chto etoj komande neobhodim dostup na zapis' v fajl /etc/passwd, a takoj dostup imeet obychno tol'ko superpol'zovatel'. Problemu reshaet ispolnyaemyj fajl komandy passwd, v kotorom bit setuid ustanovlen na vladel'ca fajla, a vladel'cem fajlov, sootvets- tvuyushchih obychnym sistemnym komandam, yavlyaetsya superpol'zovatel' (pol'- zovatel'skij identifikator 0). |to oznachaet, chto VO VREMYA RABOTY PRO- CESSA, sootvetstvuyushchego dannoj komande, pol'zovatel' imeet kornevye privilegii! Kogda komanda zavershaetsya, prekrashchaetsya i kornevoj dostup ... esli tol'ko v dannuyu komandu ne bylo kakogo-to vmeshatel'stva ili esli narushitel' ne ustanovil osobuyu programmu setuid. V etih sluchayah ostaetsya tol'ko vojti v potajnuyu dver'. Potajnaya dver' - eto chashche vsego fajl, vladel'cem kotorogo yavlya- etsya superpol'zovatel', no kotoryj podvergnut vmeshatel'stvu nesankci- onirovannogo pol'zovatelya, zavladevshego kakim-to obrazom pravom dos- tupa na zapis' v etot fajl, obychno putem vremennogo superpol'zovatel'skogo dostupa. Vazhno ponimat', chto potajnaya dver' - eto prosto eshche odin process, porozhdennyj iz obychnogo pol'zovatel'sko- go interpretatora shell, no s odnoj sushchestvennoj osobennost'yu: u nego drugoj nomer pol'zovatel'skogo identifikatora - kak pravilo, 0, t.e. identifikator superpol'zovatelya. Poskol'ku pol'zovatel'skij identifi- kator hranitsya v samom processe, on mozhet byt' podvergnut vmeshatel'- stvu. Fakticheskoe proniknovenie v sistemu s obreteniem vozmozhnostej superpol'zovatelya proishodit togda, kogda rabotaet "dvernaya" program- ma. Zdes' ispol'zuetsya volshebstvo bita setuid. Kogda etot bit vzve- den, programma ustanavlivaet (ili izmenyaet) pol'zovatel'skij identi- fikator processa na pol'zovatel'skij identifikator vladel'ca dannogo fajla (kotoryj okazyvaetsya superpol'zovatel'skim). Poka etot pol'zo- vatel'skij identifikator vremenno yavlyaetsya superpol'zovatel'skim, programma prevrashchaetsya v shell-interpretator (obychno putem vypolneniya sistemnogo vyzova exec). Takoj shell nahoditsya po druguyu storonu dve- ri, v carstve superpol'zovatelya, so vsemi prinadlezhashchimi emu privile- giyami. Kak my uzhe otmechali, obsuzhdaya komandy su, bolee izoshchrennye naru- shiteli mogut razlichnymi sposobami maskirovat' svoe pronikonvenie v sistemu. Odin iz sposob maskirovki - imet' "dvernuyu" programmu, koto- raya nichego ne delaet, esli tol'ko ona ne vyzvana s kakoj-nibud' neza- metnoj opciej, naprimer -z. Skoree vsego, programma potajnoj dveri ne vydaet skol'ko-nibud' poleznogo sintaksicheskogo soobshcheniya, esli ee vyzvat' bez pravil'noj opcii. Eshche odna hitrost' zaklyuchaetsya v tom, chto programma potajnoj dve- ri mozhet izmenit' svoyu komandnuyu stroku (kotoruyu mozhno otobrazit' pri pomoshchi komandy "ps -ef", vydayushchej polnoe sostoyanie processa) na kakuyu -nibud' bezobidnuyu, zapuskaemuyu obychno superpol'zovatelem (naprimer, getty). Opytnyj narushitel' vryad li ostavit ishodnyj tekst programmy po- tajnoj dveri v sisteme, poetomu administrator vynuzhden razglyadyvat' tol'ko ispolnyaemyj modul'. Dlya reassemblirovaniya ob®ektnogo koda mozh- no primenit' otladchik (adb), no esli tol'ko vy ne imeete bezumno blizkogo znakomstva s vnutrennostyami sistemy UNIX, vam budet ves'ma trudno predstavit' sebe, chto proishodit. Izoshchrennye programmy potaj- noj dveri izbegayut takzhe prisutstviya legko uznavaemyh strok v ispol- nyaemyh modulyah. Vy mozhete, odnako, primenit' komandu strings (esli ona est' v vashej sisteme) dlya poiska simvol'nyh strok, kotorye tam mogli by byt'. PROTOKOLXNYE FAJLY Odna iz prostejshih lovushek dlya togo, kto pytaetsya dobyt' prava superpol'zovatelya - sozdavat' zapis', pomeshchaemuyu v protokol'nyj fajl. Pri etom administratoram nuzhno sledit' za protokol'nymi fajlami, ne poyavlyayutsya li tam zapisi, kotorye mogut byt' priznakom zlodejstva. Nizhe my pokazhem vam instrumental'noe sredstvo, kotoroe avtomaticheski sledit za odnim iz takih protokol'nyh fajlov - fajlom sulog, soderzha- shchim tranzakcii "zamenennogo pol'zovatelya". Drugoj protokol'nyj fajl, chasto nuzhdayushchijsya v proverke, eto protokol programmy uucp, potomu chto eta programma mozhet byt' ispol'zovana dlya nesankcionirovannyh peresy- lok fajlov. Mnogie narushiteli pytayutsya proverit' protokol'nye fajly i udalit' komprometiruyushchie zapisi, sgenerirovannye pri ih vmeshatel'st- ve. V arsenale administratora est' sredstva bor'by s etim. Oni ne na 100 procentov effektivny, no otlavlivayut nekotoryh narushitelej i, us- lozhnyaya im zhizn', mogut otbit' ohotu vtorgat'sya v sistemu. V dopolnenie k obychnym protokol'nym fajlam, podderzhivaemym sis- temoj UNIX, nekotorye administratory zavodyat svoi sobstvennye proto- kol'nye fajly, a zatem podpravlyayut klyuchevye komandy tak, chtoby oni pomeshchali dannye v eti novye registracionnye fajly v processe svoej raboty. |to mozhet pomoch' obezvredit' neostorozhnyh lazutchikov. Odin znakomyj administrator sdelal protokol'nyj fajl dlya komandy cu i naz- val ego /tmp/.../.culog. Dovol'no umnyj tajnyj fokus, no v /usr/lib/crontab u nego byla zapis' dlya periodicheskoj pechati etogo fajla. |to ego vydavalo: nuzhno bylo maskirovat'sya poluchshe. Zametim takzhe, chto vashi "skrytye" imena protokol'nyh fajlov mogut byt' izvle- cheny putem prosmotra ispolnyaemogo obraza komandy s pomoshch'yu utility strings. Esli u vas est' pol'zovatel', ot kotorogo vy ozhidaete chego-ni- bud' zapreshchennogo, vy dolzhny umet' ustanovit' special'nuyu sistemu re- gistracii, kotoraya zapuskala by bolee sovershennyj mehanizm, kogda ta- koj pol'zovatel' rabotaet v sisteme. Programmu watch iz glavy 6 mozhno modificirovat' tak, chtoby ona vyzyvala special'nuyu protokoliruyushchuyu programmu, kogda v sistemu vhodit pol'zovatel' iz izvestnogo spiska. Protokoliruyushchaya programma mogla by povtoryat' komandy ps (process status, sostoyanie processa) i/ili delat' "momental'nye snimki" obych- nyh registracionnyh fajlov (osobenno uchetnyh fajlov) i napravlyat' re- zul'taty v pripryatannyj protokol'nyj fajl. Ideya sostoit v tom, chto opasnye processy mozhno bylo by obnaruzhit' do togo, kak narushitel' po- luchaet vozmozhnost' vojti v protokol'nye fajly i izmenit' ih. (Vidimo, vam nuzhno izbegat' primeneniya komandy at v takoj programme, a perio- dicheski pol'zovat'sya vmesto nee komandoj sleep. V protivnom sluchae, narushitel' mozhet raspoznat' vashi meropriyatiya po zapisi fajla crontab.) Kak tol'ko vy imeete rezul'tat o seanse raboty opasnogo pol'zovatelya, vy mozhete zapustit' grep dlya poiska interesuyushchih vas imen ili napisat' instrumental'noe sredstvo, kotor