Kako naredimo sistem varnejši

(Kako reševati dilemo med potrebo po povezavi z omrežjem in preprečevanje vdora škodljivim vplivov).

Kdo in kako naj opazuje dogajanja na UNIX postajah

Najnujnejše napotke za zaščito pred tipičnimi vdori smo podali že kar ob opisu le-teh, toda to še zdaleč ni dovolj. Levji delež skrbi in odgovornosti nosi sistemski administrator, zato je potrebno presneto dobro premisliti, komu zaupati tovrstne naloge. Navadno to ni le ena oseba, ampak jih je več, ki si potem delijo naloge in se po potrebi dopolnjujejo. Nikakor ni varno imeti prehodne administratorje, v našem primeru dijake.

Dober administrator spremlja dogajanje na svojem računalniku in je pozoren predvsem na nenavadne dogodke. Zanj pomembni podatki so predvsem:

· kdo in od kod je ali je bil prijavljen (who, finger, last),

· kaj dela (w, ps),

· kateri procesi tečejo (ps, top),

· koliko diska kdo zaseda (du -s *),

· katere datoteke so odprte (lsof) in

· katere komunikacije so vzpostavljene preko portov (netstat).

Jasno je, da ni možno vsega sprotno spremljati. V določene datoteke (/var/adm/*) se zapisujejo podatki o nekaterih varnostno občutljivih zadevah. Potrebno jih je sprotno pazljivo pregledovati in v primeru vdora analizirati. Velika poraba diska in obilica pretočenih podatkov lahko kaže na piratsko dejavnost katerega od uporabnikov.

Administrator mora biti čim bolje obveščen o varnostnih luknjah v sistemu, ker že javno dostopne skripte omogočajo vdiralcem z malo znanja zlorabo do neslutenih razsežnosti. Dobro je imeti ekipo, ki se med sabo obvešča. V ta namen obstaja niz novic (News-ov) in poštnih seznamov (Mail list). V Sloveniji obstaja na ARNES-u v ta namen poseben seznam (vdori@dl.arnes.si), preko katerega prejemamo tudi obvestila CERT-a, po mojem mnenju najboljše organizacije, ki skrbi za tovrstno obveščanje. Ne pozabimo, da tudi vdiralci berejo tovrstne članke. Pri nas na šoli imamo lokalni seznam (vdori@sgms.ms.edus.si), preko katerega se obveščamo administratorji glede vseh varnostnih zadev naše mreže UNIX/LINUX računalnikov.

Znane luknje se najčešče odpravljajo s krpami (Patch), ki so javno dostopne preko FTP. Z njimi se nadomestijo stari programi ali pa le njihov del odgovoren za težave. Treba jih je nemudoma odpraviti, preden to poskušajo nepoklicani gosti. Mnogo vdorov je ravno zaradi neodpravljenih lukenj v privilegiranih servisih (Sendmail, ftpd, login), zato damo pri nalaganju operacijskega sistema prednost zadnji stabilni verziji. Nekatere pomanjkljivosti je možno odpraviti kar z enim ukazom, recimo nastaviti kaki program, da ne bo po nepotrebnem SUID-an z lastnikom root. Zgodi se, da odkrijejo zelo nevarne luknje in rešitev ni na dlani. Takrat se pač ukrepa začasno, dokler ne dobimo prave krpe. Pri obvestilih CERT-a dobimo tudi nasvete kje dobiti krpe, kako odpraviti luknje, kako začasno ukrepati...

TCP wrapper

Koristno je inštalirati TCP-wrapper-je, ki ne zahtevajo spremembe obstoječe programske opreme ali konfiguracijskih datotek, nudijo pa dodatno možnost opazovanja in kontrole mrežnih komunikacij ter bistveno natančnejše arhiviranje le-teh. Delujejo kot neke vrste vmesnik. Zahtevek odjemalca ne prevzame neposredno strežnik, ampak ga dobi na vpogled »wrapper«, ki arhivira razpoložljive podatke in se odloči ali bo zahtevek predal naslovljenemu ali pa ga bo zavrnil. Na ta način je možno dovoliti/zavrniti uporabo varnostno občutljivih servisov le natanko določenih uporabnikov ali samo lokalnih ali z določene domene...

Wrapperji nam nudijo tudi možnost povratnega preverjanja ujemanja imena odjemalca z njegovo IP številko. Neujemanje teh dveh podatkov kaže na neurejeno stanje imenskega strežnika odjemalca, kar je lahko znak za predstavljanje pod tujim imenom. Zanimiva je možnost takojšnjega pošiljanja pošte administratorju ob sumljivih dogodkih. Smiselno je poleg zavrnitve nemudoma obvestiti administratorja o vsakem tovrstenm zahtevku, na primer o uporabi TFTP servisa izven lokalne domene. Pošti se lahko doda tudi podatek o povratnem tipanju, s čimer lahko na primer preko fingerja dobimo seznam uporabniikov prijavljenih na računalniku, ki je dal zahtevek po TFTP. Tovrstne informacije nam lahko bistveno pripomorejo pri izsleditvi nepridiprava. Podobno lahko obravnavamo prijave izven lokalne domene pod imenom privilegiranega uporabnika.

Protipožarni zidovi – Firewall

Pravi protipožarni zidovi (Firewall) ščitijo neko področje pred razšitivijo ognja v notranjost. Računalniška varianta je pravi hit pri zaščiti pred vdiralci z Interneta. S pomočjo posebne programske in strojne opreme varujejo t.i. varni del mreže od izpostavljenega. Cena sistema je zelo različna: od zastonj programske opreme do 100.000$ ali še več. Normalna rešitev za povprečno lokalno omrežje ima ceno 30.000$. Za naše razmere v šolstvu je to kar lep zalogaj denarja, toda na zahodu se že marsikje zavedajo, da je ob priključitvi na Internet nujno razmišljati tudi o zaščiti in vse kaže, da se splača vlagati v lastno varnost.

Rešitev s protipožarnimi zidovi je elegantna, ker se na enem mestu varuje na desetine ali stotine postaj. Sistem je lahko kar takoj za usmerjevalnikom, tako da je varovana celotna lokalna mreža, pogosteje pa je pred njo nekaj postaj, ki niso varovane, n.pr. WWW strežniki.

Preprosta varianta prvega je programska nadgradnja usmerjevalnika. Kljub visoki ceni profesionalnega sistema, obstajajo tudi oskubene variante, katere bomo morali uvesti na šolah. To so navadno filtri paketov, ki lahko v eno ali obe smeri preprečujejo pot paketom, in proxy servisi, ki skrbijo kot komunikacijski vmesnik med servisi Interneta lokalne mreže ter globalnim omrežjem.

WWW, IRC, varnostne kopije in fizična zaščita

Konec leta 1995 so za vznemirjenje poskrbele CGI skripte, na začetku leta 1996 pa Java, obe v okviru WWW (World Wide Web). Zgleda, da tudi ta nekako najpopularnejša storitev ni nenevarna, saj je pri tem prihajalo med drugim tudi do "kraje" datetek z gesli, vzpostavitve neavtoriziranih povezav, prebiranja datotek izven dovoljenih področij... Večino težav Jave bi naj odpravila nova verzija Netscape-a, začasno pa pomaga izklop uporabe teh dodatkov ali uporaba starejšega browserja, ki teh dodatkov sploh ne razume. Preko WWW in FTP je dostopna množica člankov in orodij glede varnosti. Torej je treba "surfati" po valovih Interneta, vendar previdno.

Varnost lahko razumemo tudi na drugačen način: uporabnikom ne omogočimo dostop do vsega kar jim omrežje nudi. Ta problem je postal pereč z zapleti okoli pornografije in na šolah bomo morali nujno preprečiti dostopa do oporečnih strežnikov. Mi smo imeli v prvih dneh po priključitvi na Internet težave z IRC-jem, ker so se dijaki nekulturno obnašali, saj so se z računalnikov pod DOS-om predstavljali pod poljubnim imenom. Zaklenili smo port, preko katerega teče IRC za računalnike v učilnici in dijakom omogočili dostop do računalnika pod LINUX, kjer tovrstni triki več niso tako trivialni.

Pripravljeni moramo biti tudi na najslabše, zato moramo imeti varnostne kopije. Kopiranje lahko avtomatiziramo. Tedensko ali mesečno naredimo vsaj enkrat kopijo celotnega sistema, če imamo dovolj prostora. Dnevne kopije lahko obsegajo le sveže spremenjene datoteke.

Zelo pomembna je tudi fizična zaščita, saj mnogokrat postavimo računalnik na nepravo mesto. Ne smemo pozabiti na vzdrževanje predpisane temperature in neprekinjeno napajanje. Neposredno na varnostno občutljivih računalnikih naj delajo le zaupni uporabniki, saj so možni triki z ugasnitvijo postaje in njenim ponovnim nestandardnim dvigom. Pred vdiralci iz vsakdanjega življenja se zaščitimo kar s šolsko alarmno napravo.