IP Sec izolacija hostova – drugi dio

U prošlom nastavku razmotrili smo aspekte upotrebe izolacije kritičnih hostova putem IPSec sigurnosnih pravila, te smo pogledali neki opšti model dizajna ove tehnologije. U ovom dijelu pozabavit ćemo se konkretnom implementacijom sigurnosnih polisa, te opcijama za konfiguraciju i primjenu.

Da se podsjetimo, ono što implementiranjem IP Sec polisa za izolaciju postižemo je da zabranimo odnosno ograničimo mogućnost pristupa (i autenticiranja) na nekom domenskom hostu, klijentima koji ne dolaze iz domenskog okruženja. Drugim riječima, želimo forsirati Kerberos autentikaciju i to na nivou računara i/ili korisnika. To bi zapravo značilo da će pristup određenom resursu (hostu) biti dozvoljen samo u slučaju da mu se dolazi sa računara koji je član domene (a to znači autenticiran Kerberosom), te ako je na tom računaru logovan korisnik koji je također autenticiran putem Kerberos protokola. Ni jedna druga opcija autentikacije (npr. NTLM) nam u ovom slučaju nije prihvatljiva. Implementacijom ipsec izolacijskih polisa postižemo i punu kontrolu nad računarima sa kojih se vrši spajanje na određene hostove, jer je moguće u cijeli sistem dodati i NAP.

Ovu tehniku moguće je primijeniti samo na hostovima koji pokreću Windows Vista (odnosno Windows 7), te Windows Server 2008 ili noviji. Na starijim operativnim sistemima se može postići sličan efekat kroz kreiranje klasičnih IPSec polisa i nekih Group Policy postavki, ali time se ovdje nećemo baviti, pošto su nam u fokusu nove mogućnosti konzole Windows Firewall with Advanced Security, koju imaju samo noviji operativni sistemi.

Kreirajmo polisu

Po otvaranju konzole Windows Firewall with Advanced Security, potrebno je kliknuti na node koji se zove Connection Security rules.

Desni klik na Connection Security rules daje mogućnost kreiranja nove polise odabirom opcije New Rule. Wizard koji se ovim putem pokreće, ponudit će nekoliko opcija. Ona koja nam treba je opcija Isolation. Ostale opcije mogu se koristiti za nešto drugačije namjene poput kreiranja izuzetka (exemption) od polise, implementaciju autentikacije između specifičnih hostova ili forsiranja autentikacije u tunneling režimu rada.
Nakon što se odabere izolacija, bit će nam data mogućnost odabira autentikacijskih zahtjeva, odnosno „jačine“ pravila koje definišemo. Na ovom mjestu je zapravo najvažnije odlučiti se za „request“ ili „require“. Odaberemo li Request, što je slabija opcija, autentikacija će biti uvijek ponuđena u odlaznom i dolaznom saobraćaju, ali ne i obavezna. To znači da ako druga strana nije sposobna ispuniti autentikacijske zahtjeve, prelazi se na slabije vidove autentikacije saobraćaja.
S druge strane opcija „Require“ forsira autentikaciju na saobraćaju, i ne dozvoljava saobraćaj ako nije ispunjena. Ovu opciju možemo implementirati na dva načina : „Require authentication for inbound connections and request authentication for outbound connections” što forsira autentikaciju u dolaznom saobraćaju, ali samo nudi u odlaznom, te možemo kao : „“Require authentication for inbound and outbound connections” što maksimizira sigurnost ali i pomalo komplikuje cijelu priču, budući da autentikacija forsira i u odlaznom saobraćaju prema bilo kom hostu, što se nekim hostovima i neće baš dopasti ako ne podržavaju ponuđeni metod, pa se na ovaj način može ograničiti i odlazni saobraćaj sa hosta što je rijeđi slučaj.

Figure 2

Opcija „Require authentication for inbound connections and request authentication for outbound connections“ je u ovom slučaju vjerovatno „best buy“ pa ćemo je i ovdje i odabrati.

Sljedeći, i vjerovatno najzanimljiviji korak je izbor metoda autentikacije. Na ovom mjestu možemo forsirati Kerberos za korisnika, računar ili oboje, tražiti autentikaciju certifikatom ili implementirati neki kombinovani  metod autentikacije. Prva opcija, Default, zapravo bira podešavanja koja su postavljena na Properties opcijama (IPsec Settings tab) od Windows Firewall with Advanced Security node-a. Tu se zapravi radi o generalnim postavkama, na nešto višem nivou, koje se primjenjuju ukoliko se ne odabere ništa specifično.
Druga opcija, pod nazivom Computer and user (Kerberos v5) forsira Kerberos autentikaciju i za računar i za korisnika koji je trenutno logovan na računar koji pokušava da uspostavi konekciju. Ako su i korisnik i računar članovi iste domene kao i host na kojem je primijenjena polisa ipsec izolacije, autentikacija će biti obavljena automatski i nevidljivo za krajnjeg korisnika. No, ako je korisnik logovan na računaru (koji jeste u domeni) sa lokalnim kredencijalima, pristup neće biti moguć. Ova opcija daje visok nivo sigurnosti, dok je istovremeno prilično lagana za implementaciju, pa se može reći da je „best buy“ u čitavoj ovoj priči, mada nije i najfleksibilnija.
Treća opcija, nazvana Computer (Kerberos v5) zahtijeva autentikaciju samo za računar koji inicira konekciju prema hostu koji se štiti izolacijskom polisom. Sa aspekta korisnika, ipsec polisa neće provoditi autentikaciju, ali će se naravno primijeniti ograničenja implementirana na NTFS nivou (ukoliko se pristupa nekom dijeljenom resursu). Ako vrijednosti defaultnih postavki nisu mijenjane, ovo daje isti rezultat kao da smo odabrali opciju Default.
Četvrta opcija, nazvana Certificate, je najrestriktivnija. Ovdje se može specificirati da samo oni računari koji imaju izdat certifikat od određenog CA, mogu ostvari konekciju prema hostu koji se štiti. Na ovom mjestu se, klikom na Browse, zapravo specificira CA čije ćemo izdate certifikate smatrati valdinim za ovu namjenu. Ako još uz to konfigurišemo i CA polisu (kroz CA administracijske alate) tako da se za certifikat traži odobrenje Certificate Managera prije izdavanja, ovo zaista daje najveći nivo sigurnosti. Na ovom mjestu možemo podesiti i još jednu vrlo zanimljivu opciju koja se zove Accept only health certificates. Kako se iz imena da i naslutiti, ovdje se u priču uvlači i NAP, pa tako aktiviranje ove opcije znači da su za ostvarivanje konekcije prihvatljivi samo oni certifikati koje izda Health Registration Authority komponenta, prilikom provjere kroz NAP. No ovo izlazi iz okvira ovog teksta, pa ćemo zato samo okvirno spomenuti, jer je za ovu opciju potrebno imati aktivnu NAP strukturu i to primijenjenu na IPSec saobraćaj, što je možda i najkompleksnija upotreba NAP-a.

Na kraju peta opcija, koja se zove Advanced, daje mogućnost za precizno podešavanja zahtjeva za autentikaciju u odnosu na faze uspostave IPSec sesije i ovo i predstavlja najzanimljiviji dio. Klikom na Customize, dobijamo novi prozor sa dva dijela nazvana First Authentication i Second Authentication. Dio First authentication odnosi se na Main Mode fazu IPSec pregovaranja. U ovom dijelu specificira se na koji način se kompjuteri autenticiraju u ovoj fazi (opcije su Kerberos v5, computer NTLM, certifikat ili preshared ključ). Moguće je odabrati i više metoda , koji se primijenjuju redoslijedom kako su složeni.
U dijelu Second Authentication, specificira se način autentikacije za korisnika koji je logovan, s tim što je ovaj dio nedostupan u slučaju da se za First authentication odabere preshared key.

Figure 6

I jedna i druga autentikacija su opcionalne. Ako se First Authentication odabere kao opcionalna, onda to znači da će i anonimne konekcije biti dozvoljene, no u tom slučaju Second Authentication treba biti forsirana na odgovarajući nivo autentikacije. U svakom slučaju, ne smiju se obje autentikacije postaviti kao opcionalne, jer se u tom slučaju mogu zaobići.

Recimo da smo na ovoj listi opcija odabrali autentikaciju Computer and user (Kerberos V5), što će vjerovatno i biti najčešća opcija, koja ne zahtjeva prateću infrastrukturu.

Zadnji korak u kreiranju polise je odabir mrežnog profila na koji će se polisa primijeniti. Mrežni profili su jedna od boljih stvari networkinga Viste i Windows-a 2008, i omogućavaju da se mrežne konekcije i saobraćaj koji prolazi preko njih može različito tretirati u zavisnosti od mrežnog okruženja u kojem se korisnik nalazi (Private,Public,Domain). Tako je i ovu izolacijsku polisu moguće primijeniti na jedan od ovih mrežnih profila, što recimo omogućava da računar bude potpuno izoliran kada se nalazi u nekoj javnoj mreži, a dostupan onda kada se nalazi u mreži kojoj pripada domena čiji je član. Za maksimalnu sigurnost ovdje treba odabrati sve opcije.

Na kraju, potrebno je još dati ime kreiranoj polisi. Klikom na Finish polisa se kreira te se odmah i primijenjuje.

Testiranje funkcionalnosti ove polise prilično je jednostavno. Nakon što je primijenjena, niti jedna konekcija bilo kog tipa prema ovom hostu neće biti dozvoljena osim ako ne dolazi sa računara koji je član domene i korisnika koji je logovan na domen.

Dodatno osiguravanje

Kao komplement IPSec polisama za izolaciju, mogu se još konfigurisati opcije klasičnog Windows Firewall-a. Na taj način, kreiranje dodatnih inbound pravila na firewall-u možemo ograničiti i portove po kojima će komunikacija biti dozvoljena u slučaju da IPSec autentikacija prođe bez problema. Takođe, je moguće i ograničiti IP adrese sa kojih će (na mrežnom nivou) komunikacija biti dozvoljena. Pri kreiranju novog inbound pravila u Windows Firewall konzoli, potrebno je odabrati opciju Allow connection if it is secure, čime se zapravo to pravilo veže sa kreiranom IPSec polisom. Na ovaj način, primijenit će se ograničenja iz firewall pravila, ali samo u slučaju da se i ipsec polisa izolacije uspješno realizovala.
Pored toga, pri kreiranju novog inbound pravila za firewall može se odabrati i opcija Require the connection to be encrypted, čime se na svu ovu priču još dodaje i IPSec enkripcija o kojoj ovdje nismo posebno govorili.
Neki tipični scenario primjene svega ovoga bi bio recimo da na nekom sigurnosno kritičnom hostu (npr. SQL serveru)  kreiramo ipsec izolacijsku polisu na ranije opisani način, te da pored toga napravimo inbound rule na Windows firewallu koji bi dozvolio konekciju samo od strane određenih hostova (recimo aplikacijskih servera koji pristupaju bazi i administracijske radne stanice), po portovima koji su vezani za SQL saobraćaj i remote administraciju, te da te konekcije budu osigurane IPSec enkripcijom. Time smo postigli maksimalno osiguranje mrežnog pristupa prema nekom hostu koje se može postići korištenjem tehnika raspoloživih u Windows operativnom sistemu.

Na kraju, korisno je pomenuti da je sve ovo moguće konfigurisati i kroz Group Policy, te tako primijeniti na višem nivou i na veći broj računara.

Published 5. srpanj 2009 23:31 by ddamir

Comments

No Comments