III Workshop sulle problematiche di Calcolo e Reti nell’INFN Castiadas (CA), 24-29 Maggio 2004 La nuova funzionalità di quarantena in Windows 2003 Francesca Del Corso – INFN Sez. Firenze [email protected] ACCESSO VPN Active Directory Intranet Internet Web Server RRAS Server Windows Server 2003 IAS RAS Client PPTP o L2TP/IPSEC Autenticazione Windows o RADIUS (Windows Server 2003 IAS) Active Directory per la gestione degli utenti Remote Access Policies su RRAS o IAS Francesca Del Corso – INFN Firenze Processo di Quarantena Quarantena RAS Client Internet RRAS Server Connessione Windows Server 2003 Internet Authentication Service Autenticazione Accesso in Quarantena Policy Check Result Autorizzazione Timeout e Filtri Rimozione della Quarantena Accesso Completo Francesca Del Corso – INFN Firenze Architettura della Quarantena Quarantena Internet RAS Client Profilo CM • Esegue script in modalità post connect • Esegue RQC ed invia il risultato al listener RRAS Server Listener • RQS riceve risultato • Confronta il risultato ai possibili risultati • Rimuove time-out • Rimuove i filtri di quarantena Francesca Del Corso – INFN Firenze IAS Server Quarantine VSA • notifica del limite temporale prima dell’auto sconnessione • Insieme di Q-filter temporanei per un accesso in quarantena Network Access Quarantine Control Definizione delle risorse di quarantena Configurazione RRAS server ed installazione Rqs.exe Creazione script o programma che valida la configurazione client Installazione Windows Server 2003 CMAK e creazione profili CM di quarantena Distribuzione profilo CM per installazione su RAS client Configurazione Remote Access Policies di quarantena sul server IAS o RRAS Francesca Del Corso – INFN Firenze Risorse di quarantena Definizione risorse e server: DNS, WINS, file server, web server Default Input packet filter: Rqs ed Rqc: TCP porta 7250 (destination) Ras DHCP: UDP porta 68 (source), porta 67 (destination) Rqs DNS: UDP porta 53 (destination) WINS: UDP porta 137 (dest) HTTP: TCP porta 80 (dest) File sharing NetBIOS over TCP/IP: TCP porta 139 (dest) Francesca Del Corso – INFN Firenze Configurazione RRAS server Installazione Rqs.exe su RRAS server – Installare MS Windows Resource Kit 2003 su RRAS server – Modificare lo script: %ProgramFiles%\Windows Resource Kits\Tools>rqs_setup.bat reg add %ServicePath% /v AllowedSet /t REG_MULTI_SZ /d Version1 – Installare Rqs: %ProgramFiles%\Windows Resource Kits\Tools>rqs_setup.bat /install – HKLM\System\CurrentControlSet\Services\Rqs • Aggiungere la chiave AllowedSet, tipo REG_MULTI_SZ, valore Version1 – Far partire il servizio Remote Access Quarantine Agent • 'net start rqs‘ – La componente listener può essere sviluppata utilizzando le API MprAdminConnectionRemoveQuarantine() per rimuovere le restrizioni di quarantena (Microsoft Developer Network http://msdn.microsoft.com/) Francesca Del Corso – INFN Firenze Creazione script • .exe, .cmd, .bat • Serie di test per la verifica della policy di network da parte del RAS client • rqc <ConnName> <TunnelConnName> <Port> <Domain> <Username> <ScriptVersion> ConnName: nome connessione di accesso remoto %DialRasEntry% TunnelConnName: nome connessione del tunnel %TunnelRasEntry% Port: porta TCP - 7250 Domain: dominio utente che si connette - %Domain% Username: username utente - %UserName% ScriptVersion: versione dello script – Version1 Francesca Del Corso – INFN Firenze Creazione profili CM di quarantena Configurazione Remote Access Policies Ambiente di test Quarantena Web Server WWW Intranet Internet VPN / RRAS Server Active Directory RAS Client Francesca Del Corso – INFN Firenze Script di quarantena @echo off rem Network quarantine script - INF Sez. Firenze. Se i controlli hanno successo il test è considerato positivamente ed il RRAS Server lascia la quarantena. echo RAS Connection = %1 echo Tunnel Connection = %2 echo Domain = %3 echo User Name = %4 echo Service Directory = %5 rem %1 = %DialRasEntry% rem %2 = %TunnelRasEntry% rem %3 = %Domain% rem %4 = %UserName% rem %5 = %ServiceDir% set rqcloc=%5\rqc.exe Francesca Del Corso – INFN Firenze REM *********** Controllo Symantec Norton Antivirus Corporate Edition ********* :AVCHK reg query "HKLM\Software\Symantec\InstalledApps" >nul 2>&1 if errorlevel=0 goto VPTrayCHK set msg=Symantec Norton Antivirus non è installato. goto TESTFAIL :VPTrayCHK %5\pslist VPTray >nul if errorlevel=0 goto SIGNCHK set msg=Norton Virus Checker non è in esecuzione. goto TESTFAIL :SIGNCHK for /F %l in ('find "CurDefs" "%ProgramFiles%\Common Files\Symantec Shared\ VirusDefs\definfo.dat"') do set CurDefCli=%l for /F %l in ('find "CurDefs" "%5\definfo.dat“’) do set CurDefSrv=%l if %curDefCli% == %CurDefSrv% goto ICFCHK set msg=Definizioni dei virus non aggiornate. Scaricare gli aggiornamenti da http://www.symantec.com goto TESTFAIL REM ********** Verifica attivazione Internet Connection Firewall ****************** :ICFCHK net start|find "Internet Connection Firewall" >nul if not errorlevel=1 goto OSCHK set msg=Microsoft Internet Connection Firewall deve essere attivato per potersi connettere. goto TESTFAIL Francesca Del Corso – INFN Firenze REM ************Verifica installazione critical security patch ed Hotfix *************** :OSCHK ver|find "5.1." >nul if not errorlevel=1 goto HFXPCHK ver|find "5.2." >nul if not errorlevel=1 goto HFW2003CHK set msg=Questa connessione remota richiede Windows XP o Windows 2003 Server. goto EOF : HFXPCHK reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\Q318684” >nul 2>&1 if not errorlevel=1 goto QUARANTENA set msg=Windows XP Hotfix (SP2) Q318684 non trovato; scaricare l’hotfix dal sito http://windowsupdate.microsoft.com goto TESTFAIL :HFW2003CHK reg query "HKLM\SOFTWARE\Microsoft\Updates\Windows Server 2003\SP1\KB819696“ >nul 2>&1 if not errorlevel=1 goto QUARANTENA set msg= Windows 2003 Hotfix KB819696 non trovato; scaricare l’hotfix dal sito http://windowsupdate.microsoft.com goto TESTFAIL Francesca Del Corso – INFN Firenze :QUARANTENA %rqcloc% %1 %2 7250 %3 %4 Version1 If "%ERRORLEVEL%" == "0" ( set MYERRMSG=Success! ) Else If "%ERRORLEVEL%" == "1" ( set MYERRMSG=Impossibile contattare il remote access gateway. Il supporto alla quarantena verrà disabilitato. ) Else If "%ERRORLEVEL%" == "2" ( set MYERRMSG=Accesso negato. Scaricare l’ultima versione del profilo Connection Manager direttamente da http://www.fi.infn.it/calcolo/vpn/ e provare a riconnettersi. ) Else (set MYERRMSG=Fallimento sconosciuto. Il client rimarrà in quarantena.) Echo %MYERRMSG% Pause Goto :EOF :TESTFAIL Echo Il tuo computer ha fallito i controlli di sicurezza. Echo Per informanzioni contattare il Servizio Calcolo e Reti: [email protected] Pause :EOF Francesca Del Corso – INFN Firenze Esempio di script .exe int main(void) { ………… char patches[1][200] = {"\"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\ Updates\\Windows XP\\SP2\\Q318684\\\""}; ……... execlp("/cygdrive/c/WINDOWS/system32/reg", "/cygdrive/c/WINDOWS/system32/reg", "query", patches[i], (char *)0); ……… while(fgets(qstring,80,qstream)) { if(strstr(qstring,"Error: ")) { patchn=strstr(patches[i],"SP2\\"); strncpy(patchnstr,patchn,strlen(patchn)); printf("la patch %s non e\' stata installata\n", strtok(patchnstr+4,"\\")); return -1; } } printf("controllo patch di sistema effettuato con successo!\n"); return 0; } Francesca Del Corso – INFN Firenze Connection Manager VPN-INFN sez. Firenze Collegamento dalla rete privata 172.16.1.x Successo del comando tracert Security policy non soddisfatta MS-Quarantine-IPFilter: fallimento del comando tracert MS-Quarantine-Session-Timeout: disconnessione Collegamento dalla rete pubblica via ISP Risultato del comando ipconfig Sviluppi futuri Virtual Private Networking Utilizzo di L2TP/IPSec (certificato macchina sul VPN server e sul VPN client) Logon security EAP/TLS (certificato utente sul VPN client e certificato macchina sul server IAS) Cisco VPN Concentrator 3000 Francesca Del Corso – INFN Firenze Documentazione Microsoft Windows Server 2003 deployment kit: Microsoft Windows Server 2003 deploying network services - Microsoft Corporation Microsoft Windows Server 2003 Network Access Quarantine Control http://www.microsoft.com/windowsserver2003/techinfo/overview/quaranti ne.mspx Arrest Suspect Clients with Windows 2003’s New Quarantine Feature Allen Jones, Ottobre 2003 Step-by-Step Guide for Creating and Testing Connection Manager Profiles in a Test Lab - Microsoft Corporation, Aprile 2003 Step-by-Step Guide for Setting Up Network Quarantine and Remote Access Certificate Provisioning in a Test Lab - Microsoft Corporation, Luglio 2003 www.microsoft.com/windowsserver2003/technologies/networking Francesca Del Corso – INFN Firenze