Quantcast
Channel: Roberto Massa – ICT Power
Viewing all 75 articles
Browse latest View live

Microsoft Developer Technologies

$
0
0

A questo link possiamo trovare una serie di ambienti di test preconfigurati utilizzabili sotto forma di guest virtuali.
Con lo scopo di consentire il test di  Browser IE dalla versione 8 ad Edge, le Virtual Machines sono create per le piattaforme di Virtualizzazione  più comuni.
Dal sito  è possibile scaricare una combinazione di VMs a partire da Windows 7 con IE8  per arrivare a Windows 10 con Edge.
I vari guest sono disponibili per Hyper-V, Vmware, Virtual Box, Parallels e Vagrant.
Viene resa disponibile la VM con le opzioni scelte in forma di file compresso e le note di installazione.
Robi-MS download test VM-01
Una volta scaricato ed importato all’interno dell’ambiente di virtualizzazione,il client deve connettersi ad internet per l’attivazione, che avviene in modo automatico.

A questo punto si potrà utilizzare il sistema per un periodo di 90 giorni.
L’utente di accesso di defult è IEUSER con Password Passw0rd!

Per verificare il periodo di attivazione, e quindi di utilizzo rimanente, è sufficiente digitare da prompt comandi  “slmgr /dli

Robi-MS download test VM-slmgr


Microsoft ATA Advanced Threat Analytics: Architettura di sistema

$
0
0

ATA è un nuovo strumento che Microsoft mette a disposizione per l’analisi della sicurezza nel perimetro delle reti locali partendo dall’analisi del comportamento dei singoli utenti e dei dispositivi che sono connessi in rete.

ATA affianca all’ispezione del traffico in lan l’analisi di informazioni ulteriori che derivano dall’accesso agli eventi di security archiviati nel registro ed alla possibilità di accedere alle informazioni contenute nell’Active Directory.

Semplificando, ATA, suddivide la sua azione in quattro fasi

  • Analisi di comportamenti che possono ritenersi anormali
  • Rilevazione di attacchi definiti come malevoli
  • Adattamento alla realtà nella quale viene inserito al fine di limitare il numero di “falsi positivi”
  • Produzione di allarmi e suggerimenti di recupero da situazioni di minaccia che possono verificarsi.

La sua struttura è suddivisa in due componenti principali

  • ATA Center
  • ATA Gateway

Il primo è il sistema che raccoglie tutti gli eventi ricevuti e ne effettua l’elaborazione, dispone di un proprio database e della capacità di interpretazione e correlazione delle attività rilevate, classificandole e catalogandole.

ATA Gateway è l’agente o la “sonda” che viene posizionata all’interno della rete e che ha il compito di raccogliere il traffico da sorgenti diverse ed inviarlo ad ATA Center.

La componente Gateway può ancora essere suddivisa in

  • ATA Gateway
  • ATA Lightweight Gateway

È possibile distribuire contemporaneamente in una rete più di un Lightweight Gateway e/o Gateway, ma ognuno di questi farà riferimento ad un solo ATA Center.

ATA Center svolge le seguenti funzioni

  • Gestisce la configurazione dei singoli “agenti” installati nella rete
  • Riceve da questi le informazioni
  • Rileva le attività sospette
  • Esegue analisi “comportamentali” al fine di identificare le potenziali minacce
  • Invia (se opportunamente configurato) notifiche sulle varie attività rilevate

Peculiarità dell’ATA Gateway è anche quella di poter lavorare come Syslog Collector in modo da ricevere eventi che possono essere generati da sorgenti diverse quali ad esempio sistemi SIEM (Security Information and Event Management) già presenti in rete e che hanno il compito o sono stati configurati per monitorare determinate aree dell’infrastruttura.

Se viene attivata la funzione di Event log Collector è possibile configurare ATA Gateway al fine di raccogliere gli eventi che vengono reindirizzati tramite questa modalità.

schema del flusso degli eventi raccolti da ATA Gateway e archiviati in ATA Center

Come indicato sopra ATA Gateway a seconda che si installi su un Domain Controller o su un membro del dominio di cui si vuole effettuare il controllo richiede configurazioni differenti in merito alla connettività di rete.

Il pacchetto di setup è lo stesso scaricato da ATA Center e si attiverà una modalità di installazione o l’altra in modo del tutto automatico.

La differenza, soprattutto dal punto di vista della configurazione, è sostanziale, nel caso in cui si installi il Gateway su un Domain Controller non sono richieste altre attività ed il software è in grado di rilevare il traffico di rete direttamente dalla NIC ed accedere al registro eventi in modo autonomo.

Invece, nel caso in cui è installato ATA Gateway su una macchina membro del dominio è necessario che venga attivato un port-mirror a livello switch e che ATA Gateway possa analizzare questo traffico ed è richiesto anche che il traffico oggetto di analisi sia quello che interessa i/il Domain Controller

Schematicamente le relazioni tra ATA Gateway, ATA Center e le entità monitorate sono riportate qui sotto

Microsoft Advanced Treath Analitycs: Prerequisiti

Considerazioni in merito all’installazione del numero di ATA Center necessari

  • Un singolo ATA Center può monitorare una singola foresta nel caso di più foreste è da prevedere un ATA center per ognuna di queste
  • In ambienti di grandi dimensioni un singolo ATA Center non è in grado di elaborare tutto il traffico generato dai Domain Controller, in questo caso è necessario ripartire i vari ATA Gateway su più ATA Center

Per riferimenti:
https://www.microsoft.com/en-us/server-cloud/products/advanced-threat-analytics/overview.aspx

Microsoft Advanced Threath Analitycs: Prerequisiti

$
0
0

Come abbiamo visto nell’articolo precedente ATA è strutturato in due componenti principali, in questo articolo verranno elencati i prerequisiti e le best practice per l’installazione corretta di tutte le componenti in relazione agli scenari di utilizzo. Un’ultima sezione è dedicata alla rilevazione del traffico tramite i performance counter del sistema operativo, questo valore risulta determinante al fine di dimensionare correttamente i Gateway all’interno dell’infrastruttura.

ATA Center Prerequisiti

È il componente server sul quale avviene l’interpretazione e la correlazione degli eventi e sul quale è disponibile la console di gestione, vediamo di seguito i prerequisiti per la sua installazione

ATA Center è supportato ad oggi in Windows 2012 R2,può essere indifferentemente installato su macchina in join al dominio oppure in workgroup ed in ambienti fisici o virtuali. Se installato in ambiente virtuale, (il database di ATA non è VSS-Aware) è necessario spegnere la VM prima di generare eventuali snapshot.

ATA utilizza come database MongoDB.

Per quanto riguarda Il sistema operativo è richiesto che venga disabilitata la compatibilità NUMA dal bios, ed è consigliabile il settaggio delle Power-Options a livello High.

Tutte le entità coinvolte, ATA Center, Gateway e Domain Controller monitorati, devono essere sincronizzati gli uni rispetto agli altri e con uno scarto non superiore a 5 minuti.

Normalmente il server è utile che disponga di due IP, uno per il management ed uno per le comunicazioni con i Gateway.

LA comunicazione tra ATA Center e Gateway avviene in SSL (porta 443) predefinita, ma può essere modificata a seconda delle esigenze.

Di seguito è riportato un elenco porte utilizzate e dei relativi servizi

Servizio Protocollo Porta destinazione Direzione Indirizzo
SSL (infrastruttura ATA) TCP 443 ATA Gateway Inbound IP address 1
HTTP TCP 80 LAN Network Inbound IP address 2
HTTPS TCP 443 LAN Network / ATA Gateway Inbound IP address 2
SMTP (opzionale) TCP 25 SMTP Server Outbound IP address 2
SMTPS (opzionale) TCP 465 SMTP Server Outbound IP address 2
Syslog (opzionale) TCP 514 Syslog server

ATA Center può utilizzare certificati di tipo Self-Signed, generati automaticamente in fase di installazione. Sarà comunque possibile sostituire i certificati in una fase successiva, in questo caso si potranno utilizzare certificati pubblici rilasciate da CA Trusted

ATA Gateway prerequisiti

È La componente di ATA che si occupa della rilevazione degli eventi e del loro invio al Center, il suo funzionamento è riconducibile a quello di “sensore”.

Così come ATA Center il Gateway può essere installato in sistemi 2012 R2 ed indifferentemente in macchine domain joined o in workgroup.

Sul sistema operativo deve essere installata la KB 2919255 che viene richiesta prima dell’installazione del software.

Valgono per questo oggetto le stesse considerazioni in termini di time source, impostazioni HW Bios viste in precedenza.

A differenza del Center il Gateway richiede due schede di rete, una per il Management ed una per le attività di analisi del traffico.

Impostazioni dell’adapter di management

  • IP Statico
  • Dichiarazione del/dei DNS server di riferimento
  • Impostazione del DNS suffix per la connessione cui si riferisce l’adapter.

Impostazioni dell’adapter di rilevazione del traffico

  • Deve essere il destinatario di un port monitor
  • È consigliato dichiarare un IP statico non instradabile, p.es. 1.1.1.1/32 senza DNS e def. Gtw.

“In questo modo si esplicita in modo corretto l’adapter di management”

Nella tabella qui sotto sono riportati in dettaglio i vari servizi e relative porte e protocolli necessari

SERVIZIO Protocollo Porta Destinazione direzione
LDAP TCP/UDP 389 Domain controllers Outbound
Secure LDAP (LDAPS) TCP 636 Domain controllers Outbound
LDAP Global Catalog TCP 3268 Domain controllers Outbound
LDAPS Global Catalog TCP 3269 Domain controllers Outbound
Kerberos TCP/UDP 88 Domain controllers Outbound
Netlogon TCP/UDP 445 Domain controllers Outbound
Windows Time UDP 123 Domain controllers Outbound
DNS TCP/UDP 53 DNS Servers Outbound
NTLM over RPC TCP 135 Tutti I dispositivi monitorati Outbound
NetBIOS UDP 137 Tutti I dispositivi monitorati Outbound
SSL TCP 443 (se default) ATA Center IP Address
IIS IP Address
Outbound
Syslog (opzionale) UDP 514 SIEM Server Inbound

Nota bene i vari device oggetto di rilevazione da parte del Gateway devono consentire in ingresso il traffico per i protocolli NTLM over RPC e NetBIOS da parte del Gateway stesso.

ATA Lightweight Gateway

Come già detto nell’articolo precedente questa è la vera novità della versione 1.6 ossia la possibilità di installare un’agent, su un DC senza dover utilizzare un port monitor.

Il Lightweight agent può essere installato su DC dalla versione 2008 R2 in poi (ad oggi non è ancora dichiarato il supporto per W2016 server).

Richiede un minimo di 2 Core e 6 Gb di Ram sul DC e valgono le considerazioni espresse sopra per Center e Gateway.

Una volta installato utilizza la NIC del Domain controller per l’analisi del traffico ed è possibile tramite la console di ATA modificare la scheda su cui è in “ascolto”

Nella tabella qui sotto sono riportati in dettaglio i vari servizi e relative porte e protocolli necessari

servizio protocollo Porta destinazione direzione
DNS TCP and UDP 53 DNS Servers Outbound
NTLM over RPC TCP 135 Tutti I dispositivi monitorati Outbound
NetBIOS UDP 137 Tutti I dispositivi monitorati Outbound
SSL TCP 443 (se default) ATA Center:
ATA Center IP Address
IIS IP Address
Outbound
Syslog (opzionale) UDP 514 SIEM Server Inbound

Dimensionamento dell’infrastruttura dedicata alla gestione

Per essere “operativo” ossia per poter fornire dati attendibili è consigliabile che ATA possa aver analizzato il comportamento dei vari utenti ed i relativi eventi per circa 30 giorni.

Per quanto riguarda il dimensionamento del sistema è necessario tenere conto della quantità di dati che verranno raccolti con i vari Gateway, la tabella seguente, fornisce indicazioni di massima sulle dimensioni dei sistemi, appare chiaro che la componente server richiede risorse significative soprattutto se si considera il canale dischi.

Pacchetti al secondo CPU (cores) Memoria (GB) GB al giorno IOPS
1,000 2 32 0.3 30 (100)
10,000 4 48 3 200 (300)
40,000 8 64 12 500 (1,000)
100,000 12 96 30 1,000 (1,500)
400,000 40 128 120 2,000 (2,500)

Il numero di pacchetti al secondo è da intendersi come la media di tutti i DC monitorati dagli ATA Gateway. Il numero di core è quello dell’ambiente fisico o quelli fisicamente attribuiti alla VM, non sono conteggiabili i core derivanti dall’attivazione dell’hyperthreading.

Gli IOPS riportati tra parentesi sono valori di picco mentre il primo valore esprime un valore medio di IO su disco. È consigliata una latenza per gli accessi disco sia in lettura che in scrittura, non maggiore di 10 ms.

Lo spazio disco deve essere dimensionato in modo da prevedere i futuri incrementi ed in ogni caso il disco dove è installato il DB dovrebbe avere sempre il 20% di spazio libero, nel momento in cui lo spazio libero si riduce al di sotto di 100 Gb o del 20% i dati più vecchi sono automaticamente cancellati, fino al mantenimento dei dati degli ultimi due giorni.

L’acquisizione si arresta alla soglia del 5% di spazio libero od al raggiungimento dei 50 Gb di spazio disponibile.

Scelta della tipologia di Gateway da installare

Microsoft raccomanda, dove possibile di installare la versione Lightweight del Gateway in questa ottica devono essere considerate le esigenze del software in rapporto alla tabella qui sotto, ed in considerazione del fatto che il Lightweight Gateway opererà su un Domain Controller.

Come considerazione ulteriore è in termini di sicurezza è consigliabile che tutti i Domain controller installati presso gli uffici periferici e quelli eventualmente operanti su infrastrutture esterne, ad esempio servizi IaaS su cui sono presenti DC virtuali, siano monitorati e protetti da ATA.

Dimensionamento di ATA Lightweight Gateway

Un singolo Lightweight Gateway può monitorate un solo DC ed il dimensionamento deve essere considerato in base al traffico che il DC genera.

Nella tabella è riportato il dimensionamento dell’HW dei DC con il Lightweight Gateway installato.

PACCHETTI AL SECONDO CPU (CORES) MEMORIA(GB)
1,000 2 6
5,000 6 16
10,000 10 24

È importante considerare nel caso in cui le risorse di un Domain Controller non siano sufficienti anche a permettere il funzionamento della componente ATA, che le funzionalità tipiche del DC non sono alterate, mentre il Gateway potrebbe non operare correttamente.

Dimensionamento di ATA Gateway

L’installazione di un ATA Gateway permette il monitoraggio di più Domain Controller e di più domini all’interno di una Foresta mentre il monitoraggio di Foreste diverse richiede il deploy di un ATA Center per singola foresta.

Nella tabella è riportato il dimensionamento dell’HW dei server con il Gateway installato.

PACCHETTI AL SECONDO CPU (cores) Memoria (GB)
1,000 1 6
5,000 2 10
10,000 3 12
20,000 6 24
50,000 16 48

Il volume totale di traffico non deve eccedere la capacità totale di analisi e cattura della singola NIC

Calcolo del traffico in termini di pacchetti trasmessi per singolo DC

Al fine poter correttamente dimensionare ogni singolo ATA Gateway il numero totale necessario è utile rilevare il traffico che ogni DC produce, se non si dispone di un tool dedicato (p.es. Wireshark) è possibile effettuarne una rilevazione con il performance monitor.

Procedere come segue:

  1. Creare un nuovo Data Collector Set

  1. Definire il tipo di dati da raccogliere come Performance Counter
  2. Aggiungere il Counter per il Network Adapter e selezionare quindi la voce Packets/Sec per tutte le istanze
  3. Impostare il campionamento con la frequenza di 1 secondo

  1. Mantenere la rilevazione per 24 ore
  2. Rilevare i valori di Picco e di Media al fine di determinare e confrontare con le tabelle sopra riportate il dimensionamento di ogni singolo componente Gateway

Per approfondimenti:

https://docs.microsoft.com/en-us/advanced-threat-analytics/plan-design/ata-prerequisites

https://docs.microsoft.com/en-us/advanced-threat-analytics/plan-design/ata-capacity-planning

Gestione del Browser Chrome tramite GPO

$
0
0

Premessa:

La standardizzazione del browser è ancora un miraggio e in molti casi gli applicativi Web Based hanno una stretta dipendenza dal browser tramite il quale vengono utilizzati.

Ci si incontra spesso con la necessità di dover gestire sullo stesso pc Internet Explorer, Chrome o Firefox e di doverli mantenere e manutenere simultaneamente.

In questo articolo analizzeremo uno scenario in cui è necessario effettuare il deploy massivo di Chrome e la sua successiva gestione tramite le Group Policy.

L’infrastruttura di base è un ambiente su un dominio Windows 2012R2

Installazione automatizzata con Group Policy

Il browser Google Chrome può essere scaricato in versione full dal link https://www.google.com/work/chrome/browser/; è necessario prelevare la versione disponibile come file .msi e tramite una GPO dedicata all’Installazione Software è possibile effettuare la distribuzione del pacchetto secondo un’assegnazione per utente o per macchina.

La distribuzione tramite GPO di un software ne permette anche la rimozione in modo automatizzato e la ridistribuzione per aggiornamento. La scelta dell’applicazione secondo un contesto di utente o di computer andrà valutata caso per caso a seconda della modalità di utilizzo del software distribuito.

Dopo aver aperto la Group Policy Management Console e creato una nuova Policy, all’interno del ramo Software è possibile specificare l’installazione di Chrome.

Figura 1: Creazione di una GPO basata sull’assegnazione client

Proseguendo, al passaggio successivo, viene richiesto di selezionare il pacchetto .msi da distribuire, che deve essere in una posizione accessibile dai pc/utenti a cui è assegnata la GPO di installazione, ad esempio una share i cui permessi consentano a utenti e/o pc di accedere al file. Nel caso in cui l’installazione avvenga per Computer il permesso di accesso alla share andrà esplicitato anche per gli account macchina.

Figura 2: informazione sulla raggiungibilità del percorso dove è salvato il file

Proseguendo nella configurazione con pochi ulteriori passaggi l’ambiente di deploy del software è pronto, a questo punto al riavvio dei vari pc si attiverà una task che prima del login utente informerà dell’installazione in corso.

Configurazione di Chrome tramite Group Policy

Considerazioni sul tipo di GPO da implementare.

Con le versioni di Sistema operativo successive a Vista per i desktop, e 2008 per i server, il sistema di gestione delle Group Policy adotta i nuovi file .admx in sostituzione del vecchio modello basato su .adm

Questa architettura prevede che le GPO siano articolate su due file: il primo, con estensione .admx, comprende le impostazioni vere e proprie dell'”oggetto” da gestire, in questo caso Chrome, il secondo file, con estensione .adml, contiene le informazioni sulla nazionalizzazione dell’oggetto stesso.

Dal punto di vista della gestione, all’interno della console GPMC (Group Policy Management Console) per le impostazioni di nuovi oggetti, come in questo caso Chrome, è necessario importare questi due file.

Le informazioni sulla gestione normalmente sono rese disponibili dal produttore, nel caso di Chrome è possibile scaricarle da questo link https://support.google.com/chrome/a/answer/187202?hl=it, una volta scaricato il file compresso è necessario estrarlo ed individuare i file ADM(x) ed ADM(l) e copiarli rispettivamente in c:\windows\PolicyDefinitions e c:\windows\PolicyDefinitions\it-IT.

Nel caso si utilizzi un percorso di installazione ed una lingua differenti sarà necessario individuare i percorsi coerenti con l’ambiente in cui si opera.

“I passi che ho descritto sopra devono essere eseguiti su una postazione dalla quale è possibile accedere alla Group Policy Management Console. Un Domain Controller ha installato di default questo ambiente di gestione delle GPO. Personalmente preferisco installare una VM con Windows 8.1 ed installare i tool di management remoti per l’ambiente da gestire, nel caso di dominio Windows 2012 sono scaricabili qui

Creazione Della Group Policy per Chrome

Dopo aver effettuato la copia dei file utili alla definizione della GPO è possibile aprire la console GPMC e procedere con la creazione di una policy dedicata a Chrome.

Figura 3: Creazione di una nuova Group Policy

Creata la Group Policy sono disponibili all’interno le estensioni messe a disposizione dai file .ADM(x) copiati in precedenza.

Figura 4: Modifica della Group Policy

Posizionandosi nel ramo Policies/Administrative Templates/Google è possibile accedere a tutte le impostazioni per la gestione del browser Chrome.

Le personalizzazioni del browser sono veramente molto granulari; tramite un elenco piuttosto ricco di opzioni è possibile “modellare” il comportamento nei minimi dettagli.

Per consultare l’elenco e la relativa descrizione di tutte le impostazioni è possibile aprire il file chrome_policy_list.html contenuto nel file .ZIP scaricato in precedenza.

Controllo dell’applicazione delle Policy relative a Chrome

Una volta attivate le configurazioni è importante, in caso di problemi di funzionamento, poter verificare in modo preciso quali GPO sono applicate e quali eventualmente non lo sono, e verificare come il browser recepisce queste impostazioni.

È possibile eseguire e verificare le impostazioni sia agendo sul sistema operativo che sul browser vero e proprio.

Sul sistema operativo client, tramite i due comandi:

  • rsop.msc
  • gpresult -h <Percorso>\<nome-file.html>

è possibile verificare le policy applicate al pc / utente connesso, le GPO relative a Chrome sono identificate tramite le chiavi di registro relative al Chrome stesso.

Figura 5: Impostazioni della Policy

  1. nome della GPO creata ed applicata a Chrome
  2. impostazione della Home Page
  3. impostazione del Proxy di Chrome, in questo caso il proxy di sistema

Un’altra modalità di controllo delle policy applicate consiste nel richiedere a Chrome le impostazioni, ossia individuare con precisione “cosa” viene passato dal sistema al browser.

Per visualizzarle è necessario aprire Chrome e dalla barra dell’indirizzo digitare: chrome://policy verrà così visualizzato il set di impostazioni correnti come riportato nella figura sotto:

Figura 6: Verifica delle impostazioni

In questa figura sono riportate esattamente le impostazioni viste in precedenza, così come sono recepite da browser.

Aprendo la pagina “Impostazioni” del browser vedremo che le impostazioni derivanti da GPO non sono modificabili, in questo caso l’impostazione del proxy è definita per essere quello di sistema.

Impostazione che deriva essa stessa da una precedente GPO creata per la configurazione di Internet Explorer.

Figura 7

Per tutte le impostazioni gestite centralmente è presente il simbolo

Considerazioni

Come si può vedere in figura  la sezione Google presenta due “rami” all’interno della configurazione, il primo prevede che le opzioni dichiarate non siano modificabili dall’utente, le impostazioni dichiarate nel secondo invece consentono una variazione temporanea.

Figura 8: Due rami di configurazione per il Browser

Tutte le impostazioni che verranno applicate all’interno del ramo 1 non saranno modificabili all’utente, mentre quelle eventualmente dichiarate nel ramo 2 potranno esser temporaneamente variate dall’utente, salvo poi essere riapplicate all’atto del login o del refresh delle Policy stesse

Le impostazioni viste sono riferite al contesto utente, le stesse configurazioni sono comunque disponibili anche in contesto computer la scelta di una opzione o dell’altra andrà fatta a seconda delle peculiarità dei singoli ambienti di utilizzo.

Esempio di configurazione di una GPO

Impostazione della pagina iniziale visualizzata all’avvio di Chrome

Chrome consente la definizione di due comportamenti differenti: l’apertura di una pagina all’avvio e l’apertura di una pagina alla pressione del pulsante Home.

Innanzitutto è necessario evidenziare le differenze tra le due pagine secondo quanto riportato dal manuale di Chrome:

  • La pagina di avvio è quella che si apre all’avvio di Chrome.
  • La pagina iniziale è quella che si apre facendo clic sul pulsante Home:

per poter impostare una pagina che verrà visualizzata all’avvio, dovremo impostare le Policy relative alla pagina di avvio nel modo seguente:

Figura 9

Dopo aver aperto la Group Policy

  1. Selezionare l’opzione “pagina di avvio
  2. Abilitare “pagine da aprire all’avvio
  3. Nell’elenco che compare premendo “mostra” digitare la/le pagine che si vuole vengano aperte all’avvio di Chrome, verranno aperte tante schede quante sono gli URL introdotti.
  4. Nella scelta “azione all’avvio” dovremo impostare l’apertura di un elenco di URL che in questo caso corrisponde all’elenco dichiarato in precedenza

Figura 10: Scelta “azione all’avvio

È possibile dichiarare più pagine in un elenco, ed ognuna di queste verrà aperta in una scheda differente.

Riferimenti:

https://technet.microsoft.com/en-us/library/cc753768(v=ws.11).aspx

https://www.chromium.org/administrators/policy-templates

Upgrade domain controller a Windows Server 2016 Parte 1 di 4

$
0
0

Con l’uscita di Windows Server 2016 molte infrastrutture prenderanno la decisione di aggiornare i propri Domain Controller in particolar modo se ancora ne hanno alcuni basati su Windows Server 2003. La dismissione dei Domain Controller Windows Server 2003 consente infatti di trarre vantaggio dalle numerose funzionalità che sono state introdotte in Active Directory rispetto a Windows Server 2003 che rappresenta la versione di sistema operativo più datata da cui è ancora possibile eseguire la migrazione. Nel primo dei quattro articoli sull’analisi le problematiche relative all’aggiornamento di un’infrastruttura Active Directory basata su Domain Controller Windows Server 2003 verrà analizzato il deploy di un Domain Controller Windows Server 2016.

Argomenti

  • Operazioni preliminari per l’aggiunta di un Domain Controller Windows Server 2016
  • Aggiunta del ruolo Servizi di dominio di Active Directory
  • Promozione a Domain Controller in Windows Server 2012
    • Configurazione della distribuzione
    • Opzioni controller di dominio
    • Opzioni DNS
    • Opzioni aggiuntive
    • Percorsi
    • Opzioni di preparazione
    • Verifica opzioni
    • Controllo dei prerequisiti
  • Conclusioni

Operazioni preliminari per l’aggiunta di un Domain Controller Windows Server 2016

Di seguito lo schema dell’infrastruttura a cui faremo rifermento in cui è presente un DC con Windows Server 2003 R2 VSDC2003 che verrà sostituito con un DC con Windows Server 2016 VSDC2016.

Prima di iniziare la procedura di migrazione creare un backup di Active Directory, quindi eseguire sul server Windows Server 2016 i seguenti passaggi:

  1. Installazione del sistema operativo Windows Server 2016.
  2. Impostazione del nome computer (nell’esempio VSDC2016).
  3. Impostazione dell’indirizzo IP fisso (nell’esempio 10.0.0.20/24).
  4. Impostazione del DNS primario con l’IP del DC del dominio (nell’esempio 10.0.0.10).
  5. Join del server al dominio.

Aggiunta del ruolo Servizi di dominio di Active Directory

Una volta che il server con Windows Server 2016 (VSDC2012 nell’esempio) è stato reso membro del dominio è possibile iniziare la procedura di promozione a Domani Controller aggiungendo tramite Server Manager il ruolo Active Directory Domain Services.

L’installazione del ruolo aggiungerà gli strumenti per l’amministrazione di Active Directory tramite interfaccia grafica e riga di comando (AD DS Snap-Ins and Command-Line Tools) oltre al Centro di Amministrazione di Active Directory (Active Directory Administrative Center), il Modulo Active Directory per PowerShell (Active Directory module for Windows PowerShell) e il tool Gestione Criteri di gruppo (Group Policy Management). Per velocizzare la procedura d’installazione è possibile consentire il riavvio automatico del server al termine dell’installazione del ruolo se necessario.

Il ruolo Servizi di dominio di Active Directory rende disponibile gli strumenti di amministrazione di Active Directory che vengono resi disponibili tramite l’interfaccia del Server Manager.

Per quanto riguarda l’utilizzo del Modulo Active Directory per PowerShell occorre precisare che è possibile utilizzarlo anche per gestire infrastrutture in cui vi siano solo Domain Controller con sistema operativo Windows Server 2008 e Windows Server 2003, ma dal momento che l’interazione avviene mediante l’Active Directory Web Services (ADWS), che è presente solo su Windows Server 2008 R2 e successivi, occorre installare almeno su di un Domain Controller l’Active Directory Management Gateway Service (Active Directory Web Service for Windows Server 2003 and Windows Server 2008). Inoltre se non è presente nell’infrastruttura Active Directory un Domain Controller Windows Server 2008 R2 non sarà possibile utilizzare i cmdlet del Modulo Active Directory per PowerShell.

Autenticandosi sul server, ad esempio, con le credenziali di Amministratore di dominio sarà possibile già gestire quindi l’Active Directory sebbene il server sia al momento solo un server membro e nessuna modifica sia ancora stata apporta ad Active Directory. Infatti se utilizziamo dsquery per ricavare la versione dello schema possiamo verificare che è ancora Windows Server 2003 R2.

dsquery * cn=schema,cn=configuration,dc=devadmin,dc=local -scope base -attr objectVersion

Di seguito l’elenco delle versioni dello schema di Active Directory:

Versione Descrizione
13 Windows 2000
30 Windows 2003
31 Windows 2003 R2
44 Windows 2008
47 Windows 2008 R2
56 Windows 2012
69 Windows 2012 R2
87 Windows Server 2016 Technical Preview 5

In alternativa sarebbe possibile utilizzare il seguente commando PowerShell, ma occorre installare prima sul server VMDC2003 l’Active Directory Management Gateway Service come spiegato precedentemente.

Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion

Promozione a Domain Controller in Windows Server 2012

A partire da Windows Server 2012 la promozione a Domain Controller viene eseguita tramite il Server Manager e non più tramite Dcpromo.exe che da Windows Server 2012 risulta deprecato e se avviato visualizza un messaggio di avvertimento che indirizza l’utente ad utilizzare Server Manager.

Il motivo per cui il wizard del Dcpromo per la promozione di un Domain Controller è stato abbandonato è che a partire da Windows Server 2012 l’attività di promozione del Domain Controller è stata completamente rivista con l’obbiettivo di automatizzare il più possibile il processo che ora esegue automaticamente Adprep e una serie di controlli per garantire il buon esito dell’operazione.

Dopo aver installato i Servizi di dominio di Active Directory Server manager segnalerà la necessità di eseguire l’innalzamento a Domain Controller come configurazione post distribuzione.

Configurazione della distribuzione

Per aggiungere un Domain Controller Windows Server 2016 ad un dominio sono richiesti i seguenti prerequisiti:

  • Livello funzionale foresta Windows Server 2003 o superiore
  • Utilizzare un account che abbia i privilegi di Enterprise Admin, Schema Admin e Domain Admins

Tali prerequisiti verranno controllati durante le fasi inziali della promozione a Domain Controller e nel caso non siano rispettati verrà impedita l’esecuzione dell’operazione.

Per quanto riguarda l’innalzamento dei livelli funzionali di dominio e foresta, grazie al fatto che i Servizi di dominio di Active Directory sono presenti, possono essere eseguiti direttamente dal server Windows Server 2016 tramite il tool Active Directory Domains and Trusts.

Nell’infrastruttura d’esempio dal momento che vi è un solo Domain Controller con Windows Server 2003 R2 (VMDC2003) il massimo livello funzionale che si può impostare sia per il dominio che per la foresta è Windows Server 2003, ma verrà visualizzato l’avviso che tale livello funzionale di foresta è deprecato.

Opzioni controller di dominio

Il secondo step del wizard di promozione a Domain Controller propone per default l’installazione del server DNS e dell’impostazione del nuovo Domain Controller con Global Catalog (in modo da garantire alta disponibilità in ambienti distribuiti), suggerisce il sito in cui inserire il nuovo Domain Controller (in base alla subnet più corretta) e richiede la password per la modalità di rispristino di Active Directory (DSRM Directory Services Restore Mode)

A partire da Windows Server 2008 è possibile sincronizzare la password del DSRM Administrator con quella di un account di dominio, per informazioni a riguardo si veda la KB961320 A feature is available for Windows Server 2008 that lets you synchronize the DSRM Administrator password with a domain user account).

Dal momento che nell’infrastruttura d’esempio non esistono Domain Controller Windows Server 2008 o successivi non è possibile creare aggiungere Read-Only Domain Controllers e infatti la voce relativa risulta disabilitata.

Opzioni DNS

Il terzo step del wizard di promozione a Domain Controller prosegue con la configurazione delle opzioni DNS, nel caso dell’infrastruttura d’esempio segnala l’impossibilità di creare una delega per il server DNS in quanto non esiste la zona padre autorevole per il dominio, questo significa che host in altri domini o su Internet non riusciranno a risolvere le query del nome DNS per gli host nel dominio locale. Dal momento che lo scenario di esempio non presenta la necessità di risoluzioni di query DNS da parte di domini esterni il messaggio d’avviso può essere ignorato, per maggiori informazioni si veda Known Issues for Installing and Removing AD DS.

Opzioni aggiuntive

Il quarto step del wizard di promozione a Domain Controller consente di specificare le configurazioni inerenti la replica, che per default viene impostata per utilizzare un qualunque controller di dominio come origine di replica. Sempre in questa fase è possibile decidere di installare il controller di dominio usando i supporti di backup che devono essere stati creati con Windows Server Backup o Ntdsutil.exe esclusivamente da un altro computer Windows Server 2016, in ogni caso questa opzione non è di nostro interesse dal momento che stiamo analizzando lo scenario di una migrazione.

Percorsi

Nel quinto step del wizard di promozione a Domain Controller vengono richiesti i path per il database di Servizi di dominio Active Directory, i registri delle transazioni del database e la condivisione SYSVOL (per impostazione predefinita sono sempre impostati in %SystemRoot%).

Opzioni di preparazione

Il sesto step del wizard di promozione a Domain Controller controlla che le credenziali abbiano i diritti necessari per eseguire Adprep, infatti dal momento che si sta aggiungendo il primo controller di dominio Windows Server 2016 ad una foresta esistente verrà eseguito Adprep /forestprep,
che richiede i diritti Enterprise Admins, Schema Admins e Domain Admins nel dominio che il Domain Controller col ruolo di Schema Master. Inoltre poiché si sta anche aggiungendo il primo controller di dominio Windows Server 2016 ad un dominio esistente sarà eseguito Adprep /domainprep,
che richiede i diritti di Domain Admins sul dominio su cui si esegue il comando.

Per ulteriori informazioni sull’integrazione di Adprep introdotta in Windows Server 2012 si veda What’s New in Active Directory Domain Services Installation and Removal.

Verifica opzioni

Il settimo step del wizard di promozione a Domain Controller consente la verifica delle opzioni selezionate e la visualizzazione dello script Powershell generato.

Controllo dei prerequisiti

L’ottavo step del wizard di promozione a Domain è il controllo dei prerequisiti per la promozione a Domain Controller del server, tale controllo prevede l’utilizzo di chiamate WMI, queste potrebbero avere esito negativo se bloccate dalle regole del firewall restituendo un errore di server RPC non disponibile.

Nel caso dell’infrastruttura di esempio vengono visualizzati i seguenti avvisi:

  • I controller di dominio Windows Server 2016 prevedono un valore predefinito per l’impostazione “Consenti algoritmi di crittografia compatibili con Windows NT 4.0” che impedisce l’utilizzo di algoritmi di crittografia più vulnerabili per stabilire sessioni su canale sicuro. Questo avviso indica sostanzialmente che se un computer basato su Windows NT 4.0 tenta di utilizzare il servizio NETLOGON per stabilire un canale sicuro per un controller di dominio basato su Windows Server 2016, l’operazione potrebbe non andare a buon fine. In realtà questo comportamento vale, in generale, con Domain Controller Windows Server 2008 e successivi, per maggiori informazioni si veda la KB 942564 The Net Logon service on Windows Server 2008 and on Windows Server 2008 R2 domain controllers does not allow the use of older cryptography algorithms that are compatible with Windows NT 4.0 by default.
  • Il livello funzionale Windows Server 2003 sono deprecati, quindi se si mantegono tali livelli funzionali per il dominio e/o la foresta non sarà possibile aggiungere domain controller con versioni di Windows Server successive alla 2016.
  • Il File Replication Service (FRS) è deprecato, sarà quindi necessario migrare alla DFS Replication tramite il commando DFSRMIG per garantire la replica della cartella SYSVOL nel caso vengano aggiunti domain controller con versioni di Windows Server successive alla 2016.
  • Impossibile creare o aggiornare la delega DNS di cui abbiamo spiegato le ragioni precedentemente.

Selezionando Installa verrà avviata la promozione a Domain Controller del server che verrà riavviato automaticamente al termine se come nell’esempio era stata selezionata l’opzione per il riavvio automatico.

Conclusioni

L’introduzione di un domain controller Windows Server 2016 nell’infrastruttura Active Directory è un procedimento semplice e ben controllato dal wizard messo a disposizione dal Server Manager che impedisce di portare a termine l’operazione in caso di problemi o incompatibilità in Active Directory. In ogni caso è buona norma controllare lo stato di salute di Active Directory anche se l’operazione di aggiunta del domain controller va a buon fine in quanto la finalità della migrazione prevede la rimozione del domain controller Windows Server 2003. La verifica della funzionalità di Active Directory sarà appunto l’argomento del secondo articolo.

Upgrade domain controller a Windows Server 2016 Parte 2 di 4

$
0
0

Con l’uscita di Windows Server 2016 molte infrastrutture prenderanno la decisione di aggiornare i propri Domain Controller in particolar modo se ancora ne hanno alcuni basati su Windows Server 2003. La dismissione dei Domain Controller Windows Server 2003 consente infatti di trarre vantaggio dalle numerose funzionalità che sono state introdotte in Active Directory rispetto a Windows Server 2003 che rappresenta la versione di sistema operativo più datata da cui è ancora possibile eseguire la migrazione. Nel secondo dei quattro articoli sull’analisi le problematiche relative all’aggiornamento di un’infrastruttura Active Directory basata su Domain Controller Windows Server 2003 verranno analizzati i controlli da eseguire dopo aver aggiunto nell’infrastruttura un nuovo Domain Controller Windows Server 2016.

Il primo articolo è disponibile al seguente li Upgrade domain controller a Windows Server 2016 Parte 1 di 4.

Argomenti

  • Verifica della promozione del Domain Controller
    • Verifica dell’aggiornamento dello schema di Active Directory
    • Verifica della registrazione del Domain Controller in Active Directory
    • Verifica degli eventi registrati nell’EventViewer
    • Verifica dell’esistenza delle share NETLOGON e SYSVOL
    • Verifica del servizio DNS
    • Verifica della replica
    • Verifica dei ruoli Flexible Single Master Operations
  • Esecuzione del best practies analyzer
  • Conclusioni

Verifica della promozione del Domain Controller

Al termine dell’installazione di un Domain Controller occorre verificare che la promozione è avvenuta correttamente e che Active Directory e i servizi correlati funzionino correttamente tramite una serie di controlli da eseguire sul nuovo Domain Controller Windows Server 2016.

Di seguito lo schema dell’infrastruttura a cui faremo rifermento in cui è presente un DC con Windows Server 2003 R2 VSDC2003 e un nuovo DC con Windows Server 2016 VSDC2016.

Prima di eseguire i test attendere l’esecuzione della replica tra i Domain Controller (la durata del processo di replica dipende dalla velocità di connessione tra Domain Controller, ma 15 minuti dovrebbero essere sufficienti come indicato nel seguente Managing Domain Controllers with Active Directory Directory Services – Installing and Removing Active Directory – Domain Connectivity).

Verifica dell’aggiornamento dello schema di Active Directory

Per controllare che lo schema di Active Directory sia stato portato alla versione 87 (Windows Server 2016 Technical Preview 5) è ora possibile utilizzare il comando PowerShell visto precedentemente:

Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion

Verifica della registrazione del Domain Controller in Active Directory

Per verificare che il nuovo Domain Controller sia stato registrato correttamente in Active Directory e sia impostato come Global Catalog è possibile utilizzare i tool Utenti e computer di Active Directory e Siti e servizi di Active Directory.

In alternativa è possibile utilizzare il cmdlet Get-ADDomainController:

Verifica degli eventi registrati nell’EventViewer

Se la procedura di promozione è andata a buon fine dovrebbero essere presenti i seguenti eventi sul :

  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 1000
  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 1394
  • Registro DNS Server – Evento d’informazioni DNS-Server-Service 4 seguito dall’Evento d’informazioni DNS-Server-Service 2
  • Registro File Replication Service – Evento d’avviso NtFrs 13508
  • Registro File Replication Service – Evento d’avviso NtFrs 13516
  • Registro Servizi Web Active Directory – Evento d’informazione ADWS 1004

Verifica dell’esistenza delle share NETLOGON e SYSVOL

Per verificare che le share NETLOGON e SYSVOL esistono e operano correttamente è possibile usare il comando Net share e il tool a riga di comando Dcdiag:

net share
dcdiag /test:frssysvol
dcdiag /test:netlogons

    

Per informazioni sulle share SYSVOL e NETLOGON si vedano Sysvol and netlogon share importance in Active Directory e Check the status of the shared SYSVOL.

Verifica del servizio DNS

Per verificare che il buon funzionamento del servizio DNS è possibile usare i seguenti comandi che oltre a testare le funzionalità di base del DNS controllano anche che la registrazione dinamica dei record DNS in Active Directory sia attiva, che il Domain Controller possa registrare i suoi Locator DNS record e che i record A, CNAME e SRV siano registrati correttamente e (per maggiori informazioni si veda Dcdiag):

dcdiag /test:DNS /DnsDynamicUpdate
dcdiag /test:RegisterInDNS /DnsDomain:%USERDNSDOMAIN%
dcdiag /test:DNS /DnsRecordRegistration

Per eseguire il test completo della funzionalità del DNS utilizzare il comando:

dcdiag /test:dns

Tramite PowerShell inoltre è anche possibile controllare se il servizio DNS è in esecuzione sui domain controller tramite il comando:

Get-ADDomainController –PipelineVariable dc -Filter * | foreach { Get-Service DNS -ComputerName $dc.hostname} | Select machinename, name, status

Verifica della replica

Per verificare il buon funzionamento della replica è possibile utilizzare I seguenti comando che restituiscono informazioni circa l’esito della stessa tramite i tool a riga di comando Repadmin e Dcdiag:

repadmin /showreps
dcdiag /test:Replications
dcdiag /test:VerifyReplicas

Per il controllo della replica è disponibile il tool Active Directory Replication Status Tool (per maggiori informazioni si veda Active Directory Replication Status Tool (ADREPLSTATUS) Resources Page).

E’ possibile anche utilizzare il cmdlet PowerShell Get-ADReplicationUpToDatenessVectorTable che restituisce informazioni circa l’ultima replica eseguita e il valore dell’Update Sequence Number (USN):

Get-ADReplicationUpToDatenessVectorTable -Target VSDC2016

Verifica dei ruoli Flexible Single Master Operations

Per verificare il funzionamento dei ruoli FSMO (Flexible Single Master Operations), che nell’infrastruttura di esempio sono ancora detenuti dal Domain Controller Windows Server 2003, è possibile utilizzare i tool a riga di comando Netdom query e Dcdiag:

netdom /query fsmo
dcdiag /test:knowsofroleholders
dcdiag /test:fsmocheck

In alternativa è possibile usare PowerShell per ottenere i ruoli operations master a livello di foresta tramite il cmdlet Get-ADForest e i ruoli operations master a livello di dominio tramite il cmdlet Get-ADDomain:

Get-ADForest | Select SchemaMaster, DomainNamingMaster
Get-ADDomain | Select RIDMaster, PDCEmulator, InfrastructureMaster

Esecuzione del best practies analyzer

Come ultima verifica è consigliabile eseguire l’analisi tramite il Best Practies Analyzer (BPA) dei Servizi di dominio Active Directory sul nuovo Domain Controller (VSDC2016 nell’esempio) disponibile all’interno del Server Manager.

La verifica non dovrebbe segnalare alcun warning tranne la possibilità di proteggere le OU da eliminazioni accidentali e nel caso in cui il nuovo Domain Controller sia stato installato in macchina virtuale (come nell’esempio), la necessità di seguire le best practies relative (a riguardo si veda AD DS: This domain controller should comply with the recommended best practices guidelines because it is running on a VM).

Conclusioni

Anche se l’introduzione di un domain controller Windows Server 2016 nell’infrastruttura Active Directory è un procedimento semplice e ben controllato è buona norma controllare lo stato di salute di Active in quanto i passi successivi della migrazione che verranno descritti nel terzo articolo prevedono la rimozione del domain controller Windows Server 2003. Questo significa che non solo il domain controller Windows Server 2016 deve essere aggiunto correttamente, ma deve anche essere perfettamente funzionante per non avere disservizi dopo la rimozione del domain controller Windows Server 2003.

Upgrade domain controller a Windows Server 2016 Parte 3 di 4

$
0
0

Con l’uscita di Windows Server 2016 molte infrastrutture prenderanno la decisione di aggiornare i propri Domain Controller in particolar modo se ancora ne hanno alcuni basati su Windows Server 2003. La dismissione dei Domain Controller Windows Server 2003 consente infatti di trarre vantaggio dalle numerose funzionalità che sono state introdotte in Active Directory rispetto a Windows Server 2003 che rappresenta la versione di sistema operativo più datata da cui è ancora possibile eseguire la migrazione. Nel terzo dei quattro articoli sull’analisi le problematiche relative all’aggiornamento di un’infrastruttura Active Directory basata su Domain Controller Windows Server 2003 verrà analizzato il demote di un Domain Controller Windows Server 2003.

Il primi due articoli sono disponibili ai seguenti:

Argomenti

  • Operazioni preliminari per il demote di un Domain Controller Windows Server 2003
  • Spostamento dei ruoli Flexible Single Master Operations sul Domain Controller Windows Server 2016
  • Rimozione del ruolo di Global Catalog dal Domain Controller Windows Server 2003
  • Configurazione delle impostazioni di rete per il Domain Controller Windows Server 2003
  • Rimozione del server DNS dal Domain Controller Windows Server 2003
  • Demote del Domain Controller Windows Server 2003
  • Eliminazione dell’oggetto server relativo al Domain Controller Windows Server 2003 dal Sito
  • Rimozione e correzione dei record DNS relativi al Domain Controller Windows Server 2003
  • Verifica della funzionalità di Active Directory
  • Rimozione del server Windows Server 2003
  • Conclusioni

Operazioni preliminari per il demote di un Domain Controller Windows Server 2003

Di seguito lo schema dell’infrastruttura a cui faremo rifermento in cui è presente un DC Windows Server 2016 VSDC2016 e un DC con Windows Server 2003 R2 VSDC2003 che verrà dismesso.

Prima di iniziare la procedura di dismissione del Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) occorre impostare i client in modo che non lo utilizzino più come server DNS e utilizzino invece il nuovo server Windows Server 2016 (VSDC2016 nell’esempio). Questa impostazione generalmente viene distribuita tramite DHCP di conseguenza per evitare problemi ai client durante e dopo la rimozione del Domain Controller Windows Server 2003 sarebbe opportuno attendere che la configurazione sia distribuita col rinnovo del lease DCHP.

Inoltre prima eseguire il demote del Domain Controller Windows Server 2003 eseguire le seguenti operazioni:

  • Creare un backup di Active Directory
  • Configurare il Domain Controller Windows Server 2016 affinché usi se stesso come primo server DNS tramite l’indirizzo IP 127.0.0.1 oppure tramite l’indirizzo IP assegnato (10.10.0.20 nell’esempio), rimuovendo il riferimento al server DNS sul DC Windows Server 2003.
  • Riavviare il Domain Controller Windows Server 2016.

Spostamento dei ruoli Flexible Single Master Operations sul Domain Controller Windows Server 2016

Dal momento che il Domain Controller Windows Server 2016 dovrà sostituire il Domain Controller Windows Server 2003 è necessario spostare su di esso i ruoli FSMO (Flexible Single Master Operations) elencati nella seguente tabella:

Ruolo FSMO

Scope

Diritti necessari per il move

SchemaMaster

Foresta

Schema Admins

Domain Naming Master

Foresta

Enterprise Admins

RID Master

Domino

Domain Admins

PDC Emulator

Domino

Domain Admins

Infrastructure Master

Domino

Domain Admins

E possibile eseguire lo sposamento dei ruoli FSMO tramite PowerShell direttamente dal Domain Controller Windows Server 2016. Di seguito il comando PowerShell per trasferire tutti i ruoli FSMO sul Domain Controller Windows Server 2016 (VMDC2016 nell’esempio):

Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole SchemaMaster, DomainNamingMaster, RIDMaster,InfrastructureMaster,PDCEmulator

In alternativa è anche possibile spostare i ruoli uno alla volta:

Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole SchemaMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole DomainNamingMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole RIDMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole InfrastructureMaster
Move-ADDirectoryServerOperationMasterRole -Identity “VSDC2016” -OperationMasterRole PDCEmulator

Per verificare che lo sposamento dei ruoli FSMO sia avvenuto correttamente è possibile controllare che il seguente evento sia stato registrato 5 volte (uno per ogni ruoli FSMO trasferito):

  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 1458

Inoltre sempre tramite PowerShell, come visto nel primo articolo, è possibile controllare che i ruoli FSMO risultino assegnati ad Domain Controller Windows Server 2016 (VSDC2016 nell’esempio).

Get-ADForest | Select SchemaMaster, DomainNamingMaster
Get-ADDomain | Select RIDMaster, PDCEmulator, InfrastructureMaster

Rimozione del ruolo di Global Catalog dal Domain Controller Windows Server 2003

Prima di iniziare la procedura di demote del Domain Controller Windows Server 2003 oltre a rimuovere i ruoli FSMO detenuti occorre rimuovere anche il ruolo di Global Catalog come indicato in Demote a domain controller.

Per rimuovere il ruolo di Global Catalog è possibile utilizzare il tool Siti e servizi di Active Directory.

In alternativa è possibile utilizzare il seguente comando Powershell:

Set-ADObject -Identity (Get-ADDomainController -Identity “VSDC2003”).NTDSSettingsObjectDN -Replace @{options=’0′}

Per verificare i global catalog presenti nell’infrastruttura è possibile utilizzare il seguente comando Powershell:

Get-ADForest devadmin.local | FL GlobalCatalogs

Oppure il comando:

Get-ADDomainController -Filter * | Select Name, IsGlobalCatalog

Per verificare che la rimozione del ruolo Global Catalog sia avvenuta correttamente è possibile controllare che siano stato registrati i seguenti eventi:

  • Evento d’informazioni NTDS General 1120 nel Domain Controller Windows Server 2003
  • Evento d’informazioni ActiveDirectory_DomainService 1869 nel Domain Controller Windows Server 2016

Inoltre occorre verificare che il record DNS SRV _gc relativo al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) sia stato rimosso e che sia presente solamente quello relativo al Domain Controller Windows Server 2016 (VMDC2016 nell’esempio), per maggiori informazioni si veda Verify Global Catalog DNS Registrations.

Per verificare i record DNS SRV _gc è anche possibile utilizzare il seguente comando Powershell:

Get-DnsServerResourceRecord -ZoneName “devadmin.local” -RRType “SRV” -Name “_gc._tcp”

Dopo aver rimosso il ruolo di Global Catalog e aver verificato che l’operazione è andata a buon fine riavviare il Domain Controller Windows Server 2003.

Configurazione delle impostazioni di rete per il Domain Controller Windows Server 2003

Per evitare problemi di risoluzione DNS durante il demote occorre configurare il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) affinché usi il Domain Controller Windows Server 2016 (VSDC2012 con IP 10.10.0.20 nell’esempio) come primo server DNS, rimuovendo il riferimento al server DNS sul DC Windows Server 2003

Dopo aver modificato le impostazioni di rete riavviare il server.

Rimozione del server DNS dal Domain Controller Windows Server 2003

Dal momento che il servizio DNS sul Domain Controller Windows Server 2003 (VMDC2003 nell’esempio), non è più di fatto utilizzato all’interno dell’infrastruttura è possibile rimuoverlo tramite Amministrazione Server.

Demote del Domain Controller Windows Server 2003

Avviare il demote eseguendo sul Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) Dcpromo senza specificare che questo è l’ultimo server Domain Controller del dominio, al termine riavviare il server come richiesto.

Nel caso si verifichi l’errore di time out durante l’arresto del servizio NETLOGON, molto probabilmente il Domain Controller Windows Server 2003 non è stato riavviato dopo aver rimosso il ruolo di Global Catalog o non è stato impostato il Domain Controller Windows Server 2016 (VSDC2016 con IP 10.10.0.20 nell’esempio) come server DNS primario. In alternativa potrebbero esserci sul server dei servizi dipendenti da Active Directory che vanno arrestati prima di eseguire il demote. Dopo avere provveduto a risolvere la causa del time out riavviare la procedura di Demote, per maggiori informazioni si veda la KB555078 Netlogon service time out error message while promote domain controller.

Eliminazione dell’oggetto server relativo al Domain Controller Windows Server 2003 dal Sito

Terminata la procedura di demote occorre rimuovere manualmente l’oggetto server relativo al Domain Controller Windows Server 2003 tramite il tool Siti e servizi di Active Directory.

Rimozione e correzione dei record DNS relativi al Domain Controller Windows Server 2003

Il demote del Domain Controller Windows Server 2003 dovrebbe già rimuovere gran parte dei record DNS, ma occorre eseguire alcune operazioni manualmente per quanto riguarda i record NS nel dominio e nel sottodomino _msdcs.

Il sottodominio _msdcs è riservato alla registrazione dei record DNS dei servizi di rete inerenti ai servizi di directory specifici di Microsoft, Active Directory infatti non è altro che l’implementazione Microsoft dei servizi di directory. I client il dominio che interrogano il dominio _msdcs , ad esempio, per un record DNS SRV relativo al servizio LDAP otterranno un record per un server LDAP Microsoft (Domain Controller). Le query verranno eseguite nel formato _Service._Protocol.DcType. _msdcs. DnsDomainName dove DcType sarà il GUID del dominio, _Service l’identificativo del servizio (_ldap per LDAP) e _Protocol l’identificativo del protocollo di rete (_tcp per TCP).

La prima operazione manuale consiste nel controllare che il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) non sia impostato come forwarder e nel caso rimuoverlo.

Di seguito il comando PowerShell per controllare che il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) non sia impostato come forwarder e nel caso rimuoverlo:

Get-DnsServerForwarder

Remove-DnsServerForwarder -IPAddress 10.0.0.10

La seconda operazione manuale consiste nel rimuovere il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dall’elenco dei Server dei nomi per la zona di ricerca diretta del dominio (devadmin.local nell’esempio).

Di seguito il comando PowerShell per rimuovere il record NS (name server) per il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) nella zona del dominio Active Directory (nell’esempio devadmin.local):

Get-DnsServerResourceRecord -zonename “devadmin.local” -RRType “NS” -name “@” | where-object {$_.RecordData.NameServer -match “vsdc2003”} | Remove-DnsServerResourceRecord -zonename “devadmin.local” -name “@”

La terza operazione manuale consiste nel rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio dominio delegato _msdcs sostituendolo con il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio).

Di seguito il comando PowerShell per rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio dominio delegato _msdcs sostituendolo con il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio):

$OldObj = Get-DnsServerResourceRecord -zonename “devadmin.local” -name “_msdcs” -RRType “NS” | where-object {$_.RecordData.NameServer -match “vsdc2003”}

$NewObj = Get-DnsServerResourceRecord -zonename “devadmin.local” -name “_msdcs” -RRType “NS” | where-object {$_.RecordData.NameServer -match “vsdc2003”}

$NewObj.RecordData.NameServer = “vsdc2016.devadmin.local.”

Set-DnsServerResourceRecord -NewInputObject $NewObj -OldInputObject $OldObj -ZoneName “devadmin.local”

La quarta operazione manuale consiste nel rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio _msdcs.

Di seguito il comando PowerShell per rimuovere il riferimento al Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) dal sottodominio _msdcs:

Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” -RRType “NS” -name “@” | where-object {$_.RecordData.NameServer -match “vsdc2003”} | Remove-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” -name “@”

Controllare che non esistano altri record DNS che puntino ancora al Domain Controller Windows Server 2003 ad esclusione del record A nella zona del domino (devadmin.local nell’esempio) dal momento che tale server è membro del dominio.

Di seguito i comandi PowerShell per ricavare i record per il Domain Controller Windows Server 2003 (VSDC2003 nell’esempio) nella zona del dominio Active Directory (nell’esempio devadmin.local) e nel sottodominio dominio delegato _msdcs:

Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” | where-object {$_.RecordData.NameServer -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “_msdcs.devadmin.local” | where-object {$_.HostName -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “devadmin.local” | where-object {$_.RecordData.NameServer -match “vsdc2003”}
Get-DnsServerResourceRecord -zonename “devadmin.local” | where-object {$_.HostName -match “vsdc2003”}

Nel caso fossero ancora presenti altri record è possibile eliminarli manualmente o usare il tool a riga Nltest per eliminare i record DNS che un Domain Controller registra:

nltest /dsderegdns:vmdc2003.sysadmin.lan

Terminata la pulizia dei record DNS riavviare il Domain Controller Windows Server 2016.

Verifica della funzionalità di Active Directory

Terminata la dismissione del Domain Controller Windows Server 2003 (VMDC2003 nell’esempio) è opportuno procedere alla verifica del funzionamento di Active Directory dopo aver arestato il Domain Controller dismesso eseguendo i seguenti controlli descritti nell’articolo Upgrade domain controller a Windows Server 2016 Parte 2 di 4:

  • Verifica dell’esistenza delle share NETLOGON e SYSVOL
  • Verifica del servizio DNS
  • Verifica della replica
  • Verifica dei ruoli Flexible Single Master Operations

Come ultimo controllo rieseguire il best practices analyzer che dovrebbe elencare un nuovo avviso relativo all’opportunità di installare un secondo Domain Controller per garantire la ridondanza e l’errore che occorre impostare il Domain Controller Windows Server 2016 (VSDC2016 nell’esempio) per sincronizzare l’ora con una fonte valida dal momento che esegue il ruolo di PDC Emulator (a riguardo si veda AD DS: The PDC emulator master in this forest should be configured to correctly synchronize time from a valid time source).

Di seguito i comandi PowerShell per eseguire il best practices analyzer per i Derectory Services e visualizzare gli errori e warning:

Invoke-BpaModel –ModelID Microsoft/Windows/DirectoryServices

Get-BpaResult –ModelID Microsoft/Windows/DirectoryServices | Where {$_.Severity -ne “Information”}

Rimozione del server Windows Server 2003

Il server Windows Server 2003 (VSDC2003 nell’esempio) può essere rimosso dal dominio arrestato e poi dismesso, quindi è possibile eliminare l’account computer relativo e il record DNS A.

Successivamente è possibile valutare se può essere conveniente attribuire al Domain Controller Windows Server 2016 (VSDC2012 nell’esempio) l’indirizzo IP che aveva il Domain Controller Windows Server 2003 (VSDC2003 con IP 10.10.0.10 nell’esempio). Questa modifica può essere conveniente se nell’infrastruttura vi sono un numero consistente di client, server o host che si riferiscono all’IP del Domain Controller dismesso tramite impostazioni statiche, ad esempio per risolvere le query DNS per gli host del dominio o, nel caso di host non in domino, come NTP server.

Conclusioni

Il demote di un domain controller Windows Server 2013 è un’operazione semplice che però richiede l’esecuzione di una serie di passaggi in una sequenza precisa in modo da evitare disservizi agli utenti. Gran parte delle operazioni può essere svolta dal domain controller Windows Server 2013 sia tramite tool grafici che tramite PowerShell. Terminato il demote occorre verificare controllare lo stato di salute di Active Directory e controllare il servizio DNS. L’upgrade di domain controller Windows Server 2013 per sostituirlo con un domain controller Windows Server 2016 necessità ancora di un ultimo passaggio ovvero della migrazione della replica SYSVOL da FRS a DFS che sarà oggetto del quarto articolo.

Upgrade domain controller a Windows Server 2016 Parte 4 di 4

$
0
0

Con l’uscita di Windows Server 2016 molte infrastrutture prenderanno la decisione di aggiornare i propri Domain Controller in particolar modo se ancora ne hanno alcuni basati su Windows Server 2003. La dismissione dei Domain Controller Windows Server 2003 consente infatti di trarre vantaggio dalle numerose funzionalità che sono state introdotte in Active Directory rispetto a Windows Server 2003 che rappresenta la versione di sistema operativo più datata da cui è ancora possibile eseguire la migrazione. Nel quarto dei quattro articoli sull’analisi le problematiche relative all’aggiornamento di un’infrastruttura Active Directory basata su Domain Controller Windows Server 2003 verrà analizzata la migrazione della replica SYSVOL da FRS a DFS.

Il primi tre articoli sono disponibili ai seguenti:

Argomenti

  • Vantaggi della replica SYSVOL tramite DFS e pianificazione della migrazione da FRS a DFS
  • Verifica dei prerequisiti e della funzionalità della replica FRS
  • Migrazione del dominio nello stato Prepared
  • Migrazione del dominio nello stato Redirect
  • Migrazione del dominio nello stato Eliminated
  • Conclusioni

Vantaggi della replica SYSVOL tramite DFS e pianificazione della migrazione da FRS a DFS

I Domain Controller utilizzano la directory condivisa SYSVOL per replicare tra loro gli script di logon e i file delle Group Policy. In Windows Server 2000 e Windows Server 2003 la replica della directory SYSVOL avviene tramite File Replication Service (FRS). A partire da Windows Server 2008 viene utilizzata invece la replica DFS se il livello funzionale del domino è Windows Server 2008, in caso contrario si continua ad utilizzare FRS.

Questo significa che nell’infrastruttura di esempio dal momento che il livello funzionale è Windows Server 2003 la replica della directory SYSVOL avviene tramite FRS e non tramite la nuova replica DFS che offre maggior efficienza, maggior scalabilità, utilizza l’algoritmo Remote Differential Compression (RDC) che riduce l’utilizzo della banda di rete e ha un meccanismo di auto ripristino da eventuali corruzioni.

Di seguito lo schema dell’infrastruttura a cui faremo rifermento in cui è presente un DC Windows Server 2016 VSDC2016 e la replica della SYSVOL avviene tramite l’FRS.

In scenari come quello dell’esempio risulta quindi necessario eseguire manualmente la migrazione dalla replica FRS alla replica DFS, sino a che la migrazione non è terminata non devono essere apportate modifiche a script di logon e Group Policy. Durate la migrazione gli utenti possono continuare aa operare e la durata della migrazione è correlata alla replica di AD in quanto la SYSVOL DFSR avviene durante una schedulazione della replica AD, questo significa che la DFRS legge e scrive gli stati ogni 5 min su ogni Domain Controller. Quindi la migrazione può impiegare pochi minuti in piccoli domini, ma alcune ore o giorni in domini estesi.

Per consentire la diagnostica del DFS è consigliabile installare il tool DFS Management la funzionalità Remote Server Administration ToolsFeature Administration ToolsRole Administration ToolsFile Services ToolsDFS Management Tools.

Per maggiori informazioni si veda SYSVOL Replication Migration Guide: FRS to DFS Replication e i seguenti post dello Storage Team:

Per le novità introdotte nella replica DFS in Windows Server 2012 si veda DFS Replication Improvements in Windows Server 2012, mentre in Windows Server 2016 e Windows 10, come indicato in What’s New in File and Storage Services in Windows Server 2016 Technical Preview, è stato implementato un hardening dell’SMB per le connessioni a SYSVOL e NETLOGON su Domain Controller richiedendo l’SMB signing e la mutua autenticazione, come ad esempio Kerberos, per ridurre la probabilità di attacchi man-in-the-middle (per maggiori informazioni si vedano la KB3000483 – MS15-011: Vulnerability in Group Policy could allow remote code execution: February 10, 2015 e il post MS15-011 & MS15-014: Hardening Group Policy).

Verifica dei prerequisiti e della funzionalità della replica FRS

Per verificare che la replica FRS funzioni correttamente è possibile eseguire i seguenti controlli:

  1. Verificare la funzionalità delle share NETLOGON e SYSVOL su ogni Domain Controller mediante i comandi:
    1. net share
    2. dcdiag /test:frssysvol
    3. dcdiag /test:netlogons
    4. dcdiag /e /test:sysvolcheck /test:advertising
  2. Verificare su ogni Domain Controller che il volume su cui risiede la share SYSVOL abbia almeno lo spazio necessario pari alla dimensione della SYSVOL più 10%.
  3. Controllare la funzionalità della replica FRS tramite il tool FRSDIAG (si vedano le indicazioni nel seguente Verifying File Replication during the Windows Server 2008 DFSR SYSVOL Migration – Down and Dirty Style)
  4. Verificare su ogni Domain Controller (nell’esempio esiste solo VMDC2016) che la replica Active Directory funzioni correttamente tramite il comando repadmin /ReplSum.
  5. Verificare su ogni Domain Controller che la chiave di registro HKLM\System\CurrentControlSet\Services\Netlogon\Parameters contenga il valore SysVol impostato a [drive:\]Windows_folder\SYSVOL\sysvol e che contenga il valore SysvolReady impostato a 1.
  6. Controllare che su ogni Domain Controller il servizio Replica DFS (DFSR) sia avviato e impostato per l’avvio automatico.
  7. Il built-in Administrators group deve avere i privilegi di “Manage Auditing and Security Log” su tutti i Domain Controller, come da impostazione di default (a rigaurdo si veda la KB2567421 DFSR SYSVOL Fails to Migrate or Replicate, SYSVOL not shared, Event IDs 8028 or 6016).

Per poter utilizzare la replica DFS occorre aumentare il livello funzionale portandolo almeno a Windows Server 2008, ma se si suppone di inserire nell’infrastruttura solo Domain Controller Windows Server 2016 o superiori conviene portare a Windows Server 2016 il livello funzionale della foresta per beneficiare di tutte le novità introdotte. E’ possibile elevare il livello funzionale del dominio e della foresta tramite il tool i Servizi di dominio di Active Directory come visto precedentemente oppure usare i seguenti comandi PowerShell:

#Raise livello funzionale del dominio a Windows 2016
Set-ADDomainMode -Identity devadmin.local -DomainMode Windows2016

#Verifica livello funzionale del dominio corrente
(Get-ADDomain).DomainMode

#Raise livello funzionale della foresta a Windows 2016
Set-ADForestMode -Identity devadmin.local -ForestMode Windows2016

#Verifica del livello funzionale della foresta corrente
(Get-ADForest).ForestMode

Per verificare che l’aumento del livello funzionale di dominio sia avvenuto correttamente è possibile controllare che sia stato registrato il seguente evento:

  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 2039

Per verificare che l’aumento del livello funzionale della foresta sia avvenuto correttamente è possibile controllare che sia stato registrato il seguente evento:

  • Registro Directory Services – Evento d’informazioni ActiveDirectory_DomainService 2040

Migrazione del dominio nello stato Prepared

Prima di eseguire la migrazione del dominio nello stato Prepared eseguire un backup del system state dei Domain Controller nell’infrastruttura (nell’esempio esiste solo VMDC2016). Terminato il backup dei system state dei Domain Controller nell’infrastruttura, che consentirà di rispristinare la situazione precedente nel caso subentrassero problemi, è possibile impostare il global migration state a Prepared eseguendo da un Domain Controller (preferibilmente il PDC Emulator e comunque non un Read Only Domain Controller) il comando:

dfsrmig /setglobalstate 1

Per verificare che il global migration state è stato impostato a Prepared è possibile utilizzare il seguente comando:

dfsrmig /getglobalstate

Per verificare che tutti i Domain Controller abbiano raggiunto lo stato Prepared è possibile utilizzare il seguente comando:

dfsrmig /getmigrationstate

Per verificare che il global migration state è stato impostato a Prepared è possibile controllare che sia stato registrato il seguente evento:

  • Registro DFS Replication – Evento d’informazioni DFSR 8014

Verificare che su ogni Domain Controller sia stata creata la directory %SystemRoot%\SYSVOL_DFSR e che il contenuto delle directory domain e sysvol in %SystemRoot%\SYSVOL sia stato copiato in %SystemRoot%\SYSVOL_DFSR.

Utilizzate il tool DFS Management per creare un report diagnostico per la directory SYSVOL_DFSR tramite la seguente procedura:

  1. Selezionare il nodo Replication – Domain System Volume
  2. Verificare nel Tab Memeberships che per tutti i Domain Controller sia abilitata la replica per il path %SystemRoot%\SYSVOL_DFSR\domain.
  3. Selezionare Actions – Create Diagnostics Report.
  4. Creare un Health report, un
    Propagation test e un Propagation report verificando che non vi siano errori.

Nello stato di Prepared FRS e DFSR hanno le proprie copie della SYSVOL, le shares SYSVOL e Netlogon si referenziano alla copia FRS, ma è ancora possibile eseguire il rollback tramite il comando:

dfsrmig /setglobalstate 0

Migrazione del dominio nello stato Redirect

Per impostare il global migration state a Redirect eseguire da un Domain Controller (preferibilmente il PDC Emulator e comunque non un Read Only Domain Controller) il comando:

dfsrmig /setglobalstate 2

Per verificare che il global migration state è stato impostato a Redirect è possibile utilizzare il seguente comando:

dfsrmig /getglobalstate

Per verificare che tutti i Domain Controller hanno raggiunto lo stato Redirect è possibile utilizzare il seguente comando:

dfsrmig /getmigrationstate

Per verificare che il global migration state è stato impostato a Redirect è possibile controllare che sia stato registrato il seguente evento:

  • Registro Replica DFS – Evento d’informazioni DFSR 8017

Verificare su ogni Domain Controller tramite il comando net share che le share NETLOGON e SYSVOL mappino rispettivamente le directory:

  • %SystemRoot%\SYSVOL_DFSR\sysvol\NomeDominioDNS\SCRIPTS
    (nell’esempio C:\Windows \ SYSVOL_DFSR\sysvol\devadmin.local\SCRIPTS)
  • %SystemRoot%\SYSVOL_DFSR\sysvol

Usare il tool DFS Management per creare un report diagnostico per la directory SYSVOL_DFSR utilizzando la procedura descritta precedentemente.

Controllare la funzionalità della replica FRS tramite il tool FRSDIAG (si vedano le indicazioni nel seguente Verifying File Replication during the Windows Server 2008 DFSR SYSVOL Migration – Down and Dirty Style). La replica FRS deve continuare ad essere funzionante per garantire la possibilità di un eventuale roll back.

Nello stato di Redirect FRS e DFSR hanno le proprie copie della SYSVOL e le shares SYSVOL e Netlogon si referenziano alla copia DFS, ma è ancora possibile eseguire il rollback allo stato di Prepared tramite il comando:

dfsrmig /setglobalstate 1

oppure è possibile eseguire il rollback allo stato iniziale tramite il comando:

dfsrmig /setglobalstate 0

Migrazione del dominio nello stato Eliminated

Prima di eseguire la migrazione del dominio nello stato Eliminated eseguire le seguenti operazioni:

  1. Verificare tramite il comando repadmin /ReplSum che la replica di Active Directory funzioni correttamente.
  2. Eseguire un backup del system state dei Domain Controller nell’infrastruttura che consentirà di rispristinare la situazione precedente nel caso subentrassero problemi.

Per impostare il global migration state a Eliminated eseguire da un Domain Controller (preferibilmente il PDC Emulator e comunque non un Read Only Domain Controller) il comando:

dfsrmig /setglobalstate 3

Per verificare che il global migration state è stato impostato a Eliminated è possibile utilizzare il seguente comando:

dfsrmig /getglobalstate

Per verificare che tutti i Domain Controller hanno raggiunto lo stato Eliminated è possibile utilizzare il seguente comando:

dfsrmig /getmigrationstate

Per verificare che il global migration state è stato impostato a Eliminated è possibile controllare che sia stato registrato il seguente evento:

  • Registro Replica DFS – Evento d’informazioni DFSR 8019

Verificare su ogni Domain Controller tramite il comando net share che le share NETLOGON e SYSVOL mappino rispettivamente le directory:

  • %SystemRoot%\SYSVOL_DFSR\sysvol\NomeDominioDNS\SCRIPTS
    (nell’esempio C:\Windows \ SYSVOL_DFSR\sysvol\devadmin.local\SCRIPTS)
  • %SystemRoot%\SYSVOL_DFSR\sysvol

Usare il tool DFS Management per creare un report diagnostico per la directory SYSVOL_DFSR utilizzando la procedura descritta precedentemente.

Verificare che su ogni Domain Controller sia stata rimossa la directory % SystemRoot%\SYSVOL.

Arrestare e disabilitare il servizio FRS su tutti Domain Controller, tranne nel caso in cui l’FRS venisse utilizzato per repliche diverse dalla directory SYSVOL. E’ possibile eseguire tale configurazione tramite i comandi:

sc stop ntfrs
sc config ntfrs start=disabled

Per ulteriori informazioni sulla procedura di migrazione si vedano i post sul blog del team di Directory Services:

Conclusioni

La migrazione della replica SYSVOL da FRS a DFS è un’operazione caldamente consigliata dal momento che con Windows Server 2016 l’File Replication Service (FRS) e i livelli funzionali Windows Server 2003 sono deprecati. Inoltre una volta dismessi controller di dominio Windows Server 2003 per avere nell’infrastruttura solo controller di dominio Windows Server 2008 non vi è più alcuna ragione di utilizzare l’FRS per la replica della SYSVOL dal momento che il DFS, come spiegato precedentemente, offre maggiori prestazioni e robustezza.


Gestione centralizzata di Java Virtual Machine in ambienti distribuiti e con l’utilizzo delle Group Policy Preferences

$
0
0

Dalla versione 1.7 di java le impostazioni di sicurezza sono cambiate rispetto alle versioni precedenti e questa modalità di gestione è stata mantenuta anche nella successiva versione 1.8.

In un’ambiente distribuito, con alcune centinaia di client la gestione della Java Virtual Machine può essere un problema, in termini di tempo e di efficacia delle soluzioni adottate.

Le Group Policy possono aiutare in modo significativo, ma non risolvono il problema, senza considerare il fatto che, dal punto di vista della sicurezza, è bene che l’amministratore di rete possa definire con precisione i confini delle “eccezioni” con cui l’ambiente Java dovrà operare.

Non esistono strumenti dedicati alla configurazione distribuita di Java, è possibile “confezionare” pacchetti installabili in rete già preconfigurati, ma, le successive modifiche di impostazione, risultano difficoltose e dispendiose in termini di tempo.

In questo articolo riporto la soluzione che ho adottato per la gestione della JVM sui client operanti in rete, ho avuto modo di approfondire le varie opzioni di gestione e di identificare quella che nel mio caso è risultata essere la più efficace, più avanti cerco di evidenziare alcune caratteristiche di JVM che se utilizzate al meglio posso risultare molto utili in proprio nella sua configurazione centralizzata.

Descrizione della struttura dell’ambiente Java

Essendo un’ambiente che è in grado di essere utilizzato su vari sistemi operativi, Jvm utilizza poco le chiavi del registry ed ha le proprie configurazioni archiviate all’interno di una serie di file di configurazione.

Per quanto riguarda il registro, in ambiente Windows Java archivia le informazioni in:

HKLM\SOFTWARE\Javasoft\

Utilizzando le impostazioni di registro è possibile, come si vedrà più avanti, disattivare l’aggiornamento automatico dell’ambiente Java.

La maggior parte delle configurazioni ed impostazioni sono però archiviate in alcuni file di configurazione, normalmente, tutto l’ambiente si trova all’interno del profilo utente nel percorso: “%userprofile%\AppData\LocalLow\Sun\Java\Deployment

le impostazioni possono quindi variare da profilo a profilo sullo stesso pc.

Tuttavia è possibile operare in modo che si utilizzi una configurazione basata su macchina in modo che ogni utente che accede recepisca le stesse impostazioni.

In ambienti gestiti può essere necessario che le impostazioni, in particolare quelle di sicurezza, siano uniformi e soprattutto non modificabili dagli utilizzatori.

Java utilizza principalmente 3 file per la definizione delle impostazioni

  • Deployment.config
  • Deployment.properties
  • Exception.sites

Il primo file deployment.config imposta l’intero ambiente in modo da operare secondo una logica di macchina piuttosto che di utente.

Il file deployment.properties contiene le Informazioni per reperire il file exception.sites che a sua volta riporta le indicazioni per I siti trusted.

  • Su sistemi Windows queste configurazioni si trovano di solito in:
    • <Windows Directory>\Sun\Java\Deployment\

In realtà il solo file deployment.config deve essere in questo percorso i restanti file possono essere tranquillamente posizionati in altre zone del disco. Il fatto di utilizzare una cartella in un percorso protetto, come è quello della directory di sistema, permette una maggior protezione dei file, non essendo modificabili se non da utenti amministratori.

Struttura dei file di configurazione

Deployment.config

Come già detto prima la presenza di questo file fa sì che java passi ad una impostazione di sistema escludendo le singole impostazioni utente, almeno per le impostazioni dichiarate.

All’interno devono essere presenti due valori:

  • deployment.system.config

  • deployment.system.config.mandatory

Il primo configura l’ambiente per ricercare il file Deployment.properties e deve contenere in percorso completo per raggiungere il file.

Il secondo è un valore vero/falso se impostato a “true” fa si che java debba obbligatoriamente raggiungere e leggere il file di configurazione Deployment.config altrimenti non è consentito l’utilizzo dell’ambiente Java.

Se l’impostazione è “false” viene effettuata la ricerca del file nel percorso dichiarato e, se presente viene utilizzato questo, altrimenti vengono ignorate le impostazioni e l’esecuzione segue le impostazioni di default.

Esempio di file deployment.config

deployment.system.config.mandatory=true

deployment.system.config=file:///C:/Windows/Sun/Java/Deployment/deployment.properties

l’impostazione del percorso per il file deployment.properties DEVE seguire la struttura riportata sopra.

Deployment.properties

È il file che contiene e regola il comportamento di tutto l’ambiente java, si può comporre di molte impostazioni, che vanno dalla gestione degli aggiornamenti alla gestione ed impostazione della cache locale a java etc.

In generale ogni valore impostato ha un suo corrispondente che lo integra definendolo come non modificabile tramite l’impostazione grafica, p.es.

deployment.webjava.enabled=true

deployment.webjava.enabled.locked

abilita il plugin java all’interno del browser ed il secondo valore, terminante con .locked lo blocca.

È possibile anche introdurre commenti all’interno del file a patto che la riga contenente il commento inizi con #

deployment.security.level=MEDIUM

è utile per impostare il valore della security generale della JVM

Esempio di file deployment.properties

# Esclusione Aggiornamenti Java

deployment.javaws.autodownload=never

deployment.expiration.check.enabled=false

deployment.expiration.decision=never

deployment.expiration.decision.suppression=true

# Abilitazione Plugin nel Browser

deployment.webjava.enabled=true

deployment.webjava.enabled.locked

# Impostazioni di sicurezza e dichiarazione del File di esclusioni

deployment.security.level=MEDIUM

deployment.security.level.locked

deployment.user.security.exception.sites=c:\\windows\\sun\\java\\deployment\\exception.sites

Exception.sites

Questo file è un puro elenco di URL, piuttosto che di indirizzi IP che necessitano di eccezioni nella gestione della sicurezza, in questo post è descritta la struttura del file e le opzioni di modifica.

Esempio di file di eccezione

http://host.dominio.loc/cartella/

http://host.dominio.loc/

http://portale.dominio.loc:8080/

Figura 1: Impostazioni di sicurezza bloccate

le due immagini riportano la stessa configurazione di sicurezza della JVM con l’impostazione dei valori deployment.security.level=MEDIUM deployment.webjava.enabled=TRUE

Figura 2: Impostazioni di sicurezza sbloccate

a destra con la dichiarazione del valore. locked presente a sinistra senza la riga che ne dichiara il blocco

Gestione della sicurezza di JVM con l’ambiente di Group Policy

Abbinando le funzioni disponibili tramite l’ambiente GPO è possibile eseguire la configurazione centralizzata di JVM in un’ambiente distribuito.

Java utilizza anche alcune chiavi di registro, ad esempio è possibile bloccare l’accesso alla configurazione degli aggiornamenti con l’impostazione della chiave di registro EnableJavaUpdate a 0

la chiave è contenuta in: HKLM\SOFTWARE\JavaSoft\Java Update\Policy

in questo caso non viene visualizzato il tab di aggiornamento.

I file di gestione dell’ambiente possono essere creati sulle varie postazioni tramite l’impiego di una GPO Preference che copia il contenuto da una posizione di rete al percorso locale.

Java potrebbe anche essere configurato per “leggere” le impostazioni direttamente da una share di rete, ma questa soluzione, nel caso in cui non sia disponibile la share stessa, renderebbe le postazioni non funzionanti.


impostazioni di GPO preference che copia i tre file di configurazione analizzati in precedenza da una posizione in lan alla cartella di sistema della postazione

Per approfondimenti:

Spiegazione in dettaglio per le opzioni configurabili nel file deployment.properties

Java 8

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/properties.html

Java 7

http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/jcp/properties.html

Deploy e Gestione di Firefox in ambiente Enterprise

$
0
0

Premessa

Abbiamo trattato in questo articolo il tema della gestione di Chrome in un ambiente Enterprise, per “completare” la panoramica dei browser installabili, con questo nuovo articolo vorremmo analizzare i limiti e di conseguenza le alternative possibili, nella gestione di Firefox in un ambiente distribuito.

Prima di addentrarci nelle varie configurazioni è necessario però fare alcune precisazioni.

  • Firefox non è in grado per sua concezione di utilizzare lo store di certificati messo a disposizione dal sistema operativo nel quale è eseguito, entrambi gli store sia di macchina che di utente non sono utilizzati.
  • Una possibilità per importare i certificati è offerta da CCK2 un Add-On per Firefox che consente di ovviare a questa limitazione e che permette anche di definire ulteriori impostazioni.
    • È stato annunciato, che a partire dalla versione 49 del browser questo limite dovrebbe essere superato. Nella maggior parte delle installazioni questo comportamento può non essere vincolante, ma dove sono utilizzati certificati generati da una CA interna, oppure certificati self-signed distribuiti con Group Policy, Firefox non sarà in grado di considerarli attendibili ed i siti acceduti, presenteranno sempre avvisi di sicurezza legati a SSL.
  • Firefox non dispone di Group Policy aggiornate per la sua gestione, o meglio esiste un progetto disponibile su Source Forge che mette a disposizione una serie di file adm di management ma con funzionalità ancora limitate e gli ultimi aggiornamenti non sono proprio recenti.
  • È disponibile una soluzione commerciale che, tramite GPO, permette la gestione di Firefox ed anche la gestione dei certificati, ovviando alla limitazione a cui si accennava prima. Tutta la documentazione e l’eventuale valutazione è disponibile qui .

Verificato lo scenario che ho brevemente riassunto sopra, ho avuto modo facendo un po’ di ricerche, di “scoprire” un progetto che si basa su Firefox ma che è stato modificato al fine di essere gestibile tramite Group Policy.

FrontMotion un’alternativa a Firefox

Il progetto si chiama FrontMotion è gratuito ed ha, fino ad ora, avuto manutenzione costante, procedendo anche nelle sue versioni di pari passo con Firefox stesso.

Per chi ha necessità di gestire un browser di questa famiglia e non ritiene di dover utilizzare soluzioni commerciali, la scelta sembrerebbe essere questa, in ogni caso rimane ancora per qualche tempo il limite della gestione dei certificati cui accennavo sopra.

Il risultato che si ottiene scaricando i file adm(X) ed implementando una Group Policy per la gestione è analogo a ciò che si ottiene con il lockdown di Firefox tramite il file mozilla.cfg, ossia è possibile definire centralmente una serie di impostazioni che risulteranno bloccate agli utenti.

FrontMotion e Mozilla sono identici?

FrontMotion non si può considerare a tutti gli effetti Mozilla, soprattutto dal punto di vista della sicurezza, nel senso che è un Browser che vive a parte, infatti sul sito di FrontMotion viene dichiarato:

“Note: FrontMotion Firefox Community Edition is not Mozilla Firefox since there are code changes”

Questa dichiarazione è da tenere presente soprattutto nel caso si voglia utilizzare come soluzione alternativa a FireFox, anche sul sito CVE dove sono riportate le varie vulnerabilità conosciute, questo browser non è recensito e quindi a priori non se ne conoscono le vulnerabilità.

Sul sito è disponibile un forum di supporto discretamente frequentato, mentre il download del pacchetto di installazione e dei file di configurazione da implementare nelle GPO è a questo link.

Come ho già riportato sopra FrontMotion riprende la distribuzione di Firefox rilasciando un pacchetto di installazione basato sulla versione ESR (Extended Support Release) del browser Mozilla.

Questa versione è indicata per Scuole, università, aziende etc. “…. for use by organizations including schools, universities, businesses and others who need extended support for mass deployments….”. (la citazione è presa direttamente dal sito).

Questo in sintesi è lo scenario con cui ci dobbiamo confrontare nel momento in cui decidiamo di distribuire e gestire questo browser in modo centralizzato.

Configurazione ed impostazione delle GPO

Scaricati i file di gestione del prodotto e creata la GPO per la sua gestione è possibile definire le varie impostazioni del browser, Home Page, proxy etc.

La cosa che è utile sapere è che le impostazioni disponibili sono soltanto “Per Machine” quindi dobbiamo considerare il fatto che non sarà possibile implementare configurazioni basandosi sull’utente, ma che ogni utilizzatore della postazione avrà le stesse impostazioni.

le impostazioni disponibili, una volta importati i file ADM(x) saranno disponibili all’interno del ramo Mozilla Advanced Options raggruppate per aree di gestione

Figura 1: definizione della GPO di gestione

nell’area Network è possibile definire tutte le impostazioni relative alla modalità di connessione del browser

Figura 2: impostazione delle modalità di connessione ad internet

attivando la proprietà relativa all’utilizzo di un proxy per la connessione ad internet e la relativa porta

Figura 3: impostazione del proxy HTTP

Figura 4:impostazione della porta di ascolto del proxy

Le impostazioni relative alla Home Page sono invece disponibili nel gruppo Startup

Figura 5: impostazione della Home Page

È possibile gestire il browser in modo completo utilizzando un numero elevato di impostazioni, per brevità ho elencato qui le due principali, proxy ed home page, per un elenco completo è utile riferirsi qui http://kb.mozillazine.org/About:config_entries

Verifica delle impostazioni applicate

In caso di problemi di funzionamento o di comportamenti non coerenti con le impostazioni definite, può essere necessario verificare quali impostazioni sono effettivamente recepite dalla postazione

E’ possibile utilizzare il comando rsop al fine di interrogare il sistema operativo per le policy applicate.

(siccome quelle di FrontMotion sono policy di macchina l’utente deve avere i permessi sufficienti per eseguire la ricerca)

Figura 6: output del comando RSOP sul client gestito

Oppure direttamente dal browser Front Motion è possibile vedere direttamente le impostazioni bloccate, ossia quelle che definite centralmente dalle GPO non risultano modificabili all’utente, questa informazione si ottiene digitando direttamente nella barra degli indirizzi about:config

Questo comando a prescindere che il browser sia gestito o meno è utile per ottenere il riassunto delle impostazioni di Firefox

Figura 7: Interrogazione del browser per verificare le impostazioni gestite

riferimenti:

FrontMotion home page

http://www.frontmotion.com/

Firefox e CA di sistema

https://wiki.mozilla.org/CA:AddRootToFirefox

descrizione delle voci di configurazione del browser

http://kb.mozillazine.org/About:config_entries

Sourceforge progetto FirefoxADM (non aggiornato di recente)

https://sourceforge.net/projects/firefoxadm/

Rilasciata la versione 1.7 di Microsoft Advanced Threat Analytics (ATA)

$
0
0

È stata rilasciata la nuova versione 1.7 di Microsoft ATA, di cui ho parlato nei precedenti articoli analizzando l’architettura del sistema ed i suoi prerequisiti.

Chi avesse avuto l’interesse per questo utile prodotto di analisi delle potenziali minacce di sicurezza della propria infrastruttura Active Directory ( e non solo ), troverà interessanti le implementazioni nella nuova versione.

La prima novità che risulta dalle note di rilascio è relativa al supporto per le nuove piattaforme 2016 e Windows Server installato in modalità Core, il Lightweight Gateway Agent era, finora utilizzabile solo sulle edizioni “grafiche” fino alla versione 2012 R2.

La nuova versione 1.7 supporta ora anche l’installazione della componente ATA Center sulla piattaforma Windows Server 2016.

Questa versione vede miglioramenti nelle tre aree tipiche di ATA:

  • sono state migliorate le metodologie di rilevazione degli attacchi
  • è stata modificata l’infrastruttura implementando 3 ruoli ATA Administrator, ATA Analyst e ATA Executive
  • è stata rivista la user-experience migliorando il supporto per differenti ATA Gateway in particolare per la gestione dei loro aggiornamenti.

Per quanto riguarda gli attacchi volti al riconoscimento dell’infrastruttura, meglio noti con il termine di reconnaissance, relativamente ad Active Directory, è stata migliorata la rilevazione di attacchi con l’obiettivo di ottenere informazioni sfruttando il protocollo SAMR (Security Account Manager Remote).

Sono inoltre state implementate nuove metodologie di rilevazione degli attacchi di tipo Pass-the-Hash e Pass-the-Ticket

Per chi volesse approfondire è disponibile l’ interessante whitepaper Mitigating pass the ticket on Active Directory, scritto dal CERT Computer Emergency Response Team, che ne descrive le tecniche di mitigazione.

Collegate alle tecniche di attacco citate sopra, sono state migliorate le rilevazioni relativamente ai protocolli che possono usare Kerberos per l’autenticazione e che sono sfruttati per ottenere ticket di accesso.

È anche stata dichiarato un problema relativamente alla procedura di aggiornamento automatico della componente Gateway che può raggiungere un time-out di 100 secondi nell’update e conseguentemente fallire.

Nel caso ci si imbatta in questo inconveniente, è consigliato effettuare il download del package di installazione del Gateway e la sua reinstallazione manuale, escludendo quindi l’update automatico.

Installare Windows Server 2016 Nano Server utilizzando NanoServer Image Builder

$
0
0

NanoServer è una versione di Windows Server 2016 che ha la peculiarità di avere un footprint estremamente leggero ed è totalmente senza interfaccia grafica. La sua gestione e tutta la procedura di installazione avviene infatti per mezzo di cmdlet Powershell.

È possibile installare NanoServer tramite una serie di passi manuali, abbastanza articolati, seguendo la procedura descritta nell’articolo Technet Nano Server Quick Start.

Tuttavia con il rilascio della versione RTM del sistema operativo è disponibile il tool Nano Server Image Builder che facilita non poco la sua distribuzione.

Fondamentalmente Image Builder non fa altro che raccogliere una serie di informazioni relative alla tipologia di installazione che vogliamo effettuare (server fisico, infrastruttura virtuale etc.) e compilare il comando powershell di deploy del Nano. (fig5) ed eseguirlo, esattamente come faremmo seguendo le istruzioni passo-passo.

Il vantaggio di questa “modalità grafica” di installazione è che vengono anche compilati i file di automazione dell’installazione che fino ad ora era necessario compilare a parte.

Deploy tramite creazione di VHD o VHDX

Eseguendo il tool viene richiesto per prima cosa il modo di deploy, ed a seconda delle esigenze si possono effettuare due scelte, installazione classica su file VHD(x) o creazione di un device USB con la struttura di installazione pronta.

Figura 1

Proseguendo è possibile impostare se il deploy avverrà su un’infrastruttura virtuale o su un hardware fisico, in entrambe i casi è comunque richiesto di specificare il nome del file di tipo VHD o VHDx su cui avverrà l’installazione, questo perché anche in caso di un’installazione “fisica” il sistema verrà configurato per eseguire un boot da VHD.

Figura 2

Nelle videate successive è possibile specificare il tipo di versione voluta (Standard o Datacenter), i vari ruoli e funzionalità richieste al server ed eventuali driver che potrebbero essere necessari al suo funzionamento.

Figura 3

Figura 4

Avanzando ulteriormente si può definire il nome macchina e la password dell’amministratore, l’appartenenza ad un dominio e la configurazione di rete, mentre le ultime due videate del tool consentono di gestire eventuali comandi da inserire nel file setupcomplete.cmd che fa parte del processo automatico (Unattended) di personalizzazione del primo avvio di un sistema Windows.

Per approfondimenti su questa modalità di automazione, utilizzabile anche in altri ambiti e non necessariamente solo per NanoServer, è utile seguire questo articolo.

Alla fine dell’intero processo, se il tutto termina in modo corretto e senza errori, è riassunto il comando Powershell completo che è stato utilizzato da Image Builder di Nano eseguire i passi del deploy dell’installazione.

Figura 5

Il comando evidenziato in figura 5, se venisse utilizzato seguendo la procedura “manuale” di installazione citata in precedenza, ci porterebbe allo stesso risultato.

Deploy tramite chiavetta USB avviabile

Se invece all’avvio di Image Builder Tool si sceglie di utilizzare lo scenario di deploy su chiavetta USB avviabile, sarà possibile impostare le opzioni relative al tipo di avvio da effettuare (UEFI oppure Bios tradizionale) così come definire le dimensioni della partizione principale ed il tipo di filesystem

Figura 6 creazione di un dispositivo USB di avvio

Un’ultima scelta permette di racchiudere l’intera installazione in un file ISO che sarà possibile masterizzare successivamente.

Figura 7 indicazione di utilizzo del device creato e del relativo .iso file

Debug e diagnosi dei problemi di installazione

L’intero processo genera una serie di file di log che vengono creati in un percorso che è possibile specificare contestualmente alla impostazione del nome del file VHD(x).

In particolare il file NanoServerImageBuilder.log riporta anche l’intero comando Powershell già citato in precedenza

New-NanoServerImage -MediaPath 'g:\' -Edition 'Standard' -DeploymentType Guest -TargetPath 'F:\nanoserver\nanoserver.vhdx' -MaxSize 8589934592 -EnableRemoteManagementPort -InterfaceNameOrIndex '1' -Ipv4Address '192.168.0.10' -Ipv4Dns '192.168.0.2' -Ipv4SubnetMask '255.255.255.0' -Ipv4Gateway '192.168.0.1' -EnableEMS -EMSPort 1 -EMSBaudRate 115200 -ComputerName 'nanoserver01' -SetupCompleteCommand ('tzutil.exe /s "W. Europe Standard Time"') -LogPath 'C:\Users\admin\AppData\Local\Temp\NanoServerImageBuilder\Logs\2016-10-17 21-35'

Per ulteriori approfondimenti si veda l’articolo in lingua inglese sullo strumento

https://technet.microsoft.com/en-us/windows-server-docs/get-started/deploy-nano-server

Active Directory Domain Services Windows Server 2016 Meetup TTG – ICTPower giovedì 17 novembre

$
0
0

Windows Server 2016 introduce una serie di novità in vari ambiti per rispondere alle nuove esigenze di sicurezza, virtualizzazione di infrastrutture e utilizzo del cloud.
Nel meetup del 17 novembre organizzato da Torino Technologies Group in collaborazione con ICTPower.it Ermanno Goletto (MVP Cloud and Datacenter Management e MVP Enterprise Mobility) e Roberto Massa (MVP Cloud and Datacenter Management) dopo un’overview delle principali novità approfondiranno quelle legate agli Active Directory Domain Services e l’impatto che la deprecazione, in Windows Server 2016, del File Replication Service e dei Windows Server 2003 functional levels avrà sulle infrastrutture.

A tal riguardo verranno analizzate in modo approfondito la procedura e le best practices di migrazione dei domain controller Windows Server 2003, ormai fuori supporto, o da versioni precendenti di Windows Server in modo da adeguare l’infrastruttura ai requisiti del nuova versione del sistema operartivo server e beneficiare delle nuove funzionalità introdotte con i successivi livelli funzionali di dominio e di foresta.
L’evento inizia alle 18 e termina alle 20 e si terrà presso il Microsoft Innovation Center (MIC) di Torino in c/o ISMB Via Pier Carlo Boggio 61 10138 Torino. Dopo le 20.00 per chi desidera continuare a chiacchierare può concludere la serata in pizzeria.

Di seguito l’agenda della sessione:

  • Novità in Windows Server 2016
  • Deploy di un DC WS2016
  • Demote DC WS 2003
  • Operazioni post migrazione

Ransomware protection in Windows 10 Anniversary Update

$
0
0

Col rilascio della versione 1607 di Windows 10 denominata “Anniversary Update” il 2 agosto 2016 sono state introdotte una serie di funzionalità nei componenti del sistema operativo atti a mitigare le infezioni da Ransomware come descritto nel post Defending against ransomware with Windows 10 Anniversary Update e nel documento Ransomware Protection in Windows 10 Anniversary Update.

Il Ransomware è una tipologia di malware particolarmente diffuso in quanto consente agli autori di ottenere guadagni stimolando di conseguenza la diffusione e il miglioramento delle metodologie d’infezione. In estrema sintesi il modus operandi di un Ransomware è molto semplice è si basa sulla inoculazione di un codice malevolo su dispositivo tramite che impedisce l’accesso al dispositivo e/o ai file su di esso sino a che non viene pagato un riscatto (a riguardo si veda anche il post Anatomia degli attacchi Crypto-Ransomware).

La pericolosità di questo tipo di malware è legata oltre che agli aspetti lucrativi anche al fatto che le tecniche di attacco utilizzate stanno diventando sempre più complesse ed efficaci col risultato che il numero delle vittime di queste tipo tipo di minacce è sempre maggiore. Il documento Ransomware Protection in Windows 10 Anniversary Update mostra infatti come le infezioni da Ransomware identificate da Windows Defender dal dicembre 2005 a luglio 2016 hanno subito un incremento del 400%.

Nella sezione del Malware Protection Center dedicata ai Ransomware oltre ad una serie di informazioni dedicate a questo tipo di malware sono disponibili anche dati sulla diffusione dello stesso e tal riguardo l’Italia risulta il secondo paese, dopo gli Stati Uniti, con maggiori infezioni da Ransomware nel periodo tra dicembre 2015 e maggio 2016.

Il modo più comune con cui i Ransomware infettano i device è attraverso mail che contengono allegati o link malevoli o tramite il browser cercando di indirizzare l’utente verso siti malevoli o tramite compromissione di siti.

A riguardo si veda anche il post The 5Ws and 1H of Ransomware in oltre al dettaglio dei dati statistici vengono anche fornite informazioni generali sui Ransomware, su come reagire ad un’infezione e sull’evoluzione di questo fenomeno che evidenzia come la componente lucrativa abbia indotto una sua rapida evoluzione a partire dal 2013 fino ad arrivare alla creazione di una piattaforma Ransomware-as-Service che inevitabilmente porterà a malware sempre più efficaci.

Di seguito alcune analisi del funzionamento di alcuni Ransomware che sono circolati nel 2016 pubblicate da varie fonti, da cui si può capire quanto siano prolifici e fantasiosi gli autori di tali malware:

Per avere informazioni sulle ultime novità in fatto di Ransomware vi segnalo i post nella categoria dedicata sul blog Microsoft Malware Protection Center disponibili al seguente Malware Protection Center – Ransomware e il sito italiano http://www.ransomware.it/ a cui è anche possibile fare segnalazioni.

La protezione dagli attacchi informatici viene ottenuta agendo a più livelli e questo mantra vale soprattutto in questo caso e le novità introdotte in Windows 10 “Anniversary Update” vanno appunto in questa direzione e come mostrato nel documento Ransomware Protection in Windows 10 Anniversary Update
i device con Windows 10 sono il 58% meno vulnerabili ai Ransomware rispetto a quelli con Windows 7.

Scendendo nel dettaglio la strategia di difesa implementata in Windows 10 “Anniversary Update” è focalizzata sulla prevenzione, il rilevamento e la risposta all’infezione e per raggiugere questi obbiettivi come detto precedentemente si è operato su vari componenti e funzionalità del sistema.

Il primo livello di prevenzione è gestito dal browser Microsoft Edge è stata rilasciata una nuova versione che punta a fare in modo di rendere Edge uno dei browser più sicuri rendendolo immune da exploit di tipo zero-day. Per aumentare la sicurezza del browser il plug-in Adobe Flash Player, più volte oggetto di exploit, verrà eseguito in un container isolato, inoltre è stato eseguito un locked down Microsoft Edge per far sì che un eventuale exploit eseguito nel browser non possa eseguire un altro programma in modo da bloccare download silenti ed esecuzioni nascoste di payloads nel dispositivo.

Per un approfondimento su tutte le mitigations introdotte in Microsoft Edge si veda Security enhancements for Microsoft Edge che riporta anche come si è evoluto l’approccio dell’esecuzione confinata di processi a rischio di compromissione nelle varie versioni dei browser Microsoft:

Internet Explorer 7 on Windows Vista was the first web browser to provide a browsing sandbox, called Protected Mode. Protected Mode forced the part of the browser that rendered web content to run with less privilege than the browser controls or the user, providing a level of isolation and protection should a malicious website attempt to exploit a bug in the browser or one of its plug-ins.

Internet Explorer 10 introduced Enhanced Protected Mode (EPM), based on the Windows 8 app container technology, providing a stronger sandbox by adding deny-by-default and no-read-up semantics. EPM was turned on by default in the Windows 8 and Windows 8.1 immersive browser, but was optional on the Internet Explorer 10 and Internet Explorer 11 desktop versions.

Microsoft Edge takes the sandbox even farther, running its content processes in app containers not just by default, but all of the time. Because Microsoft Edge doesn’t support 3rd party binary extensions, there’s no reason for it to run outside of the containers, ensuring that Microsoft Edge is more secure.

Per maggiori dettagli si veda anche il post Introducing Windows Defender Application Guard for Microsoft Edge del Microsoft Edge Team.

Oltre alla sandbox realizzata mediante i container sono state migliorate le seguenti feature:

  • Address Space Layout Randomization (ASLR) che permette di scongiurare attacchi al kernel rendendo randomiche le locazioni di memoria usate dal kernel per rendere difficoltoso ad eventuali exploit la sovrascrittura di tali locazioni per eseguire codice malevolo a livello kernel
  • SmartScreen Filter URL migliorato grazie all’estensione dell’insieme dei dati utilizzati che ora provengono da fonti che appartengono al Microsoft Intelligent Security Graph il quale ha permesso negli ultimi sei mesi il blocco d circa 200.000 exploit kit. Per approfondimenti sulla feature di SmartScreen si veda Manage Privacy: SmartScreen Filter and Resulting Internet Communication.

Il secondo livello di prevenzione riguarda le email che è il vettore primato di infezione da Ransomware, infatti secondo le analisi condotte dai Microsoft sui proprio sistemi di messaggistica elettronica nel mese di luglio 2016 le email infette sarebbero ben 58 milioni.

Per innalzare la protezione da email contenenti ransomware i Microsoft email services utilizzano tecniche di difesa basate su machine learning e tecniche euristiche per rilevare i malware e generare velocemente un firma delle email pericolose che verrà utilizzata per aggiornare rapidamente Windows Defender che beneficia anch’esso di tecniche euristiche per la rilevazione.

In Windows 10 Anniversary Update il rilevamento dei Ransomware è affidato a
Windows Defender che è stato migliorato tramite le feature cloud-based protection e automatic sample submission per consentire una risposta veloce a malware non ancora conosciuto grazie ai servizi di machine learning in cloud, tecniche euristiche e allarmi ottenuti tramite Intelligent Security Graph, Per maggiori dettagli si veda Block at First Sight in cui viene descritto il funzionamento della funzionalità Windows Defender cloud protection e la relativa configurazione:

When a Windows Defender client encounters a suspicious but undetected file, it queries our cloud protection backend. The cloud backend will apply heuristics, machine learning, and automated analysis of the file to determine the files as malicious or clean.

If the cloud backend is unable to make a determination, the file will be locked by Windows Defender while a copy is uploaded to the cloud. Only after the cloud has received the file will Windows Defender release the lock and let the file run. The cloud will perform additional analysis to reach a determination, blocking all future encounters of that file.

Suspicious file downloads requiring additional backend processing to reach a determination will be locked by Windows Defender on the first machine where the file is encountered, until it is finished uploading to the backend. Users will see a longer “Running security scan” message in the browser while the file is being uploaded. This might result in what appear to be slower download times for some files.

Block at First Sight requires a number of Group Policy settings to be configured correctly or it will not work. Usually, these settings are already enabled in most default Windows Defender deployments in enterprise networks.

There is no specific individual setting in System Center Configuration Manager to enable Block at First Sight. It is enabled by default when the pre-requisite settings are configured correctly.

Le analisi del mese di luglio 2016 hanno dato come risultato che l’utilizzo di tecniche euristiche ha permesso di rilevare il 15% dei ransomware identificati, mentre il restante 85% è stato rilevato tramite l’utilizzo di signatures e cloud-based protection.

Un’altra importante novità in Windows 10 Anniversary Update è Windows Defender Advanced Threat Protection (ATP) di cui ho parlato nel post Windows Defender Advanced Threat Protection che gestisce la fase di risposta al malware
consentendo di analizzare come è avvenuta un’infezione per permettere di reagire con cognizione di causa per mettere in sicurezza l’infrastruttura e chiudere le falle che hanno permesso al malware di sviluppare l’attacco.

Di seguito un esempio di un’analisi che Windows Defender Advanced Threat Protection (ATP) può fornire:

I miglioramenti in Windows 10 e nell’Anniversary Update dal punto di vista della sicurezza sono stati così tanti da indurre la divisione Security Research & Defense a non investire oltre su EMET (Enhanced Mitigation Experience Toolkit) rilasciato nel 2009 la cui end of life è stata fissata per il 31 luglio 2018. Questa scelta dipende dal fatto EMET ha dei limiti dovuti al fatto che non è integrato nel sistema operativo e questo comporta che le sue protezioni in certi casi possano essere aggirate, inoltre EMET comporta inevitabilmente un overhead dal punti vista prestazionale e talvolta delle incompatibilità. Per maggior informazioni sulle decisioni che hanno portato alla decisione di non sviluppare nuove versioni di EMET si veda il post Moving Beyond EMET:

For Microsoft, EMET proved useful for a couple of reasons. First, it allowed us to interrupt and disrupt many of the common exploit kits employed by attackers at the time without waiting for the next Windows release, thus helping to protect our customers. Second, we were able to use EMET as a place to assess new features, which directly led to many security innovations in Windows 7, 8, 8.1, and 10.

But EMET has serious limits as well – precisely because it is not an integrated part of the operating system. First, many of EMET’s features were not developed as robust security solutions. As such, while they blocked techniques that exploits used in the past, they were not designed to offer real durable protection against exploits over time. Not surprisingly, one can find well-publicized, often trivial bypasses, readily available online to circumvent EMET.

Second, to accomplish its tasks, EMET hooks into low-level areas of the operating system in ways they weren’t originally designed. This has caused serious side-effects in both performance and reliability of the system and the applications running on it. And this presents an ongoing problem for customers since every OS or application update can trigger performance and reliability issues due to incompatibility with EMET.

Un altro motivo che ha indotto l’abbandono del progetto EMET è che in Windows10 sono disponibili tutte le mitigations che sono contenute in EMET come DEP, ASLR, and Control Flow Guard (CFG) oltre ad una una nuova serie di mitigations che consentono di evitare l’aggiramento della UAC ed exploits che hanno il brower come obbiettivo, a riguardo si vedano le slide della sessione Windows 10 Mitigation Improvements tenuta da David Weston della divisione Windows Offensive Security Research (OSR) e Matta Miller della divisione Microsoft Security Response Center (MSRC) a blackhat USA 2016 nellagosto 2016. In tale sessione vengono presenti dati statistici in cui appare evidente come anche se le vulnerabilità negli ultimi anni abbiano subito un aumento la possibilità di riuscire a trasformarle in exploit è stato ridotto grazie alle mitigations.

In Windows 10 sono poi disponibili feature come Device Guard e Credential Guard che permettono l’utilizzo della virtualizzazione per la protezione exploits di sicurezza e malware (va precisato però che tali feature sono disponibili solo nella versione Enterprise ed Education di Windows 10 oltre che in Windows Server 2016, per un confronto delle funzionalità presenti nelle varie versioni di Windows 10 si veda Compare Windows 10 Editions).

Nonostante sia stata accolta la richiesta dei client di estendere l’end-of-life di EMET di 18 mesi portandola, come detto precedentemente, al 31 luglio 2018 l’indicazione data dalla divisione di Microsoft Security Research & Defense nel post Moving Beyond EMET è quella di migrare a Windows 10 non appena possibile dal momento che questa versione di sistema operativo è pensato per rispondere alle moderne minacce informatiche e pone la sicurezza tra i sui obbiettivi nell’ambito delle sue future evoluzioni:

Finally, we have listened to customers’ feedback regarding the January 27, 2017 end of life date for EMET and we are pleased to announce that the end of life date is being extended 18 months. The new end of life date is July 31, 2018. There are no plans to offer support or security patching for EMET after July 31, 2018. For improved security, our recommendation is for customers to migrate to Windows 10.

A tal riguardo infatti una delle funzionalità che verrà rilasciata il prossimo anno sarà Windows Defender Application Guard for Microsoft Edge che permetterà di eseguire Microsoft Edge in una istanza di Wndows isolata senza accesso all’ambiente in cui opera l’utente quando il sito visitato non è considerato attendibile, questa funzionalità in ogni caso non richiederà modifica agli sviluppatori web per essere utilizzata:

When a user browses to a trusted web site, for example an internal accounting system web application, Microsoft Edge operates as it does today. It has access to local storage, can authenticate the user to internal sites with corporate credentials, standard cookies work, the user can save files to the local machine, and in general Windows just works. This mode, outlined in blue in the chart below, is known as the Host version of Windows.

However, when an employee browses to a site that is not recognized or trusted by the network administrator, Application Guard steps in to isolate the potential threat. As shown in the mode outlined in red above, Application Guard creates a new instance of Windows at the hardware layer, with an entirely separate copy of the kernel and the minimum Windows Platform Services required to run Microsoft Edge. The underlying hardware enforces that this separate copy of Windows has no access to the user’s normal operating environment.

Application Guard’s enforcement includes completely blocking access to memory, local storage, other installed applications, corporate network endpoints, or any other resources of interest to the attacker. This separate copy of Windows has no access to any credentials, including domain credentials, that may be stored in the permanent credential store.

The good news for web developers is that they do not need to do anything different with their site code – Microsoft Edge renders sites in Application Guard fundamentally the same way it does in the host version of Windows. There is no need to detect when Microsoft Edge is running in this mode, nor any need to account for behavior differences. Since this temporary container is destroyed when the user is done, there is no persistence of any cookies or local storage when the user is finished.

Windows Defender Application Guard for Microsoft Edge will become available to Windows Insiders in the coming months, and roll out more broadly next year.

Per ulteriori informazioni si vedano anche

Installazione GLPI in ambiente Windows

$
0
0

Quando le infrastrutture informatiche assumo dimensioni consistenti o la cui complessità richiede più persone per la gestione comincia a farsi sentire l’esigenza di adottare un software per la gestione del parco informatico e del servizio di helpdesk. Un altro scenario in cui tali tipi di software sono particolarmente utili è quello in cui un fornitore di servizi informatici si trovi a dove gestire più piccole aziende con la necessità di offrire un servizio di helpdesk e anche la gestione del parco macchine e apparecchiature dei proprio clienti.

Vari sono i software che propongono soluzioni in tal senso, ma molti di essi affrontano il problema tramite scansione della rete per rilevare in modo automatizzato gli asset informatici presenti, sebbene questo tipo di approccio sia in determinati scenari molto pratico in altri può non essere applicabile o comodo. Infatti in scenari in cui non tutti gli asset possono essere gestiti tramite rilevazione automatica in rete in quanto non raggiungibili o privi di interfaccia di rete o ancora perché è necessario poterli gestire prima che vengano inseriti in rete (si pensi ad esempio ad asset mantenuti in magazzino come ricambi).

Inoltre molto spesso la necessità della gestione del parco informatico parte da specifiche necessità di carattere più amministrativo che tecnico, come la gestione dei rinnovi delle garanzie, la gestione del mazzino, la gestione della posizione fisica degli asset o il computo dell’impatto dell’helpdesk declinato in base alle richieste o per tipologia di asset su cui sono avvenuti gli interventi.

Un prodotto che risponde a queste esigenze è GLPI (Gestion Libre de Parc Informatique), un progetto Open Source gratuito distribuito sotto licenza GPL che consente l’IT Asset Management, l’issue tracking system, fornisce una soluzione di service desk solution e consente la gestione di tasks amministrativi e finanziari, di seguito alcune interessanti caratteristiche:

  • Gestione di Multi-entities (multi-park, multi-structure)
  • Gestione Multiutenza
  • Sistema di autenticazione multipla (locale, LDAP, AD, Pop/Imap, CAS, x509…) e multi servers
  • Multilingual (al momento sono disponibili 45 localizzazioni)
  • Gestione di Permissions e profili

Per l’elenco completo delle caratteristiche si veda FEATURES LIST OF GLPI.

GLPI è un applicazione web-based nata nel 2003 come progetto Community based a cui chiunque può contribuire tramite lo lo sviluppo di moduli su GitHub – GLPI o mediante lo sviluppo di GLPi plugins, il progetto ha subito negli anni varie evoluzioni sino ad arrivare all’attuale versione 9.1.1, di seguito la time line dell’evoluzione del progetto tratto dalla pagina Wikipedia dedicata al progetto.

Prerequisiti d’installazione di GLPI

Come riportato nel seguente Prerequisites for installing GLPI l’applicazione web ha i seguenti prerequisiti software:

  • Un Web Server con supporto PHP (Apache 2 o superiore oppure Microsoft IIS)
  • PHP 5.3 o superiore (si veda il seguente Web Server Prerequisites per le estensioni PHP richieste
  • Database MySQL 4.23, ma è raccomando utilizzare per ragioni di performance la versione 5.5.x, in alternativa è possibile utilizzare il DBMS MariaDB (a riguardo si veda Database server Prerequisites)

Dal momento che come viene riportato in Database server Prerequisites, GLPI utilizza l’engine MyISAM non è possibile al momento utilizzare SQL Server come DBMS in quanto quest’ultimo utilizza un engine derivato da quello di Sybase SQL Server frutto di una partnership tra Microsoft e Sybase del 1987 (per maggiori dettagli sulla storia dell’evoluzione dell’engine di SQL Server si veda SQL MythBusters – “SQL Server is really a Sybase product not a Microsoft one.”).

Scenario d’installazione

Nel seguente articolo GPLI sarà installato su IIS 8.5 in Windows Server 2012 R2 utilizzando Microsoft Web Platform Installer 5.0 per installare la versione PHP 7.0.9 a 64 Bit, mentre per quanto riguarda il DBMS sarà installato MariaDB 10.1.19 a 64 Bit.

La scelta di non utilizzare MySQL ma MariaDB che è uno dei fork del primo, nato il 29 ottobre 2009, e scritto dagli sviluppatori originali di MySQL dipende dal fatto di utilizzare un DBMS totalmente OpenSource dal momento che andrà a supporto di un applicativo Open Source qual è GLPI. MySQL infatti dalla versione 5.5 include estensioni non Open Source disponibili solo nella versione Enterprise, tale evoluzione di MySQL è frutto dell’acquisizione di Sun Microsystems da parte di Oracle avvenuta il 27 gennaio 2010 (per quanto riguarda l’evoluzione di MySQL e la nascita MariaDBa riguardo si vedano le relative pagine su Wikipedia). In conseguenza al fatto che MySQL non è più un DBMS solo Open Source (esistono infatti due versioni quella Open Source denominata MySQL Community Server e quella proprietaria denominata Enterprise Server) ha portato vari progetti Open Source a sostituire MySQL con MariaDB, come ad esempio Wikipedia (a riguardo si veda Wikipedia Adopts MariaDB) e alcune distribuzioni Linux quali ad esempio Fedora e RedHat (a riguardo si veda Oracle who? Fedora & openSUSE will replace MySQL with MariaDB).

Per quanto riguarda i prerequisiti hardware dovranno essere rispettati almeno quelli consigliati per il sistema operativo (a riguardo si veda System Requirements and Installation Information for Windows Server 2012 R2):

  • Processore almeno 1.4 GHz a 64-bit
  • 1024 MB di Ram e nel caso una macchina virtuale in Hyper-V è preferibile utilizzare la memoria statica
  • 32 GB per il volume dedicato al sistema operativo, è preferibile installare GLPI e il relativo database su un volume dedicato

Dal momento che i vari pacchetti d’installazione di PHP e MariaDB sono disponibili solo in lingua Inglese è consigliabile installare anche il sistema operativo in lingua Inglese configurando le impostazioni del ormato data e ora per la nazionalità italiana. Al termine dell’installazione aggiornare il sistema installando gli aggiornamenti necessari.

Per la documentazione relativa a GLPI si faccia riferimento al Wiki del progetto, mentre per ulteriori informazioni sui prerequisiti si veda https://github.com/glpi-project/glpi mentre per informazioni sui changelog delle varie versioni si veda https://github.com/glpi-project/glpi/releases

Installazione del ruolo Web Server (IIS)

Installare il ruolo Web Server (IIS) con le impostazioni di default, al termine dell’installazione aggiornare il sistema installando gli eventuali aggiornamenti necessari.

Come indicato nei seguenti non è possibile (fatta esclusione per alcune cartelle) spostare IIS su un volume dedicato in quanto IIS è un componente di sistema:

Installazione PHP

Il modo più pratico per installare PHP è quello di utilizzare il Microsoft Web Platform Installer, attualmente è disponibile la versione 5.0 che va installata prima di poter avviare l’installazione del PHP. Per avviare l’installazione del Microsoft Web Platform Installer occorre prima disabilitare la funzionalità IE Enhanced security Configuration per il gruppo Administrators (terminata l’installazione sarà possibile riabilitare tale funzionalità).

Una volta installato il Microsoft Web Platform Installer sarà possibile installare PHP selezionando PHP 7.0.9 a 64 Bit tra i prodotti del gruppo Frameworks

L’installazione comporterà l’installazione di ulteriori package e features:

Per verificare la funzionalità di PHP è possibile creare un file phpinfo.php in %SystemDrive%\inetpub\wwwroot col seguente contenuto:

<?php phpinfo(); ?>

Aprire poi la pagina http://localhost/phpinfo.php che mostrerà le informazioni di configurazione tra cui il percorso del file ini di configurazione per default in (%ProgramFiles%\PHP\v7.0\php.ini)

Abilitazione dell’estensione PHP FileInfo e verifica delle configurazioni nel php.ini

Modificare il file %ProgramFiles%\PHP\v7.0\php.ini aggiungendo nella sezione [ExtensionList] la seguente impostazione:

extension=php_fileinfo.dll

Come indicato nel seguente Web Server Prerequisites verificare che le seguenti variabili nel file %ProgramFiles%\PHP\v7.0\php.ini rispettino le seguenti indicazioni (le impostazioni predefinite dovrebbero essere coerenti a tali indicazioni):

memory_limit = 64M ; // Minimum Value
file_uploads = on ;
max_execution_time = 600 ; // Optional but not mandatory
register_globals = off ; // Optional but not mandatory
magic_quotes_sybase = off ;
session.auto_start = off ;
session.use_trans_sid = 0 ; // Optional but not mandatory

Nel caso si intenda utilizzare l’autenticazione integrata di windows abilitare l’estensione LDAP aggiungendo nella sezione [ExtensionList] la seguente impostazione:

extension=php_ldap.dll

Per ulteriori informazioni sulle estensoni PHP in Windows si veda Installation of extensions on Windows.

Terminata l’editazione del file %ProgramFiles%\PHP\v7.0\php.ini riavviare IIS tramite lnternet Information Services (IIS) Manager (InetMgr.exe) o mediante il seguente comando:

iisreset /restart

Installazione del DBMS MariaDB

Scaricare dal sito http://mariadb.org (la pagina di download è disponibile al seguente https://downloads.mariadb.org/) il package per piattaforma Windows a 64 Bit dell’ultima versione di MariaDB, al momento l’ultima versione stabile è la 10.1.19 (mariadb-10.1.19-winx64.msi), come riportato la versione 10.1 ha oltre alla features di MySQL 5.6 & 5.7 anche nuove funzionalità. Sebbene esista anche un package ZIP (mariadb-10.1.19-winx64.zip) questo è indicato solo per semplici scenari di test, ma è meno preformante dell’installazione come servizio e meno sicuro, a riguardo si veda Installing MariaDB Windows ZIP Packages.

Avviare l’installazione di MariaDB 10.1.19 x64 eseguendo il package msi con le seguenti impostazioni (per la documentazione sulla procedura d’installazione si veda Installing MariaDB MSI Packages on Windows).

Accettare l’installazione delle funzionalità di default.

Selezionare Database instance per impostare il path dei file di dati tramite il pulsante Browse, nello scenario di esempio saranno memorizzati in S:\MariaDB 10.1\data.

Impostare la password dell’utente root che dovrà essere utilizzato solo motivi amministrativi

Impostare le proprietà dell’istanza configurandola come servizio come raccomandato e se non è necessario connettersi remotamente al DBMS disabilitare l’opzione di networking (come nel caso dello scenario di esempio in quanto GLPI sarà installato sullo stesso server), in questo caso per la connessione al database sarà utilizzato named pipes. Inoltre dal momento che GLPI per ora non utilizza InnoDB occorre deselezionare l’opzione Optmize for transaction (a riguardo si vedano Closing ticket time issue #1150 e Change storage engine to innodb #644).

Per informazioni sulle impostazioni si vedano le seguenti note riportate in Installing MariaDB MSI Packages on Windows:

  • Install as service
    Defines if the database should be run as a service and the service name. It is recommended to run your database instance as a service as it greatly simplifies database management. The default service name is “MySQL”, for compatibility reasons (this is the same name that “mysqld.exe –install” would choose too).
  • Enable networking
    Whether to enable TCP/IP (recommended) and which port MariaDB should listen to. If security is a concern, you can change the bind-address parameter post-installation to bind to only local addresses. If the “Enable networking” checkbox is deselected, the database will use named pipes for communication.
  • Optimize for transactions
    If this checkbox is selected, the default storage engine is set to Innodb (or XtraDB) and the sql_mode parameter is set to “NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES”. You can also define the Innodb/Xtradb buffer pool size. The default buffer pool size is 12.5% of RAM and depending on your requirements you can give innodb more (up to 70-80% RAM). 32 bit versions of MariaDB have restrictions on maximum buffer pool size, which is approximately 1GB, due to virtual address space limitations for 32bit processes.

Per modificare successivamente le impostazioni è possibili intervenire successivamente editando il file my.ini memorizzato nella directory d’installazione (nello scenario di esempio S:\MariaDB 10.1\data), per informazioni sulla configurazione tramite file d’impostazioni si vedano:

Per connettersi all’istanza di MariaDB è possibile utilizzare HeidiSQL, installato per default insieme a MariaDB, configurando una connessione localmente tramite named pipe, come nello scenario d’esempio.

Creazione del sito e del database per GLPI

Scaricare l’ultima versione di GLPI dal sito http://glpi-project.org (la pagina di download è disponibile al seguente http://glpi-project.org/spip.php?article41), al momento l’ultima versione è la 9.1.1 (glpi-9.1.tar.gz). Estrarre il package tar.gz, ad esempio tramite 7Zip, e copiare la cartella glpi in locale, nelle scenario di esempio verrà copiata inS:\glpi. Quindi creare in IIS all’interno del Default Web Site una Virtual Directory che punta alla cartella gpli in modo da mantenere l’applicazione su un volume diverso da quello del sistema operativo.

Aprire il sito http://localhost/glpi per eseguire la prima parte dell’installazione di GLPI che creerà il database.

Selezionare la localizzazione italiana.

Accettare la licenza (GNU General Public License Versione 2).

Selezionare Installa.

Controllare che tutte le verifiche siano eseguite con successo.

Inserire le credenziali per accedere all’istanza locale (.)del DBMS MariaDB tramite named pipe con l’account root per creare il database.

Creare un nuovo database, nello scenario d esempio sarà denominato glpi.

Attendere la creazione del database

Creazione di un utente per l’accesso al database di GLPI da parte dell’applicazione

Creare tramite HeidiSQL un utente che verrà poi utilizzato dall’applicazione GLPI per accesso locale con soli i privilegi sul database di GLPI, nello scenario di esempio il database è denominato glpi mentre l’utente sarà denominato UsrGLPI.

Installazione dell’applicazione GLPI

Riavviare la procedura d’installazione aprendo nuovamente la pagina http://localhost/glpi rieseguendo le seguenti operazioni:

  • Selezionare la localizzazione italiana.
  • Accettare la licenza (GNU General Public License Versione 2).
  • Selezionare Installa.
  • Controllare che tutte le verifiche siano eseguite con successo.

Inserire le credenziali per accedere all’istanza locale (.)del DBMS MariaDB tramite named pipe con l’account dedicato a GLPI, nello scenario di esempio tale utente è denominato UsrGLPI.

Selezionare il database che verrà utilizzato da GLPI, nello scenario di esempio tale database è denominato glpi (le informazioni relative alla connessione al database verranno memorizzate nel file glpi\config\config_db.php).

Attendere l’inizializzazione del database.

Attendere il termine dell’installazione.

Terminata l’installazione sarà possibile accedere a GLPI tramite la pagina http://localhost/glpi autenticandosi con l’account di amministrazione di default (username=glpi e password=glpi) per iniziare a configurare l’applicazione.

Gestione dei Plugin

Come anticipato all’inizio dell’articolo le funzionalità di GLPI possono essere estese tramite plugins sviluppati da volontari che contribuiscono al progetto, per il catalogo dei plugins disponibili si veda la Plugin directory, mentre se si intende cimentarsi nello sviluppo di un plugin è possibile trovare informazioni utili ai seguenti:

Per quanto riguarda l’installazione di un plugin l’operazione è descritta al seguente Plugin installation Procedure in GLPI e consiste nelle seguenti operazioni:

  1. Eseguire un backup del database (tramite il menù Amministrazione\Manutenzione)
  2. Scaricare il plugin dalla directory GLPI plugins verificando che sia compatibili con la versione di GLPI installata
  3. Estrarre il file .tar.gz in una sottocartella col nome del plugin nella directory glpi/plugins dell’applicazione, per estrarre i file .tar.gz è possibile utilizzare ad esempio 7Zip (il nome della cartella del plugin deve rispettare quello presente all’interno del file .tar.gz altrimenti il plugin potrebbe non funzionare correttamente)
  4. Eseguire il Log off ed un successivo Log in
  5. Installare il plugin tramite il menu Configurazione\Plugins selezinando Installa in corrispondenza del plugin
  6. Attivare il plugin selezinando Attiva in corrispondenza del plugin

Alcuni plugin necessitano di modifiche al database, che verranno eseguite al primo avvio dello stesso, oppure possono essere necessarie configurazion, in questo caso vi saranno avvisi nella pagina dell’installazione/attivazione del plugin.

L’aggiornamento di un plugin è sostanzialmente simile all’installazione, ma con le precauzioni necessarie per consentire un eventuale ripristino alla versione precedente, di seguito le operazioni da eseguire:

  1. Eseguire un backup del database (tramite il menù Amministrazione\Manutenzione) o delle tabelle create dal plugin che dovrebbero essere specificate nel file readme nella directori del plugin syessto (glpi/plugins/<pluginName>)
  2. Rinominare la directory del plugin per esempio da glpi/plugins/<pluginName> a glpi/plugins/<pluginName-Versione>
  3. Procedere nuovamente all’installazione del plugin come visto precedentemente

Se si intende invece rimuovere un plugin è possibile procedere come segue:

  1. Eseguire un backup del database (tramite il menù Amministrazione\Manutenzione)
  2. Accedere all’elenco dei plugin installati tramite il menu Configurazione\PluginsS
  3. Selezionare Disinstalla in corrispondenza del plugin da rimuovere

Si noti che ovviamente l’utilizzo dei plugin comporterà il controllo che questi siano supportati anche nelle future release di GLPI quanto verranno rilasciate e si deciderà di installarle.

Conclusioni

Grazie al Microsoft Web Platform Installer 5.0 che permette di installare velocemente applicazioni PHP in Windows l’installazione di GLPI si risolve velocemente. Con Windows Server 2016 e la sua integrazione nativa con i container Docker tale installazione potrà ulteriormente essere semplificata. Su GitHub sono infatti presenti vari progetti con la finalità di realizzare containe Docker per GLPI, si veda ad esempio driket/docker-glpi – Deploy GLPI (any version) with Docker.


Pubblicazione di applicazioni aziendali con Azure Application Proxy

$
0
0

La necessità di rendere utilizzabili al di fuori del perimetro aziendale le stesse applicazioni interne è un’esigenza ormai quotidiana, ma la disponibilità esterna di queste risorse costringe necessariamente chi amministra l’infrastruttura ad “aprire le porte” verso Internet, con tutte le implicazioni dal punto di vista della sicurezza che questo comporta.

Sono state e sono tutt’ora utilizzate una serie di tecniche di mitigazione, ad esempio l’impiego di proxy a reverse con l’utilizzo di sistemi di re-writing degli URL, che consentono una separazione netta delle connessioni in ingresso e forniscono una certa sicurezza sulle risorse esposte.

Questa architettura permette la collocazione in DMZ di sole macchine con il compito di gestire le richieste in ingresso e ridirigerle poi con alcune regole di controllo all’interno. In questo modo le infrastrutture sensibili non hanno contatto diretto con l’esterno.

Contestualmente a questi accorgimenti l’adozione di sistemi IDS/IPS “garantiscono” un accettabile livello di sicurezza.

In ogni caso questo approccio ha richiesto e richiede che il firewall perimetrale consenta la connessione ed “apra” almeno una porta verso l’interno, richiede anche che i vari apparati posti a controllo del perimetro siano costantemente aggiornati e verificati

Azure Application Proxy

Nella galleria del cloud Azure è disponibile un servizio che si lega in modo stretto con Azure Active Directory e che in maniera concettualmente del tutto nuova permette in modo semplice la fruizione delle applicazioni ad utenti esterni all’azienda.

Questo servizio è Azure Web Application Proxy, disponibile se si è attiva la versione BASIC o PEMIUM di Azure Active Directory.

Per poter utilizzare la funzione di Application Proxy, dal portale classico di Azure è sufficiente, selezionata la Directory di riferimento, attivare la funzionalità in prova valida per 30 giorni e successivamente terminata la fase di test, effettuarne l’acquisto.

Attivata la funzionalità di Azure AD Premium è necessario installare il componente Application Proxy Connector. La scelta più corretta, è quella di dedicare un sistema server a questa funzione, scelta che permette una migliore scalabilità delle risorse e di gestione.

Per operare correttamente questo software deve poter raggiungere i domini

  • *.msappproxy.net
  • *.servicebus.windows.net

(e naturalmente i sottodomini)

Mentre per le fasi iniziali di registrazione è necessario che siano raggiunti anche

  • login.windows.net
  • login.microsoftonline.com

Per quanto riguarda le porte TCP utilizzate per il normale funzionamento, si rimanda al documento Azure Application Proxy Connector.

È anche possibile fare sì che il Connector interno utilizzi per connettersi ad Azure un Web Proxy , questo qualora non fosse possibile agire direttamente sul Firewall per definire regole puntuali di uscita.

In questo caso è bene considerare che un possibile malfunzionamento del Web Proxy stesso si ripercuoterebbe necessariamente sulla raggiungibilità delle applicazioni.

L’aspetto interessante, relativo alla sicurezza del sistema è che NON è richiesto che in ingresso venga definita alcuna regola sul Firewall.

L’applicazione che è utilizzata esternamente sarà disponibile tramite il portale Azure e sarà la componente Application proxy che si occuperà di renderla accessibile e di “dialogare” con il Connector interno, quest’ultima è la sola componente ad avere contatti con l’applicazione in rete locale.

Per analogia con il sistema tradizionale a Reverse Proxy il Connector è un Reverse Proxy, con la sola, ma importante, differenza che questo, come detto sopra, non ha contatti con l’esterno, ma riceve e reindirizza le richieste dalla componente cloud.

A questo punto è evidente che l’infrastruttura di sicurezza Aziendale può essere “alleggerita” in quanto come già detto non è richiesto che siano attivate porte in ascolto, questo compito può essere ed è demandato ad Azure.

Pubblicazione di una applicazione interna tramite Azure AD Application Proxy

Dal portale classico di Azure selezionare la directory in cui si è abilitata la funzione come riportato in precedenza e successivamente selezionare Aggiungi

Nella maschera successiva scegliere “Pubblica un’applicazione che sarà accessibile dall’esterno della rete”

Verrà così proposta una ulteriore videata con le specifiche proprie dell’applicazione che si intende pubblicare

Nome serve ad identificare l’applicazione all’interno del portale di accesso e di configurazione

URL interno è l’effettivo URL che il connettore installato on premise contatterà (di norma l’Url dell’applicazione interna)

Metodo di Autenticazione Preliminare è effettivamente la modalità con cui gli utenti accederanno all’autenticazione dell’applicazione.

Con la modalità Azure AD l’utente verrà effettivamente autenticato secondo i criteri di AZURE e quindi beneficiando anche di quelle che sono le prerogative di questi utenti, gestione Self-Service della password, possibilità di definire criteri di sblocco personalizzati, accesso da dispositivi con determinate caratteristiche etc.

Con la modalità Passtrough invece, all’utente viene proposto direttamente (se previsto) il login dell’applicazione interna.

Nel caso in cui sia impostata la modalità Azure AD e l’applicazione (tipicamente legacy) non sia in grado di utilizzare di questa modalità, verrà richiesta una seconda autenticazione.

Definita l’applicazione, da portale si dovranno assegnare i gruppi e/o gli utenti che potranno utilizzarla, questi saranno gli oggetti sincronizzati dall’AD locale verso Azure AD

Terminata l’assegnazione degli utenti, tramite il Tab CONFIGURA, è possibile modificare ulteriormente le impostazioni, ma soprattutto è possibile ricavare l’url a cui riferirsi per accedere all’applicazione, che essendo il modalità Passtrough non prevede l’accesso dal portale di Azure.

A questo punto è possibile accedere all’applicazione, è da notare che di default tutto il traffico è in HTTPS e viene utilizzato un certificato disponibile per gli utilizzatori dei servizi in Cloud.

Tuttavia, siccome si possono anche gestire URL esposti in Azure con FQDN del proprio dominio pubblico è possibile effettuare l’upload di un certificato aziendale.

Controllo delle funzionalità del Connector Gateway

Questo oggetto non ha particolari opzioni di configurazione, all’atto dell’installazione, viene richiesto un account amministratore globale della directory e con questo il gateway si registra ed autentica sulla directory stessa.

È possibile all’interno del registro eventi rilevare eventuali errori o anomalie archiviate in AadApplicationProxy (fig.6)

Sono anche disponibili, al fine di valutare le performance di questo servizio alcuni Performance Counters (fig.7)

Considerazioni relative agli aspetti di sicurezza

Controllo tramite NMAP delle informazioni deducibili tramite un port SCAN

Al di là delle considerazioni espresse in precedenza, un piccolo e sicuramente approssimativo test relativo agli aspetti legati alla sicurezza è stato condotto utilizzando NMAP.

Tramite questo tool si è cercato di identificare il sistema operativo sul quale l’applicazione è installata.

Sono stati effettuati due TEST distinti, il primo verso una applicazione esposta in modo tradizionale FWàRev-ProxyàApplicazione

Nmap seppure con una certa approssimazione ha rilevato un host Linux fig. sopra

Ed il secondo sempre verso la stessa applicazione ma esposta tramite AZURE con la struttura descritta sopra

Nmap non è riuscito ad identificare il sistema verso il quale ha fatto la scansione.

Conclusioni

Partendo dall’assunto che non esiste LA soluzione perfetta, sicura, e garantita, vista la velocità di implementazione, il discreto grado di sicurezza by-default dell’infrastruttura, La soluzione di Azure Application Proxy può essere un valido aiuto alle realtà che necessitano di rendere fruibili le proprie applicazioni all’esterno del perimetro aziendale

Riferimenti:

Azure Application Proxy Connector

Azure Application Proxy Connector – connessione tramite proxy interno

Risoluzione dei problemi relativi alla pubblicazione di applicazioni tramite Azure

Sicurezza

Autenticazione di sistemi Linux verso un dominio Active Directory con Winbind

$
0
0

A partire dal suo primo rilascio nel 1991 Linux prevedeva esclusivamente autenticazioni locali o verso sistemi NIS, successivamente sono state sviluppate le integrazioni dapprima con i sistemi di directory disponibili sul mercato a quel tempo, e successivamente, intorno agli anni 2000, verso Windows.

Con l’evoluzione di Linux da un lato e Windows dall’altro le integrazioni tra i due sistemi sono diventate via via più strette, diventando possibile integrare completamente l’autenticazione di Linux in Active Directory.

Quando si parla di integrazione verso Active Directory normalmente si considerano le risorse che sono messe reciprocamente in comune tra le due famiglie di sistemi.

In uno scenario di questo tipo il dominio AD è usato come sorgente di autenticazione a cui Linux e Windows si riferiscono per consentire l’accesso alle rispettive risorse.

Le funzioni di autenticazione sono parte di uno scenario più ampio di integrazione, l’evoluzione di queste possibilità, all’inizio molto rigide, ha portato allo sviluppo di moduli di autenticazione aperti, quali sono i Pluggable Authentication Module (PAM) questo fa sì che non solo il sistema operativo, ma qualunque servizio in grado di interfacciarsi con questi moduli possa autenticare i propri utenti verso AD.

Un server Linux può mettere a disposizione il proprio spazio dischi, le proprie stampanti etc. tramite Samba in modo del tutto simile a Windows, il controllo di accesso è comunque assoggettato ad Active Directory per entrambe gli ambienti.

In questo articolo non ci occuperemo di come possono essere condivise le risorse in Linux, ma della modalità in cui questo può utilizzare il dominio Active Directory per effettuare l’autenticazione degli utenti, vedremo anche come è possibile discriminarne l’accesso secondo l’appartenenza a gruppi in modo da consentire il login esclusivamente ad un gruppo di utenti. Un passo ulteriore sarà quello di concedere, sempre sulla base dell’appartenenza ad un gruppo, i diritti di Sudoer.

In questo modo gli amministratori di sistema potranno garantire in sicurezza l’accesso ai propri sistemi, potendo differenziare ulteriormente chi dovrà operare come Sudoer e chi no.

Premessa:

Linux è una galassia molto varia di distribuzioni e versioni, in un solo articolo, comprendere tutte le differenze di implementazione che contraddistinguono le varie release non sarebbe possibile, ci soffermeremo sulle distribuzioni RedHat, Oracle Linux e Centos che sono praticamente identiche da questo punto di vista.

Altre distribuzioni presentano la stessa logica di implementazione KerberosWinbind (Samba) ma con alcune differenze di configurazione

Provider di autenticazione Winbind e SSSD

Come detto in precedenza, nel corso del tempo le soluzioni di autenticazione sono cambiate, tra queste, in modo nativo su Linux sono disponibili Winbind e SSSD.

Winbind è un ambiente integrato all’interno di Samba e viene utilizzato come provider di autenticazione su Linux è disponibile al sistema come Modulo PAM (Pluggable Authentication Module) e quindi può essere usato da diversi servizi per poter effettuare autenticazioni verso Active Directory.

L’evoluzione del modulo Winbind ha seguito l’evolversi di Windows integrandosi dapprima con NTLM e successivamente con AD per mezzo di Kerberos.

È bene anche specificare che Winbind è stata (ed è) la soluzione privilegiata fino alla versione 6.8 del sistema operativo.

Dalla versione 7 questa modalità di autenticazione è stata “dismessa” e SSSD (System Security Services Daemon) è diventato il modello di autenticazione di riferimento.

SSSD è nato come derivazione del progetto FreeIPA e può sostituire Winbind nei processi di autenticazione verso sistemi centralizzati quali AD, Ldap ed altri.

È un servizio che nasce come progetto a sé stante a differenza di Winbind che è compreso all’interno di SAMBA. SSSD presenta le seguenti differenze rispetto a Winbind:

  • consente più connettori verso sorgenti diverse, AD, LDAP FreeIPA etc.
  • mantiene in cache le credenziali utilizzate in modo da ridurre il traffico di autenticazione e permette l’accesso anche se il domain controller non è disponibile
  • consente un debug più semplice rispetto a Winbind
  • non supporta NTLM come protocollo di autenticazione
  • non supporta TRUST di Active directory di tipo Cross Forest, in questo caso è necessario che vengano utilizzati sistemi IDM per l’autenticazione.

Per approfondire potete leggere l’articolo Autenticazione di sistemi Linux verso un dominio Active Directory con SSSD.

Questo in estrema sintesi il panorama in cui ci possiamo muovere se dobbiamo utilizzare sistemi OpenSource in ambienti in cui Active Directory è la sorgente di autenticazione.

Sebbene questi due provider di autenticazione sono diventati il default rispettivamente per le versioni 6 e 7 del sistema operativo, è comunque possibile installare SSSD sulle versioni 6 e Winbind sulle versioni 7.

WINBIND

Configurazione per l’autenticazione verso AD

Per poter configurare correttamente Winbind occorre verificare che sul sistema siano presenti i seguenti pacchetti, alcuni utilizzati da Kerberos ed i rimanenti utilizzati da Winbind, e come vediamo anche alcuni componenti di Samba

Modulo Kerberos pacchetti richiesti

  • krb5-workstation
  • pam_krb5
  • krb5-auth
  • krb5-libs

Modulo Samba/ Winbind pacchetti richiesti

  • samba-common
  • samba-client

Nota:

(è consigliabile utilizzare Yum per l’installazione, questo ci permette di essere certi di utilizzare versioni corrette e soprattutto di installare anche le eventuali dipendenze richieste)

terminata l’installazione è sufficiente lanciare il comando authconfig-tui da prompt di sistema.

Authconfig-tui richiede una serie di informazioni, prepara le configurazioni ed effettua il joinig al dominio della macchina Linux gestendo e modificando i vari file di configurazione in autonomia.

Siccome la configurazione di default non prevede che siano “filtrati” gli accessi e quindi ogni utente del dominio può effettuare il logon, si dovranno modificare altre impostazioni per consentire l’accesso ad utenti di particolari gruppi definiti in AD.

Obiettivo di questa configurazione è di fare sì che l’amministratore possa delegare ad utenti o gruppi la gestione dei sistemi senza dover necessariamente utilizzare l’utente root

Figura 1 authconfig-tui

Questa è la prima videata del tool di configurazione, sono cerchiate in rosso le scelte utilizzate per questa configurazione “use Winbind“, “Use MD5 Passwords“,” Use Shadow Passwords” e “Use Winbind Authentication

Nella videata successiva, procedendo con Next dovremo fornire le impostazioni relative al dominio verso il quale effettuare il join

Figura 2 Impostazioni di riferimento per il dominio

  1. security model “ads
  2. Domain impostare il nome NETBIOS del Dominio
  3. Impostare i nomi dei Domain Controller ognuno separato da virgola
  4. ADS REALM verrà utilizzato per la compilazione del file krb5.conf e per il riferimento a Kerberos
  5. Definire la Shell con cui l’utente opererà quando connesso sul server Linux

Una volta impostati questi parametri proseguire con “Join Domain” ed ok sulla scelta successiva

Qui verrà richiesto di impostare la password dell’utente Administrator di Active Directory potremo anche utilizzare le credenziali di un qualunque altro utente con permessi di “aggiunta Workstation al dominio”

Figura 3 Impostazione delle Credenziali per il Join

Confermando ulteriormente con Ok viene completata la procedura ed una volta usciti dalla configurazione è possibile controllare con il comando net ads testjoin se il server è realmente membro del dominio AD

Figura 4 Controllo del Join

Se la procedura è andata a buon fine compare il messaggio Join is OK, i comandi successivi possono essere utili per una ulteriore diagnostica dell’ambiente

  • net ads info (visualizza informazioni sul dominio AD)
  • wbinfo -g (elenca gli utenti del dominio)
  • wbinfo -u (elenca i gruppi del dominio)

Modifiche apportate al sistema da authconfig-tui

Il comando Authconfig-tui configura una serie di file che sono necessari per l’impostazione dell’ambiente

il file /etc/krb5.conf viene impostato in modo da utilizzare il REALM Kerberos di AD

Figura 5 Impostazioni nel file krb5.conf

È anche modificato il file /etc/samba/smb.conf

Figura 6 Impostazione del file smb.conf

Ed infine viene impostato il file /etc/nsswitch.conf in modo da utilizzare per l’autenticazione, la mappatura degli utenti e dei gruppi, le risorse locali e quelle fornite dal Winbind

Figura 7 Impostazione del file nsswitch.conf

A questo punto il server è collegato in join al dominio AD e lo si vedrà visualizzato anche nel container in Active Directory tramite ADUC

Figura 8

Gli utenti del dominio (TUTTI) possono quindi effettuare il logon al server Linux autenticandosi nel formato nome_utente@test.local

A tutti gli effetti l’utente che si connette è un utente di dominio e può autonomamente gestire la propria password come se fosse connesso ad una postazione Windows per effettuare il cambio password si potrà utilizzare il comando Passwd:

Se è necessario definire in modo puntuale chi deve poter accedere ed eventualmente chi deve operare come amministratore, cioè diventare “Sudoer”, si dovranno modificare manualmente alcuni file.

Configurare gli utenti autorizzati ad effettuare Logon al server

Per prima cosa è necessario configurare Winbind in modo che controlli quali utenti o gruppi di dominio possono effettuare il logon, le impostazioni sono contenute nel file

  • /etc/security/pam_vinbind.conf

all’interno sono definite alcune sezioni con le impostazioni commentate da punto e virgola (;) per attivare le varie impostazioni è necessario rimuovere il (;) ad inizio riga e definire le configurazioni nel modo voluto

Le sezioni che interessano la nostra configurazione sono:

  • require_membership_of =
  • warn_pwd_expire =

la prima definisce i gruppi di utenti che potranno accedere al server, ogni gruppo deve essere separato da virgola (,). Mentre la seconda sezione è relativa al warning presentato all’utente in occasione dell’avvicinarsi del momento della scadenza della Password, deve essere dichiarato il numero di giorni per cui deve essere notificato l’utente.

Figura 9 Impostazione utenti di accesso

Concessione dei diritti di Sudoer

È anche possibile specificare quali utenti possono essere “Sudoer” ossia in grado di operare come “amministratori” sul server.

Questa configurazione è gestibile tramite il comando “visudo“, che consente di editare in modo corretto il file di impostazione, è necessario dichiarare uno per riga i gruppi di dominio a cui si vuole concedere questo permesso.

Il formato deve essere %DOMINIO\\gruppo ALL=(ALL) ALL

Il carattere (%) ad inizio riga specifica che il permesso non è concesso ad un singolo utente ma ad un gruppo, nel caso si debba concedere il diritto Sudoer ad un singolo utente è sufficiente dichiararlo allo stesso modo ma senza il carattere iniziale %.

N.B. è necessario separare in nome dominio dall’utente con un doppio \ (\\)

Figura 10 impostazione Sudoers in Visudo

Gestione delle Home Directory degli utenti

Con le impostazioni fin qui viste per ogni utente di dominio che esegue il logon al server non verrà creata la home directory.

In alcuni casi può essere una scelta voluta, ad esempio se l’utente non deve utilizzare il sistema in console ma soltanto alcuni servizi, tuttavia nella maggior parte delle situazioni questo comportamento può essere un problema, ad esempio dove è necessario che ogni utente che accede al server abbia il proprio ambiente configurato tramite il bash_profile,, al termine della configurazione eseguire il comando:

  • authconfig –enablemkhomedir –update

in questo modo per ogni utente che esegue il logon al server viene creata la Home directory in /home/DOMINIO/nome-utente dove DOMINIO è il nome Netbios dell’Active Directory

Configurazione mediante interfaccia grafica

La procedura vista qui è utilizzata in ambienti che dispongono di interfaccia grafico, esiste un’alternativa a questa modalità che è utilizzabile con Gnome , il comando da eseguire all’interno di X è authconfig-gtk la cui configurazione è riportata nelle immagini seguenti

Figura 11 Authconfig-gtk

Per analogia con la figura 2 è stata riportata la stessa numerazione dei vari campi da impostare

Figura 12 Authconfig-gtk ( gestione delle Home Dir)

In questo caso per abilitare la creazione delle home directory degli utenti il comando visto in precedenza è sostituito con il flag riportato nella figura qui sopra.

Riferimenti:

https://access.redhat.com/sites/default/files/attachments/rhel-ad-integration-deployment-guidelines-v1.5.pdf

Autenticazione di sistemi Linux verso un dominio Active Directory con SSSD

$
0
0

Abbiamo visto in questo articolo Autenticazione di sistemi Linux verso un dominio Active Directory con Winbind le modalità in cui può essere integrato un sistema Linux all’interno di un dominio Active Directory, e le possibilità offerte nativamente in ambiente Open Source.

La soluzione proposta prendeva in considerazione il provider di autenticazione Winbind che come già detto nelle ultime versioni di sistema operativo non è più utilizzato.

Vedremo ora in questo secondo articolo le possibilità offerte dal demone SSSD che è diventata la soluzione disponibile di default sulle versioni Linux più recenti

Lo schema qui sotto riporta le entità che sono coinvolte nel processo di autenticazione ed identificazione di un utente all’atto del login su un sistema Linux che utilizza Active Directory per la gestione centralizzata degli utenti.

Figura 1 Schema del processo di autenticazione con SSSD

Demone SSSD

Configurazione per l’autenticazione verso AD

Come abbiamo detto in precedenza il demone SSSD è il provider di autenticazione utilizzato dalle versioni 7 in poi delle distribuzioni RedHat e delle sue derivate.

Per analogia con la descrizione precedente, relativa al modulo Winbind, vediamo quali pacchetti sono necessari per poter utilizzare SSSD

  • Oddjob
  • Oddjob-mkhomedir
  • SSSD
  • Samba-common-tools
  • Adcli

Per installare i vari pacchetti e le loro dipendenze, come visto per Winbind, è importante utilizzare Yum in modo da automatizzare l’installazione.

Terminata l’installazione dei pacchetti richiesti con il comando realm è possibile effettuare l’intera configurazione di Linux.

Realm è un tool a riga di comando che configura l’enrollment di un sistema all’interno di un REALM Kerberos come è Active Directory, se il sistema Linux è configurato correttamente, con questo comando si può effettuare il discovery in modo da ottenere informazioni preliminari utili alla successiva integrazione.

Questa funzione utilizza il DNS di Active Directory per fornire e/o recuperare le informazioni relative a Kerberos.

realm discover -v test.local ( dove test.local è il dominio di riferimento)

Figura 2 discover del Realm

Viene effettuata una ricerca DNS su _ldap.tcp.test.local in riferimento al dominio DNS di default specificato nella configurazione di rete del sistema Linux.

A questo punto siamo ragionevolmente sicuri che il Dominio AD è raggiungibile, o meglio il DNS è configurato in modo da fornirne le informazioni.

Il passo successivo è quello di effettuare il join al dominio sempre tramite il comando realm

realm join -v TEST.LOCAL

questo è il comando con le opzioni minime per effettuare il join al dominio

Durante il join è possibile collocare il l’account macchina relativo server direttamente in una Organizational Unit definita sull’albero AD:

realm join --user=utente –computer-ou=OU=Linux,OU=Server,DC=test,DC=local TEST.LOCAL -v

Figura 3 join della macchina Linux al Dominio

Su Active Directory l’account è creato nella Organizational Unit specificata nel comando

Figura 4 Account Macchina creato nella OU specificata in fase di Join

Nota: è bene, se possibile, pima di procedere con la configurazione, effettuare un Update generale del sistema tramite il comando yum update, questo per evitare problemi che alcune versioni possono presentare all’atto della configurazione.

La versione 7.1 di Oracle Linux se installata senza effettuare un Update tramite YUM, all’atto del join al dominio con il comando realm, presenta un errore relativo al comando /usr/bin/net questo errore viene risolto effettuando un update completo.

Configurare gli utenti autorizzati ad effettuare Logon al server

Per analogia con la configurazione vista in precedenza con Winbind è necessario definire quali utenti o gruppi di AD possono effettuare accesso al sistema questa impostazione è configurabile sempre tramite il comando realm, supponendo di concedere al gruppo admin-server il permesso di accesso dovremo eseguire questo comando

realm permit -g admin-server@test.local

l’esecuzione del commando imposta il file /etc/sssd/sssd.conf in modo da consentire solo l’accesso a questo gruppo

se invece si dovesse attribuire il permesso di login all’utente adminserver anziché ad un gruppo il comando dovrà essere:

realm permit adminserver@test.local

il file /etc/sssd/sssd.conf verrà così modificato e verranno aggiunte le righe simple_allow_user e simple_allow_group, qualora vengano specificati più di un gruppo o più di un utente questi saranno separati da virgola.

Figura 6 dichiarazione degli utenti e gruppi di accesso

La rimozione di un gruppo può essere effettuata con il comando

realm permit –withdraw -g admin-server@test.local

Mentre per rimuovere un utente si dovrà digitare

realm permit –withdraw adminserver@test.local

Concessione dei diritti di Sudoer

Anche in questo caso come visto per Winbind è possibile specificare quali utenti possono avere i diritti di Sudoer, la modalità è analoga alla precedente, ossia l’utilizzo di visudo, la differenza è nel modo in cui questi vengono dichiarati

Per consentire l’accesso al gruppo admin-server sarà necessario inserire la riga seguente nel file sudoers

%admin-server@test.local ALL=(ALL) ALL

Figura 7 Dichiarazione dei Sudoer

Anche in questo caso se I diritti di Sudoer dovranno essere attribuiti ad un utente anziché ad un gruppo bisognerà omettere il % ad inizio riga.

La configurazione di Linux sul dominio è terminata e come nel caso visto in precedenza gli utenti a cui è stato concesso il permesso di logon possono accedere ed operare con il diritto di Sudoer

Personalizzazioni dell’ambiente di accesso

In alcuni casi per regole Aziendali può essere richiesto che all’accesso dell’utente venga presentato un messaggio informativo, in ambiente Windows è possibile la gestione tramite GPO, in Linux è necessario effettuare questa impostazione da un lato sulla configurazione del demone SSH e dall’altro sull’accesso in console.

Modifica del messaggio di login utente

Il file /etc/issue viene presentato come pre-login a tutti gli utenti che “affacciano” localmente al sistema, il suo contenuto è presentato direttamente all’utente al momento dell’accesso.

Nel caso in cui il server Linux sia utilizzato tramite postazioni remote in SSH è possibile visualizzare anche a questi utenti il contenuto dello stesso file.

Questo comportamento del login tramite SSH è gestibile modificando la riga banner in /etc/ssh/sshd_config ed impostandola come riportato qui sotto

Banner /etc/issue rimuovendo il commento iniziale

Dopo aver effettuato questa modifica è necessario riavviare il servizio SSH

considerazioni generali

Le configurazioni viste in questa guida utilizzano Kerberos e quindi in questo ambiente è determinante che sia la configurazione DNS che la configurazione NTP relativa al demone di sincronizzazione oraria in Linux siano correttamente configurate analogamente a quanto avviene normalmente per i sistemi Windows

Riferimenti:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Windows_Integration_Guide/sssd-ad-integration.html

Scenari di accesso a server Linux attivi in Microsoft Azure

$
0
0

Gestione degli ambienti grafici in Console

Normalmente nell’utilizzo di server on-premise si ha accesso alla console di sistema ed è quindi possibile il pieno controllo utilizzando anche la console grafica. In Azure non disponendo di una console vera propria l’accesso al desktop del sistema operativo è meno agevole.

In questo scenario l’utilizzo di sistemi Linux piuttosto che Windows presenta ulteriori differenze.

In Windows è possibile l’accesso in console grafica tramite RDP, e con l’opzione /console ottenere la condivisione della sessione 0.

In Linux è meno agevole eseguire applicazioni grafiche su host attivi in Cloud, ma con pochi semplici accorgimenti è possibile ridirigere la console del server su una postazione on premise da cui effettuare la gestione.

Il tutto si basa su X Windows , l’ambiente grafico disponibile su (quasi) tutti i sistemi Linux, e sul re-indirizzamento dell’interfaccia a partire da una sessione terminale SSH all’interno della quale transiterà tutto il traffico.

Condizione essenziale affinché sia possibile eseguire remotamente applicazioni è che la postazione dove queste vengono visualizzate abbia un server X installato. Se si accede da una postazione Linux questa funzionalità è attiva di default (a meno che non si scelgano installazioni minimal).

In Windows dovremo installare un server X Windows, ossia una sorta di emulatore in grado di visualizzare localmente le applicazioni eseguite sul sistema in Cloud.

Configurazioni sul server Linux in Azure

Per abilitare la funzione di Forwarding dell’interfaccia X11 all’interno di SSH, in modo che l’applicazione eseguita remotamente venga visualizzata sulla postazione di gestione, è necessario modificare il file sshd_config presente in /etc/ssh/ a
All’interno del file sono presenti la varie impostazioni relative all’ambiente grafico, in questo caso ci soffermiamo sulla riga #ForwardX11 no

Individuata questa impostazione dovremo rimuovere il # ad inizio riga e modificare il valore NO ( di default) portandolo a YES.

A questo punto sarà sufficiente attivare una sessione SSH con l’opzione -X verso il server. all’interno di una sessione terminale eseguita dall’ambiente grafico della postazione di gestione.

ssh -X utente@ip-server

Figura1

Eseguito il comando si aprirà una sessione terminale verso il server Linux e sarà possibile visualizzare localmente un’applicazione grafica eseguita sul server in cloud.

Figura2: Browser Firefox eseguito su server Linux in Cloud ma visualizzato su postazione locale

Apparentemente questa modalità operativa non è di grande aiuto in quanto normalmente tramite l’interfaccia a caratteri è possibile effettuare la completa gestione di un sistema Linux, ma ad esempio, in installazioni dove è necessario avviare un browser locale al server per eseguire attività di configurazione, questo modo di operare risulta l’unico possibile, se non consideriamo la possibilità di installare VNC nella versione per Linux o altri software analoghi, ma implicano ulteriori attenzioni in termini di sicurezza.

Considerazioni relative all’ambiente Windows

Quanto visto fin qui è applicabile se la postazione da cui si esegue il management è anch’essa Linux, nel caso in cui la connessione avvenga da una postazione Windows dovremo installare su quest’ultima un server X-Windows in grado di dialogare con il sistema operativo in Cloud, esistono vari software anche a pagamento, in questo scenario abbiamo utilizzato XMing disponibile sul sito ufficiale, dopo aver fatto una modesta “donazione”, ma scaricabile anche da Sourceforge gratuitamente nella versione precedente. (unica nota è che ad oggi la versione “libera” non è ancora dichiarata compatibile con Windows 10)

Per poter eseguire, come nell’esempio visto prima, un’applicazione grafica, dobbiamo anche da Windows accedere con una sessione SSH sul server Linux, a questo scopo è possibile utilizzare PUTTY configurando la sezione relativa alla redirezione X11

Dopo aver definito il nome/indirizzo Host, nella configurazione SSH è sufficiente attivare il flag relativo alla funzione di X11 Forwarding, e dopo aver aperto la sessione terminale eseguire l’applicazione voluta

Figura 5 Browser Firefox eseguito su server Linux in Cloud ma visualizzato su postazione locale Windows

Lo scenario considerato è basato su una distribuzione Centos, come ho avuto modo di dire in articoli precedenti, trattandosi di sistemi Linux, ed essendo questo sistema operativo molto differente nelle varie distribuzioni, anche presenti in Azure, è possibile che ci siano alcune differenze di implementazione, è sempre consigliabile utilizzare MAN al fine di ottenere le informazioni puntuali sulla distribuzione in uso.

In breve queste sono le possibilità offerte per ottenere un accesso ad applicazioni grafiche che per ragioni differenti devono essere eseguite su un server Linux attivo in Azure. Come si è visto, il perno di tutta la funzione di redirezione del “desktop”, al di là del server X-Windows è SSH che in questo caso opera come un vero e proprio Tunnel, questa funzione è utilizzabile anche per effettuare l’accesso servizi che per motivi più diversi non sono esposti pubblicamente ma soltanto accessibili localmente, magari attraverso l’interfaccia di Loopback.

Utilizzo di SSH tunnel per accesso a PhpMyadmin su Azure VM LAMP

Le scelte disponibili dalla gallery di Azure comprendono numerose possibilità in ambito Open Source tra queste, per gli utilizzatori degli ambienti LAMP, (Linux Apache MySQL PhpMyadmin) sono disponibili ad oggi, una serie di immagini già preconfigurate. Alcune a pagamento, altre gratuitamente.

Utilizzando dalla gallery “l’immagine” Lamp fornita da Bitnami con pochi click possiamo installare un ambiente completo con le tre componenti configurate e funzionanti.

Una peculiarità di questa installazione è quella di avere l’accesso al servizio di PhpMyadmin accessibile esclusivamente dal localhost. Questa scelta è dettata esclusivamente da ragioni di sicurezza, in quanto è preferibile mantenere protetta la gestione di MySQL non esponendo il servizio sull’ip pubblico del server.

E’ possibile una gestione completa da riga di comando, ma le varie operazioni di configurazione non sono semplici, in uno scenario di questo tipo, l’accesso alla gestione è ragionevole che avvenga per mezzo del browser.

Consideriamo anche che in un ambiente Cloud-Based risulta difficile attivare una console grafica da cui eseguire un browser direttamente sul server linux e per contro, risulta sconveniente modificare la configurazione in modo da consentire un accesso “pubblico” al servizio.

Il sistema operativo Ubuntu, Bitnami usa questa distro per il deploy del server LAMP, è accessibile in SSH tramite un normale emulatore terminale.

Con SSH, come abbiamo visto in precedenza, è possibile definire un Tunnel in modo da incanalare il traffico verso porte normalmente bloccate utilizzando una sorta di redirezione. In questo modo è possibile accedere al servizio PhpMyadmin in ascolto sulla porta 80 LOCALHOST del server Lamp anche da postazioni esterne. Si evita così di dover utilizzare, come in questo caso, un browser sul server stesso.

Funzionamento del Tunnel SSH

Lo schema e le relazioni in gioco nei vari componenti è il seguente:

Figura 6

In pratica l’emulatore SSH opportunamente configurato “apre” una porta tcp (in questo caso 7654) in ascolto sull’host locale (il pc di gestione) e ridirige il traffico verso l’endpoint su cui ha effettuato la connessione, in questo modo tutto il traffico transita verso l’host attraversando il Tunnel cifrato reso disponibile da SSH.

Nello scenario descritto in questo documento il tunnel viene utilizzato per l’accesso al servizio Web Apache dell’amministrazione di MySQL, ma questa implementazione in generale è valida per tutti i servizi che per ragioni differenti si vogliono mascherare o non sono accessibili dall’ip pubblico dei server in Azure non necessariamente di questa sola immagine.

Se consideriamo la postazione remota con sistema operativo Windows possiamo utilizzare Putty come emulatore terminale SSH, la configurazione è semplice ed attivabile con pochi passaggi

Per prima cosa è necessario definire una connessione verso l’host dove è presente LAMP

Figura 7 Configurazione Putty

Successivamente selezionare nel ramo “connection” la voce SSH e poi ancora Tunnels (1)

Figura8 definizione delle opzioni per il Tunnel SSH

Nei campi a destra “Source Port” (2) e “Destination” (3) dovremo inserire rispettivamente la porta che verrà aperta sul pc locale, l’indirizzo del server in Cloud e la porta che ospita il servizio a cui vogliamo accedere, in questo caso trattandosi di PhpMyadmin in ascolto su porta 80 in Localhost imposteremo questo valore.

Nel caso si volesse, tramite questa connessione SSH in Tunnel, accedere ad un altro host sulla rete in Azure, sarà sufficiente digitarne l’ip o il nome fqdn. In questo caso il server su cui è attiva la connessione opererà come una sorta di gateway verso l’host desiderato.

La possibilità offerta dall’impostazione al punto (4) permette, al client locale su cui Putty è attivo, di operare come gateway, analogamente a quanto detto per il punto 3, ma dal lato della rete on-Premise in questo modo le varie postazioni potranno “puntare” all’indirizzo Ip/Porta della postazione ed accederanno al medesimo servizio su Azure.

Figura 9 apertura del socket sulla porta configurata

Utilizzando un browser dal lato client è sufficiente riferirsi all’indirizzo localhost in porta 7654 per accedere.

Figura 10

Questa configurazione è possibile tramite Putty su sistemi Windows ma se on premise disponessimo di un host con sistema operativo Linux sarà sufficiente eseguire SSH da riga di comando con i parametri corretti.

Figura 11 SSH Tunnel in Linux

La sintassi del comando in Linux è la seguente:

ssh -N -L:<porta-locale>:127.0.0.1:<porta-remota> utente@host-remoto

NOTA BENE se il comando, richiesta la password di autenticazione, non ritorna errori ma resta con il cursore lampeggiante senza ritornare al prompt comandi il funzionamento è regolare.

Per verificare la correttezza della configurazione è sufficiente anche in questo caso aprire la pagina di PhpMyadmin

Figura 12 accesso a PhpMyadmin

Per questa configurazione è stato utilizzato Putty come applicazione Client in Windows, ma normalmente i vari emulatori SSH prevedono la funzionalità di Tunneling. L’emulatore PUTTY è liberamente utilizzabile, leggero e non richiede installazione, in commercio esistono vere e proprie applicazioni che oltre ad essere emulatori hanno in sé anche la componente di X-Windows server.

Tra tutti quelli disponibili Mobaxterm ha la possibilità di un uso libero fino a otto sessioni verso diversi Host

Riferimenti:

Mobaxterm guida alla configurazione di un tunnel ssh

Putty download

Deploy PKI in Windows Server 2016 – Parte 1 Architettura di una PKI Two-Tier

$
0
0

Prima di implementare una Certification Authority (CA) occorre pianificare attentamente la infrastruttura della Public Key Infrastructure (PKI) più adatta alla propria organizzazione. La prima valutazione che occorre fare è quella del numero di CA necessarie valutando le il grado di sicurezza necessario per la PKI, le necessità di alta disponibilità e il carico amministrativo necessario per la gestione.

Una CA in ambiente Windows può essere di tipo Standalone, che non richiedere l’integrazione con Active Directory, ma più complessa da amministrare in quanto non consente l’utilizzo dei modelli di certificato. In alternativa è possibile avere CA di tipo Enterprise che devono essere integrate in Active Directory, ma la cui gestione è più semplice grazie ai modelli di certificato.

Inoltre le CA si suddividono ancora in Root CA o Subordinate CA. Le Root CA sono in cima alla catena dei certificati e rilasciano i certificati alle Subordinate CA. Dal momento che il primo obbiettivo durante la pianificazione di una PKI è quello di preservarne la sicurezza evitandone la compromissione, una struttura PKI che ben si concilia con tali esigenze di sicurezza con carico amministrativo di gestione non elevato è quella Two-Tier (a due livelli) riportata nel seguente schema che verrà utilizzato come scenario di esempio.

La Root CA viene mantenuta normalmente spenta di conseguenza è preferibile che non sia integrata in Active Directory di conseguenza dovrà essere Standalone e non Enterprise, mentre la Subordinate CA a cui verrà demandano il compito di rilasciare i certificati sarà di tipo Enterprise per beneficiare dell’utilizzo dei modelli di certificato e dell’integrazione con Active Directory.

Come riportato in Optimizing the Revocation Experience conviene però gestire la Certificate Revocation List (CRL) solo tramite HTTP anziché tramite LDAP configurando un server web che si occuperà della pubblicazione evitando di assegnare tale ruolo alla Subordinate CA per ragioni di sicurezza soprattutto nel caso in cui la CRL debba essere pubblicata in Internet:

“Although AD DS enables publication of CRLs to all domain controllers in the forest, we recommend implementing HTTP instead of LDAP for revocation information publication. Only HTTP enables the use of the ETag and Cache-Control: Max-age headers providing better support for proxies and more timely revocation information. In addition, HTTP provides better heterogeneous support as HTTP is supported by most Linux, UNIX, and network device clients.”

Per ulteriori informazioni si vedano:

Installazione e configurazione del server web per la distribuzione della CRL

Prima di procedere all’installazione delle CA occorre provvedere a installare e configurare il server web che si occuperà di pubblicare la CRL e i certificati delle CA necessari nei casi in cui i certificati distribuiti non contengano la catena dei certificati.

Il server web che pubblicherà la CRL può essere un server in Workgroup per il quale è stato configurato un record DNS di tipo A relativo all’Hostname e un record DNS di tipo CANAME per evitare l’URL della CRL che sarà contenuto all’interno di ogni certificato faccia riferimento all’hostname del server sia per consentire la configurazione dell’alta disponibilità della CRL che per ragioni di sicurezza in modo da evitare di diffondere informazioni sull’infrastruttura interna.

Nello scenario di esempio saranno creati i seguenti record DNS:

Nome Tipo record DNS Valore
web01

A

10.0.0.40
crl

CNAME

Web01.ictpower.local

Aggiungere sul server il ruolo Web Server (IIS) con le impostazioni di default.

Creare una cartella dedicata a contenere le CRL e i certificati delle CA che saranno poi pubblicati dal server web, per sicurezza creare tale cartella in disco dedicato diverso dal disco di sistema. Nello scenario di esempio verrà creata la cartella CertEnroll sul volume S:. Creare sul server web un account locale che non sia membro di alcun gruppo locale a cui condividere tale cartella in scrittura, tale account verrà poi utilizzato dalle CA per caricare le CRL e i certificati delle CA in modo che il server web li possa pubblicare. Nello scenario di esempio verrà creato un account CAUser.

Configurare in IIS una Virtual Directory nel Default Web Site che punta alla cartella S:\CertEnroll con accesso anonimo, nello scenario di esempio la Virtual Directory sarà denominata CertEnroll. Per configurare l’accesso anonimo alla Virtual Directory aggiungere gli utenti ANONYMOUS LOGON e Everyone nel tab Security che per default avranno i privilegi di accesso in lettura.

Configurare delle Regole di Filtro per la Virtual Directory per consentire il double escaping per evitare che il carattere “+” che è contenuto nel URI delle delta CRL venga bloccato, a riguardo si veda AD CS: Web server should allow URI containing the “+” character to enable publishing of delta CRLs:

“The certificate revocation list (CRL) distribution point extension on this certification authority (CA) includes a URI for a remote Web server. If the Web server is running IIS 7.0 with the default configuration, then delta CRL URIs that contain the plus sign (+) will be blocked.

Request filtering in Internet Information Services (IIS) scans the content of incoming requests, which can be blocked or allowed to meet the requirements of an organization’s security policy. In IIS 7.0, the default request filtering configuration blocks requests that include the plus sign (+) in the URI. The plus sign (+) is present in the URI of delta CRLs and must be allowed by the Web server.”

Riavviare IIS tramite Internet Service Manager o tramite il comando:

iisreset /restart

Per pubblicare la CRL e il Certificato della CA non è possibile utilizzare HTTPS a riguardo si vedano i post How to Publish the CRL on a Separate Web Server (di Carol Bailey dipente Microsoft) e Designing CRL Distribution Points and Authority Information Access locations (Vadims Podāns Microsoft MVP Cloud and Datacenter Management).

“Certificate revocation lists cannot be accessed over HTTPS so to add HTTP access to one of your Internet-based site system servers would greatly increase the risk of an attacker connecting to this server.”

“NEVER use HTTPS protocol for CRT/CRL file retrieval, because CryptoAPI will permanently fail to fetch this URL.”

Viewing all 75 articles
Browse latest View live