Priprava Windows NT za požarni zid
Oboroževanje Windows NT
Lance Spitzner
Zadnjič spremenjeno: 16.04.2000
Požarni zid je eno najbolj hitro razvijajočih se orodij na področju informacijske varnosti. Vendar pa je požarni zid le toliko varen, kot je varen operacijski sistem, na katerem stoji. Ta članek postopoma opisuje, kako najbolje oborožiti NT strežnik in ga pripraviti za požarni zid. Postopek ustreza vsaki situaciji, sam pa bom uporabljal Check Point FireWall-1 na Windows NT 4.0 operacijskem sistemu kot primer.
Namestitev
Najboljši začetek zaščite sistema je na začetku - pri namestitvi. Ker je to požarni zid, ne moremo zaupati nobeni predhodni namestitvi. Potrebno je začeti s "čisto" (clean) namestitvijo, saj le tako lahko zagotovimo neoporečnost sistema. NT je svojevrsten tudi zaradi tega, ker se večji del oborožitve zgodi med namestitvijo samo. Čeprav ste dobili sistem direktno od prodajalca, vam priporočam, da še enkrat namestite vse skupaj, da boste natančno vedeli, kaj se dogaja.
Postavite sistem na izolirano omrežje. Sistema ne smete postaviti na aktivno omrežje ali celo na Internet, saj tvegate vdor, ker sistem ni primerno zaščiten. Sam sem bil priča vdoru script kiddie-a po 15 minutah povezave nekega strežnika v Internet. Nauk te zgodbe je, da morate sistem popolnoma oborožiti, preden ga priklopite v svet. Za pridobitev pomembnih datotek ter popravkov potrebujete še en računalnik z dostopom do Interneta iz katerega boste prenašali te datoteke ter popravke na strežnik preko omrežja ali CD-R-ja.
Ko ste postavili bodoči NT požarni zid na izolirano omrežje, ste pripravljeni. Pri NT se večji del oborožitve zgodi med namestitvenim procesom, zato ga bom podrobno opisal. Na začetku imamo dve možnosti namestitve: Workstation (delovna postaja) ali Server (strežnik). Priporočam, da izberete Server varianto, saj NT Server omogoča zrcaljenje pogonov, Workstation pa te možnosti nima. Druga stvar, zaradi katere se je bolje odločiti za Server je, da lahko Server obravnava veliko več povezav kot Workstation (privzeto 5). To je zelo pomembno, če nameravate imeti kakršnekoli proxy (namestniške) aplikacije na požarnem zidu, kot sta recimo http ali telnet varnostna strežnika. Nazadnje je so tudi dovoljenja v registrih pri Server varianti strožja od Workstation variante.
NT namestitev se prične z tekstovnim umesnikom - ukazno vrstico. Tukaj lahko izberete, katere particije boste namestili in katere datotečne sisteme želite; FAT (File Association System) ali NTFS (NT File System). Toplo priporočam NTFS, ker je veliko varnejši in omogoča večjo kontrolo nad datotečnim sistemom. Potem začnete z grafičnim delom namestitve. Tukaj izberete, kakšen strežnik boste namestili, katere servise boste poganjali in splošno sistemsko konfiguracijo. Zapomnite si, da je potrebno namestiti čim manj servisov kot je le mogoče. Čim manj servisov je pognanih, tem večja je varnost vašega sistema.
Sledi nekaj začetnih vprašanj v zvezi z licenco, nato pa boste popvprašani po paketu, ki ga bo namestitveni progam namestil. Tukaj obstajajo tri možnosti: Primary Domain Controller, Backup Domain Controller in Stand-Alone. Priporočam Stand-Alone varianto, ker bo to požarni zid in bo imel samo eno funkcijo: funkcijo požarnega zida. Po številnih drugih sistemskih možnostih, boste vprašani tudi po izbiri softverskih komponent. Privzeto bo namestitveni program namestil Accessories, Communications, Multimedia in Accessibility. Toplo priporočam, da odstranite vsaj Communications, Multimedia in Accessibility. Še enkrat: čim manj programov, tem bolje. Nato boste vprašani po namestitvi IIS web strežnika (privzeto je nameščen). NE namestite tega, ker web serverja ne boste potrebovali na požarnem zidu. Nato boste namestili in konfigurirali vaše NIC (Network Interface Cards) naprave. Privzeto se namestita IPX in TCP/IP protokola za omrežne kartice. Vi potrebujete samo TCP/IP. Firewall 1 ne filtrira IPX prometa. Če vaš sistem usmerja IPX, bo ves IPX promet šel direktno skozi požarni zid (kar se smatra za slabost).
Naslednja stvar, je izbira servisov, ki jih želite imeti nameščene na požarnem zidu. Privzeto bo namestitveni program namestil RPC, NetBIOS, Workstation in Server. Teh servisov sedaj ne moremo omogočiti, zato jih bomo odstranili kasneje. Edini servis, ki ga morate dodati je SNMP. Management Module od požarnega zidu uporablja SNMP za spremljanje modulov (System Status Viewer). Če tega ne boste uporabljali ali če nimate razdeljenih požarnih zidov, tega ne boste potrebovali.
Nato pride konfiguracija TCP/IP protokola. Tukaj izberite IP naslov, privzeti usmerjevalnik in domenski strežnik. NE konfigurirajte WINS strežnika ali DHCP izmenjave. Potrebno je zmanjšati število stvari, ki bi komunicirale s požarnim zidom. Potrebno je omogočiti IP Forwarding. Če tega ne omogočite, vaš požarni zid ne bo usmerjal prometa (to definitivno naredi omrežje bolj varno :). Nazadnje konfigurirajte še domeno in delovno skupino. Če tega ne storite, toliko bolje. Priporočam neobstoječo delovno skupino.
Ko z namestitvijo končamo in ponovno zaženemo računalnik, je potrebno namestiti najnovejši Service Pack (zadnji je Service Pack 6a) in zadnje hotfixes. Sprotno posodabljanje je bistveno za varnost sistema.
Odstranjevanje servisov in razni triki
Ko ste namestili najnovejši Service Pack ter hotfixes, je čas za spomladansko čiščenje sistema. Najprej je potrebno izklopiti servise, ki smo jih predhodno morali namestiti. Pojdite v Network Neighborhood nastavitve in izberite Services. Tukaj odstranite RPC Configuration, NetBIOS Interface, Workstation, Server in Computer Browser. Noben od teh servisov ni potreben za delovanje požarnega zidu, ampak so samo faktorji, ki zmanjšujejo varnost sistema. Edina stvar, ki bi morala preostati SNMP Service (če ste ga namestili). Nekateri pravijo, da raje ne odstranijo Workstation in Server, ker izgubijo določeno funkcionalnost. Odločitev prepuščam vam, bralcu. :)
"Rad obdržim Workstation zato, ker dopušča uporabne stvari, kot recimo AT. Server rad obdržim zaradi tega, ker če brkljate po servisu za omrežne aplikacije, požarni zid teče hitreje, kot če bi ne imeli nameščenega Server. Poleg tega ukinete dostop do servisov WINS in NBT že s tem, da razvežete WINS in konfigurirate pravila požarnega zidu da blokira NBT. Če želite biti res zavarovani, odprite User Manager-ja ter odstranite vsakogaršnje pravice do prijavev omrežje. (Chris Brenton)"
Obstajata še dva načina, kako ukiniti te servise. Prvi je, da onemogočite WINS iz omrežnih kartic. To naredite tako, greste v Network Properties -> Bindings -> All Protocols -> WINS Client (TCP/IP). Izgledati bi moralo nekako takole. Drug način je, da greste v Settings -> Control Panel -> Services. Tukaj lahko onemogočite veliko servisov, ki so ročno ali avtomatično zagnani ob zagonu sistema. Priporočam onemogočitev TCP/IP NetBIOS Helper. Vse ostalo počnete na vašo lastno odgovornost :).
Drugih servisov, kot so telnet, FTP, ali PCanywhere ni priporočljivo nameščati. Omejite samo dostop do konzole. Večina požarnih zidov, vključno s Check Point Firewall-1, vsebuje grafičnega klienta, ki omogoča upravljanje požarnega zidu na daljavo. Vsa ostala sistemska administracija naj bo opravljana fizično pri sistemu. Edina programska oprema, ki bi jo mogoče želeli namestiti je anti-virusna zaščita.
Naslednja stvar je preprečitev samodejnega izpisa zadnjega uporabniškega imena na ekranu. To naredite tako, da nastavite registrsko vrednost DontDisplayLastUsername na 1. Ta vrednost se nahaja tukaj:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon
Prav tako želimo napraviti prijavno sporočilo za vse uporabnike. Sporočilo bo varnostno opozorilo, ki prepoveduje nepooblaščen dostop. To naredite tako, da nastavite vrednost LegalNoticeCaption na kratek napis in LegalNoticeText z samim opozorilom. Ti vrednosti najdete tukaj:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon
Če želite omejiti anonimne povezave, da ne morejo videti uporabniških imen, nastavite RestrictAnonymous na 1.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Če želite omejiti omrežni dostop do registra, naredite naslednji registrski ključ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentcontrolSet\Control\SecurePipeServers\winreg
Uporabniška imena in pravila
Obstaja vrsta sprememb, ki jih lahko naredimo sistemskim uporabniškim imenom ter dovoljenjem. Najprej je dobro spremeniti ime Administrator. Privzeto ima to uporabniško ime vse privilegije, zato ga hočemo zaščititi. S spremembo imena, ki ga vsakdo pozna, dodamo še eno stopnjo varnosti. Prav tako se morajo vsi administracijski uporabniki prijaviti s svojim lastnim uporabniškim imenom, brez da bi jim dali geslo "Admin" uporabniškega imena. To vam omogoča, da točno veste kaj kdo dela. Zanimiva je tudi ideja, da naredite novo Administrator uporabniško ime, ki nima nobenega privilegija in opazujete, če se kdo želi prijaviti z njim.
Želimo tudi vedeti kdo dostopa do česa. Priporočam, da nimate več kot 2 uporabniški skupini z dostopom do požarnega zidu: Administratorji (poln dostop) in Uporabniki (odvisno kakšen dostop potrebujejo). Če lahko omejite dostop, tako da bodo imeli dostop samo administratorji, je celo bolje. Ne glede na to bi moralo bito število ljudi, ki imajo dostop do požarnega zidu od 2-4. Čim manj rok, ki se lahko dotakne tipkovnice, tem bolje.
Naslednji korak je osredotočitev na sistemskih pravilih, natančneje na "Account", "User Rights" in "Audit", ki jih najdete v User Manager-ju.
- Pravila uporabniških imen določajo, kako so uporabljana gesla in uporabniška imena. Nekaj sprememb je priporočljivih:
- Nastavite "Minimum Password Length" na 8 znakov.
- Nastavite "Account lockout", da se zaklene po 3 napačnih poskusih prijave, števec naj se ponovno inicializira po 30 minutah.
- Uporabniške pravice določajo, kdo lahko do česa dostopa, kot "Log on locally" in "Manage auditing and security log". Predlagam omejitev dostopa samo na dve prej omenjeni skupini. Če ne drugega, odstranite skupino "Everyone" iz dostopa.
- Pravila spremljanja določajo, kateri dogodki so logirani. Ker je to požarni zid, je dobro logirati vrsto dogodkov. Predlagam, da spremljate naslednje dogodke:
- Prijave in odjave (uspešne in neuspešne)
- Spremembe varnostnih pravil (uspešne in neuspešne)
- Ponovni zagon, zaustavitev in sistem (uspešne in neuspešne)
Kadarkoli kakšen uporabnik konča z uporabljanjem sistema, se mora VEDNO odjaviti s CTRL+ALT+DEL kombinacijo. Če pozabijo, poskrbite, da imate ohranjevalnik zaslona, ki se zažene po najmanj 5 minutah neaktivnosti, zaščiten z geslom.
Sledenje novostim
Problem varnosti je, da so varnostne luknje odkrite zelo pogosto, zato je težko redno spremljati vse dogodke ter posodabljati sistem. Da bi ostali obveščeni, priporočam naslednje:
- Najprej se prijavite na kakšen poštni seznam, tako da ste po e-pošti sprotno obveščeni o novih ranljivostih. Včasih pozabim pogledati če je zunaj kakšna nova ranljivost in takrat je poštni seznam zelo priročen. Priporočam NTbugtraq ali NTsecurity.
- Nekaj strani; moje najljubše so: www.NTsecurity.net, www.NTobjectives.com in www.l0pht.com. NTsecurity se osredotoča na zavarovanje NT sistema, NTobjectives ima veliko uporabnih varnostnih in administracijskih pripomočkov, l0pht pa se osredotoča na vdiranju v NT sisteme. Izjemna kombinacija.
- Za spremljanje vašega novega sistema priporočam orodje WS_Ping ProPack. To Windows95/NT orodje ima vrsto uporabnih orodij, ki jih navadno najdemo na unix sistemih, vključno s port skenerjem, snmpwalk-om, NetBIOS skenerjem itd. Enkrat mesečno skenirajte svoj sistem, da zagotovite, da niste česa pozabili odprtega.
- Natipkajte ukaz "netstat -na" in se prepričajte, da nimate odprte nobene povezave. Ta ukaz vam pokaže, katera vrata poslušajo in če imate kakšno vzpostavljeno povezavo. Edina povezava bi morala biti UDP 161 (snmp), če ste seveda namestili SNMP. Priporočam, da redno izvedete ta ukaz in zagotovite, da vas nihče ne prenaša okoli :).
Povzetek
Opisali smo nekaj najosnovnejših korakov pri "oboroževanju Windows NT 4.0". Ključ do varnega sistema je v čim manj nameščene programske opreme, z zaščito po stopnjah. Seveda obstaja še veliko dodatnih korakov, kot so datotečna dovoljenja, dodatni triki z registri, dodatna programska oprema ipd. Zapomnite si: noben sistem ni 100% varen. Lahko pa, z omenjenimi koraki, zelo povečate varnost sistema.