Network Access Protection je nova sigurnosna platforma koja će biti dio Windows Servera 2008, nasljednika današnjeg Windows Servera 2003. Obzirom da se radi o tehnologiji u čiju implementaciju neće biti uključen samo Microsoft već i mnogo drugih proizvođača hardvera i softvera, ima smisla posvetiti joj nešto više pažnje. Obzirom da sam već držao par kurseva i prezentacija vezanih za Windows Server 2008 (Longhorn) u kojima je centralno mjesto zauzimao NAP, ovome sam posvetio prilično pažnje. Dio toga ću podijeliti i sa Vama. Proći ću ovdje kroz NAP sa konceptualnog aspekta, odnosno dati jedan overview. Koga zanima više, odnosno step-by-step upute, može ih naći u mom članku objavljenom u Windows ItPRO magazinu - http://www.windowsitpro.com/authors/authorid/1761/1761.html (za pretplatnike)
Ideja za implementaciju tehnologije kao što je Network Access Protection (u daljem tekstu NAP) nije nova, ni kod Microsoft-a, ni kod drugih proizvođača. Već neko vrijeme postoje softveri koji na ovaj ili onaj način kontrolišu sigurnosno stanje klijenata, te ih na osnovu tog stanja puštaju ili ne puštaju da pristupaju određenim mrežnim resursima.Da se podsjetimo, i Microsoft je zajedno sa Service Packom 1 za Windows Server 2003, napravio nešto što se zove Network Access Quarantine (negdje se označava i kao VPN Quarantine), što je služilo za provjeru sigurnosnog stanja klijenata koji se spajaju kroz VPN konekciju. Obzirom da se radi o prilično traljavom rješenju, malo ko to zaista i koristi van laboratorijskog okruženja, no nije beskorisno podsjetiti se kako to radi, budući da sama zamisao nije loša. Klijentima koji imaju potrebu za spajanjem VPN-om u korporacijsku mrežu, se distribuira Connection Manager client, kojeg prethodno kreiramo na serveru korištenjem alata koji je dio Windows Server 2003 administrativnih alata. Preko njega klijenti uspostavljaju VPN vezu, a po uspostavi veze se na klijentskom računaru pokreću .vbs skripte koje provjeravaju da li je uključen firewall na svim mrežnim konekcijama, da li je ICS (Internet Connection Sharing) deaktiviran, da li screen saver ima zaštitu lozinkom, da li je prisutan/ažuriran antivirus, te da li su instalirani svi važeći fixevi i sigurnosne nadogradnje za OS. Klijentska komponenta ovog sistema bi izvještaj o rezultatima rada .vbs skripti slala Remote Access Serveru, koji bi na osnovu tog izvještaja puštao klijenta u mrežu, ili primjenjivao na njega IP filtere, te mu time u određenoj mjeri ograničavao mogućnosti komunikacije (zapravo, stavljao ga u karantin). Ovo rješenje, iako na prvi pogled može izgledati dobro, ima mnogo mana. Prvo, uopšte nije dinamično. VPN klijent, po dozvoli za ulazak u mrežu, može promijeniti svoje sigurnosno stanje (recimo isključiti firewall ili uključiti ICS), a da to nigdje neće biti registrovano, niti će mu se zbog toga uskratiti pristup mrežnim resursima. Bitno je dakle samo njegovo stanje u momentu ostvarivanja VPN konekcije, odnosno u momentu izvršavanja kontrolnih skripti. Drugo, provjera instaliranih hotifixeva se sastoji u tome da administrator održava jedan txt fajl u kojem su pobrojani, jedan ispod drugog, svi hotfixevi koji se zahtijevaju od klijenata (u formatu kbxxxxxx.exe). Pri pojavi novog hotfix-a, oznaka istog se mora ručno dodati u pomenutu txt listu, te zatim listu distribuirati klijentima, kroz novi connection manager client softver. Dakle, ponovo vrlo statično rješenje. I treće (mada ne i posljednje, ali ostanimo na ovome), provjera stanja antivirus softvera se svodi na pisanje posebnih skripti za svaki tip AV softvera. Ako imamo VPN klijente, koji imaju različite AV programe (što je vrlo vjerovatno), stvar se značajno komplikuje, jer jedna skripta ne može verificirati više od jednog Antivirusa. Ukratko, mogli ste steći utisak da ova tehnologija i nije naročito sretno rješenje, posebno za sisteme u kojima se zahtijeva visoka sigurnost. Svjesni toga su očito bili i u Microsoftu, pa je za Longhorn server kreirana potpuno nova sigurnosna platforma, koja osim toga što popravlja navedene mane, donosi i još dosta toga.Stvar se zove Network Access Protection ili skraćeno NAP.
Šta je NAP? Suštinski, radi se o sigurnosnoj platformi, koja služi tome da one klijente koji ne zadovoljavaju korporativnu politiku o sigurnosti, smjesti u odvojenu mrežu (ili karantin), te im ne dozvoli da pristupaju mrežnim resursima, kojima bi inače mogli pristupati. Ono što je vrlo bitno da se odmah na početku naglasi, jeste to da se više ne radi samo o VPN klijentima, već o svim vrstama mrežnih klijenata, bez obzira na interfejs putem kojeg se spajaju na mrežu. Nije bitno da li se klijent u neku lokalnu mrežu želi spojiti putem wireless veze, VPN-om putem Interneta ili tako što će se jednostavno fizički uključiti u lokalnu mrežu putem UTP kabla – ukoliko ne zadovoljava polisu, pristup će mu biti bitno smanjen ili sasvim onemogućen.

Kako to zapravo radi? Iako NAP sam po sebi ima dosta komponenti i sa jedne i sa druge strane, te je proces provjere prilično kompleksan, pokušat ću to malo pojednostaviti. Ono što nam je ovdje izuzetno bitno, je Security Center komponenta na klijentu, koju imamo kod Windows-a XP sa SP2, te kod Viste (koji su ujedno i jedina dva klijentska OS-a koji podržavaju NAP). Osim toga, mora biti pokrenuti Network Access Protection Agent servis na klijentu (po defaultu ga imamo u Visti, ali je disabled, i u WinXP SP3), te konfigurisan enforcement client (zavisi koji metod spajanja odaberemo).
Pri pokušaju spajanja klijenta na mrežu u kojoj je implementiran NAP, na bilo koji način, klijentska NAP komponenta će serverskoj komponenti poslati stanje iz security centra klijenta koji se spaja. Ako u security centru imamo nekih upozorenja odnosno isključenih komponenti, to će biti javljeno NAP serveru i vrlo vjerovatno će pristup biti uskraćen. Ako je, pak, u Security Centru klijenta „sve zeleno“, to će biti ok i serveru.Security centar je sam po sebi osmišljen tako da vodi brigu o sigurnosnom stanju mašine, pa će on „zapomagati“ čim se desi nešto što iskače iz sigurnosnih okvira – isključivanje firewall-a, zastario ili nepostojeći antivirus/antispyware, izmjena postavki Automatic Update-a, odnosno pojava nadogradnji koje je potrebno instalirati.Ovim pristupom rješeni su svi problemi koje je Network Access Quarantine (NAQ) imao. Okruženje je vrlo dinamično i reaguje trenutno – klijent se može i vratiti u karantin ako mu se tokom korisničke sesije sigurnosno stanje promijeni, što NAQ nije mogao. Zatim, administrator više ne mora da brine o tome da klijenti moraju da imaju iste Antivirus programe (mada je to poželjno iz nekih drugih razloga) – sve dok Security Center prepoznaje AV i svjestan je njegovog stanja – sve je ok. Na kraju, nema potrebe ni održavati listu nadogradnji koje zahtijevamo od klijenta – i za to se brine Security Center. Obzirom da je Security Center okosnica ovog rješenja sa klijentske strane, jasno zašto ova platforma nije podržana na operativnim sistemima starijim od Windows-a XP sa SP2 (npr. nam Windowsima 2000). Jednostavno, nemamo Security Center, bez kojeg ovo ne funkcioniše. I šta kad smo u karantinu? Samim zatvaranjem klijenta u karantin, ukoliko ne zadovoljava zadatu polisu, ne završavamo priču. Smisao karantina je u tome da klijentu omogućimo da vrijeme koje tu provede iskoristi na popravljanje svog stanja. Zbog toga je potrebno obezbijediti karatnin-resurse, odnosno u NAP terminologiji – remediation servere. Uloga tih resursa je da obezbijede klijentu mogućnost da popravi svoje sigurnosno stanje, te da potom izađe iz karantina i ima puni pristup mreži. Primjera radi, WSUS je tipičan model jednog remediation servera. Ukoliko klijent koji se spoji na mrežu nema instalirane zadnje security hotfixeve, dozvolit će mu se pristup samo da WSUS servera, sa kojeg te fixeve može pokupiti i instalirati. Slično je i za antivirusom/antispyware-om – ako je zastario, takvog klijenta pustit ćemo samo do AV servera. Naravno, ovakvi resursi treba da budu u nekoj vrsti DMZ-a, budući da će im pristupati potencijalno nesigurni klijenti. Što se tiče drugih postavki koje NAP kontroliše, a to su uključen firewall na svim konekcijama, te aktivan automatic update, ukoliko iste nisu na traženim vrijednostima, NAP komponenta na strani klijenta (što je zapravo običan Windows servis), će se pobrinuti da ih automatski dovede u zadovoljavajuće stanje.No, ovdje treba objasniti i kako karantin zapravo radi. Pa, zavisno od situacije. Ako smo NAP implementirali na DHCP nivou, onda će klijentima koji ne zadovoljavaju sigurnosnu polisu (tzv. Unhealthy klijenti), biti dodijeljena IP adresa iz opsega sa kojima radi DHCP, ali će za subnet masku imati 255.255.255.255., neće imati default gateway, te će im biti forsiran skup statičkih ruta prema remediation serverima, odnosno resursima koje im želimo dati na raspolaganje dok su u karantinu. Naravno, smještanje u poseban VLAN bi bilo ljepše rješenje, no DHCP server jednostavno za to nije sposoban.S druge strane, ako se klijent spaja putem Routing and Remote Access servisa (odnosno putem VPN-a, Wireless-a ili 802.1x uređaja), tada će, ukoliko je unhealthy, biti smješten u ograničen VLAN (RRAS to može), te će pomoću IP packet filtera biti ograničen na komunikaciju samo sa remediation serverima.Na kraju, želi li unhealthy klijent pričati po IPSec-u sa nekim resursima u mreži, bit će mu odbijeno izdavanje Health certifikata, koji je za takav vid komunikacije neophodan. Šta je potrebno za NAP ? Da bi se NAP implementirao, potrebno je imati barem jedan Windows 2008 server u domenskom okruženju. Nije neophodno da Win2008 bude domen kontroler, što znatno pojednostavljuje stvari oko implementacije. Ono što je ovdje bitno naglasiti je da Network Policy Server (koji nosi polise kojima određujemo zahtjeve sigurnosti prema klijentima), zapravo mijenja dosadašnji IAS, pa se na njemu mogu definisati i druge vrste polisa za pristup na mrežu, a ne nužno samo one koje forsiraju NAP.Ono što je još vrlo bitno naglasiti je to da je Microsoft u čitav ovaj NAP projekat ušao sa velikim brojem partnera koji razvijaju slična rješenja (Cisco, Symantec,...). Saradnja na NAP platformi zapravo znači da će se u NAP implementaciju na Longhorn serveru moći integrisati i klijentska strana koja ne mora nužno imati Microsoft bazirano rješenje u vidu Security Centra, nego i neko drugo poput Cisco Secure Client. Ovo će sasvim sigurno ovoj tehnologiji otvoriti vrata, jer je neće ograničiti samo na one koji koriste Windows XP odnosno Vistu.
U svakom slučaju, prema onome što se sada može vidjeti na osnovu RC0 verzije Windows 2008 servera, NAP je već sasvim funkcionalan. Za očekivati je da u finalnoj verziji imamo još kompletnije i stabilnije rješenje, koje će sasvim sigurno doprinijeti podizanju nivoa mrežne sigurnosti.
Na kraju, volio bih o ovome čuti i malo diskusije. Iako NAP kao rješenje zvuči dobro, malo iskusniji već mogu nazrijeti koji bi to bili problemi pri implementaciji.