Una panoramica sul mondo della Sicurezza Informatica, del Networking, della Virtualizzazione e non solo. Blog particolarmente indicato per i reparti IT che comunque alterna articoli scritti per specialisti con articoli formulati con linguaggio semplice e comprensibile a tutti.

Ogni articolo di questo blog è stato integralmente scritto dall'autore. Il contenuto è completamente originale e la riproduzione, anche parziale, è vietata salvo autorizzazione.

giovedì 28 maggio 2015

Nuova normativa europea sui cookie, in breve

Da qualche tempo ed in quasi ogni sito si vede spuntare la fatidica domanda "questo sito utilizza i cookie, acconsenti?". Proviamo a riepilogare, banalmente e con un linguaggio comprensibile a tutti (questo blog viene seguito da addetti ai lavori, ma anche da utenti comuni), di cosa si tratta.


Cosa sono i cookies in due parole?


I cookies sono delle informazioni che un sito memorizza all'interno del browser per ricordarsi di impostazioni e preferenze, ma non solo. Quando, ad esempio, accediamo a facebook cliccando su "ricorda login", le volte successive non inseriamo alcuna password. Questo perchè un cookie viene memorizzato nel nostro browser e, all'accesso successivo, viene richiamato dal sito per ricordarsi di noi.
Sto banalizzando, intendiamoci, ma indicativamente il cookie contiene informazioni che ci rendono riconoscibili.






Quindi? Perchè non dovrei accettarne l'utilizzo?


Perchè non tutti i cookie sono di natura tecnica. Alcuni cookie "traccianti" memorizzano informazioni che poi altri siti consultano per scopi pubblicitari. Se ora vado su un grande negozio online e cerco uno smartphone, mi ritroverò probabilmente per almeno una settimana la pubblicità mirata sempre su quello  stesso oggetto. Questo perchè il sito ha salvato un cookie contenente le mie preferenze (categorie ed oggetti consultati) ed altri siti nello stesso circuito pubblicitario vengono informati. Di conseguenza subirò una tartassante pubblicità riguardante quell'oggetto o quella categoria di oggetti. E' capitato a tutti.


Cosa è cambiato?


Una legge europea, cambiata svariate volte nel corso dell'ultimo quinquennio, stabilisce che l'utilizzatore venga esplicitamente informato sulle modalità con cui il sito stesso utilizza i dati raccolti. Tutto questo richiamando la Privacy Policy chiaramente visibile all'interno del sito e contenente anche le modalità di utilizzo dei cookie.
L'ultima variazione di questa legge prevede che l'utente debba accettare esplicitamente i cookie. Pena, multe da 6.000 fino a 120.000 euro per i rappresentati legali del sito web (in caso di omessa informativa e/o installazione dei cookie senza consenso).
Entro il 2 Giugno 2015, quindi, ogni sito deve chiedere esplicitamente l'autorizzazione all'utilizzo dei cookie. 

"Individuazione delle modalità semplificate per l'informativa e l'acquisizione del consenso per l'uso dei cookie” (Gazzetta Ufficiale n. 126 del 3 giugno 2014)


Solo pochi grandi brand hanno potuto strutturare una politica di accettazione davvero pienamente aderente alla normativa, in grado di consentire una scelta granulare.


E' una legge giusta?


A mio modesto avviso: no. Innanzitutto perchè i cookie sono fondamentali per la navigazione, quindi la maggior parte dei siti pone l'utente dinnanzi ad un out-out "se non accetti, esci". 
In secondo luogo perchè ogni messaggio ripetuto diventa inesorabilmente inutile, se ogni sito chiede di utilizzare i cookie e ti fa cliccare su "ok", alla fine diventa solo un'operazione in più, senza alcuna riflessione da parte dell'utente. Un pò come le escalation di permessi di Windows, quando ne chiedi troppi, l'utente tipico cliccherà sempre su OK, senza leggere di cosa si tratta ma solo per effetto della familiarità che genera il messaggio.
Terzo, non vi è grande distinzione tra i cookie lesivi della privacy e quelli tecnici, la legge (pur cercando di discernere) ha fatto, in realtà, di tutta un'erba un fascio. Ci sono cookies innocui e cookies estremamente lesivi della propria privacy, ma la difficoltà nel capire il sottile limite che li differenzia, ha spinto quasi tutti i gestori di siti web a generalizzare ed adottare una formula di tipo "o tutto o niente".
Quarto: da sempre i browser consentono di bloccare i cookies, un utente smaliziato poteva già intervenire in tal senso. E per l'utente medio non cambierà comunque nulla e cliccherà sempre su "accetta".
Sarebbe stato molto meglio che la richiesta esplicita fosse stata obbligatoria solo per i cookie traccianti e lesivi della privacy, escludendo completamente i cookie tecnici, ma anche quelli statistici senza profilazione. Solo allora un utente poteva giudizievolmente accettare o meno. Invece ora è costretto a cliccare sempre sull'autorizzazione, altrimenti i servizi sono negati, trasformando questa legge in un'inutile mossa con l'unico effetto di essere stata in grado di molestare centinaia e centianaia di milioni di utenti.


Plugin


Ci sono innumerevoli plugin per Joomla, WP e quant'altro. Io ne ho provati diversi ed ho deciso di utilizzare questo (per Joomla, gratuito). Non bisogna, tuttavia, dimenticarsi di inserire una Privacy Policy perfettamente compliant all'interno del proprio sito. Fatevi consigliare sempre da professionisti del settore. Se vi serve, ne conosco un paio davvero in gamba su questi argomenti.

martedì 12 maggio 2015

Raspberry PI, w1 Linux Raspian Kernel bug & Process Priority

Scenario

In alcune particolari condizioni, abbiamo avuto modo di verificare, io ed il mio collaboratore Senior Luca, dei Kernel Panic sollecitati dalla lettura del modulo 1wire.

Il kernel panic si verifica:

  • su kernel 3.18.9+, Raspian armv6l (non ho informazioni circa versioni differenti, più o meno recenti rispetto a questa)
  • solo su CPU mono core (quindi RaspBerry Pi 1 e non RaspBerry Pi 2)
  • quando istruzioni pygame sono in esecuzione
  • quando si verifica un overload della CPU (tuttavia questo non è estremamente rilevante)
  • quando il numero di processi python aumenta
  • a prescindere dalle sonde (ne abbiamo cambiate 10 e abbiamo cambiato 5 raspberry, riproducendo il problema anche con hardware completamente differente)

Cosa Accade

Inizialmente una serie di letture delle sonde w1 danno errori di CRC:


May 11 20:11:16 AS15C3101B kernel: [  392.757953] w1_slave_driver 28-000005a01d7f: Read failed CRC check
May 11 20:11:43 AS15C3101B kernel: [  419.917527] w1_slave_driver 28-00000696eb99: Read failed CRC check
May 11 20:12:30 AS15C3101B kernel: [  466.413438] w1_slave_driver 28-00000696eb99: Read failed CRC check
May 11 20:12:44 AS15C3101B kernel: [  480.799177] w1_slave_driver 28-0000054ebd49: Read failed CRC check
May 11 20:12:50 AS15C3101B kernel: [  486.936962] w1_slave_driver 28-000005a01d7f: Read failed CRC check
May 11 20:13:06 AS15C3101B kernel: [  502.939939] w1_slave_driver 28-0000054ebd49: Read failed CRC check
May 11 20:13:14 AS15C3101B kernel: [  510.917800] w1_slave_driver 28-000005a01d7f: Read failed CRC check
May 11 20:13:28 AS15C3101B kernel: [  524.425806] w1_slave_driver 28-0000054ebd49: Read failed CRC check
May 11 20:13:36 AS15C3101B kernel: [  532.149026] w1_slave_driver 28-000005a01d7f: Read failed CRC check
May 11 20:13:51 AS15C3101B kernel: [  547.247455] w1_slave_driver 28-0000054ebd49: Read failed CRC check
May 11 20:22:55 AS15C3101B kernel: [  394.467714] w1_slave_driver 28-0000054e5d76: Read failed CRC check
May 11 20:23:35 AS15C3101B kernel: [  433.749331] w1_slave_driver 28-00000696eb99: Read failed CRC check
May 11 20:23:49 AS15C3101B kernel: [  448.129373] w1_slave_driver 28-0000054e5d76: Read failed CRC check
May 11 20:23:59 AS15C3101B kernel: [  457.658434] w1_slave_driver 28-00000696eb99: Read failed CRC check
May 11 20:24:55 AS15C3101B kernel: [  513.698751] w1_slave_driver 28-000005a137c6: Read failed CRC check
May 11 20:27:48 AS15C3101B kernel: [  687.187439] w1_slave_driver 28-000005a137c6: Read failed CRC check
May 11 20:28:02 AS15C3101B kernel: [  701.376795] w1_slave_driver 28-000005a137c6: Read failed CRC check
May 11 20:33:18 AS15C3101B kernel: [ 1017.072088] w1_slave_driver 28-00000696eb99: Read failed CRC check



Successivamente tendono persino a scomparire per poi ricomparire a breve e, per finire, il kernel va in panic dando messaggi di errore anche in broadcast. 

Message from syslogd@AS15C1302B at May 11 20:39:56  ...
 kernel:[ 2614.966264] 5f00: 5550f5f9 37b02fc0 00001a62 dcef5f78 dcef5f3c dba05320 01825000 dcef4000
Message from syslogd@AS15C1302B at May 11 20:39:56 ...
 kernel:[ 2614.966286] 5f20: dcef5f78 00008000 01825000 00000000 dcef5f74 dcef5f40 c0137e6c c01a9a38
Segmentation fault


Nei /var/log/messages non c'è molto, a dire il vero:


May 11 20:34:56 AS15C3101B kernel: [ 1115.363581] Modules linked in: i2c_dev stmpe_ts snd_bcm2835 snd_pcm snd_seq snd_seq_device snd_timer snd evdev uinput fb_ili9340(C) fbtft(C) syscopyarea sysfillrect sysimgblt fb_sys_fops spi_bcm2708 i2c_bcm2708 8192cu w1_therm lirc_rpi(C) w1_gpio wire lirc_dev cn rc_core uio_pdrv_genirq uio
May 11 20:34:56 AS15C3101B kernel: [ 1115.363724] CPU: 0 PID: 24237 Comm: cat Tainted: G         C     3.18.9+ #768
May 11 20:34:56 AS15C3101B kernel: [ 1115.363742] task: dbb0b600 ti: daf0e000 task.ti: daf0e000
May 11 20:34:56 AS15C3101B kernel: [ 1115.363778] PC is at w1_slave_show+0x2d8/0x398 [w1_therm]
May 11 20:34:56 AS15C3101B kernel: [ 1115.363804] LR is at vsnprintf+0x27c/0x3e0
May 11 20:34:56 AS15C3101B kernel: [ 1115.363820] pc : [<bf04336c>]    lr : [<c02fb36c>]    psr: 20000113
May 11 20:34:56 AS15C3101B kernel: [ 1115.363820] sp : daf0fe08  ip : bf0435c0  fp : daf0fe54
May 11 20:34:56 AS15C3101B kernel: [ 1115.363840] r10: 0000001f  r9 : daf0fe27  r8 : daf0fe27
May 11 20:34:56 AS15C3101B kernel: [ 1115.363854] r7 : dcf70a50  r6 : dcfb8000  r5 : 00000fe5  r4 : 00000000
May 11 20:34:56 AS15C3101B kernel: [ 1115.363867] r3 : 00000000  r2 : 1002ff7f  r1 : 464b01de  r0 : 0000000d
May 11 20:34:56 AS15C3101B kernel: [ 1115.363882] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
May 11 20:34:56 AS15C3101B kernel: [ 1115.363896] Control: 00c5387d  Table: 1ad54008  DAC: 00000015
May 11 20:34:56 AS15C3101B kernel: [ 1115.364356] [<bf04336c>] (w1_slave_show [w1_therm]) from [<c0361650>] (dev_attr_show+0x2c/0x58)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364394] [<c0361650>] (dev_attr_show) from [<c01aa838>] (sysfs_kf_seq_show+0x9c/0x104)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364424] [<c01aa838>] (sysfs_kf_seq_show) from [<c01a9168>] (kernfs_seq_show+0x34/0x38)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364452] [<c01a9168>] (kernfs_seq_show) from [<c015c310>] (seq_read+0x1b8/0x488)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364481] [<c015c310>] (seq_read) from [<c01a9b50>] (kernfs_fop_read+0x124/0x16c)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364511] [<c01a9b50>] (kernfs_fop_read) from [<c0137e6c>] (vfs_read+0x98/0x188)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364538] [<c0137e6c>] (vfs_read) from [<c0138580>] (SyS_read+0x4c/0xa0)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364573] [<c0138580>] (SyS_read) from [<c000e800>] (ret_fast_syscall+0x0/0x48)
May 11 20:34:56 AS15C3101B kernel: [ 1115.364679] ---[ end trace d47c3c19eebad7da ]---

Da questo momento in poi qualsiasi interrogazione sulle sonde w1 rimarrà in hang e bloccherà la shell o qualsiasi script che richiami questa informazione. Anche un semplice cat del valore di w1_slave.

rmmod e modprobe dei moduli w1 rimarranno in hang esattamente come tutto ciò che riguarda anche il modulo w1_thermal w1_slave e w1_bus.


Scatenare l'errore

Più interrogazioni si fanno sulle sonde w1, più avremo probabilità di scatenare il Kernel Panic.

Un modo efficace per mandare in hang il sistema può essere questo:

(bash)# while [ true ]; do cat /sys/bus/w1/devices/28-*/w1_slave; sleep 1; done

Se il sistema è affetto dal problema, nel giro di 60 minuti diventerà instabile.


Ipotesi

Una delle ipotesi che abbiamo formulato si basa sull'assenza di clock hardware nel Raspberry. Tale mancanza, emulata a livello software tramite timer interrupt, potrebbe produrre (in determinate e rare circostanze di carico e utilizzo di risorse) una dilatazione del clock, causando difficoltà nella gestione dell'hardware comunicante in half-duplex (che quindi utilizza dei timing precisi) come quello w1.

E' solo un'ipotesi, ma nel paragrafo successivo vedremo come lavorando sui nice del processore si producano dei miglioramenti.


Soluzioni (più o meno artigianali)

Intendiamoci, può accadere qualsiasi cosa, ma un Kernel deve gestire questo tipo di problema. Il fatto che si pianti (non del tutto, perchè riusciamo ancora a riavviare mediante un reset di tipo echo 1 > /proc/sys/kernel/sysrq ), non è comunque normale. Di fatto tutta la parte w1 entra irrimediabilmente in hang fino al riavvio del sistema.

Perdendoci la testa, correlando l'errore non presente sui sistemi multicore e seguendo la traccia dell'ottimizzazione dell'utilizzo della singola risorsa CPU, ci siamo accorti di una cosa:

# ps -lfax | grep w1_bus_master
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
1     0      247     2    20   0        0        0     w1_pro           S    ?              0:17   \_ [w1_bus_master1]

# nice
0

(Per chi non lo sapesse, nice è il comando linux in grado di forzare una priorità di CPU durante l'esecuzione di un processo. Renice è il suo omonimo in grado di cambiarla ad un processo esistente.)

Nonostante il nice di default fosse 0, w1_bus_master veniva eseguito con nice 20. In situazioni di high-cpu-load, quindi, un processo "tradizionale" parrebbe essere eseguito con una priorità maggiore di un processo di sistema così delicato.

Tanto per iniziare, quindi, abbiamo dato una priorità di utilizzo CPU a -20 (il massimo impostabile "tradizionalmente"):

# renice -n -20 $( ps -aux | grep w1_bus_master | grep -v "grep" | sed -n 1p | awk '{ print $2 }' );

Successivamente abbiamo trovato una profonda correlazione scatenante con l'esecuzione di uno script python contenente librerie pygame. Abbiamo, quindi, startato lo script con nice -n 39 python script.py

Questi due accorgimenti, insieme ad un'ottimizzazione dello script python e al numero di processi che esso generava, sono bastati a ridurre drasticamente i kernel panic e gli errori CRC in lettura del bus w1. Ad ora, dopo quasi 4.000 interrogazioni, non ho avuto nemmeno un CRC error e, ovviamente, di conseguenza nessun Kernel Panic o Kernel Mod Hang. 
Senza gli accorgimenti di cui sopra, ricevevo circa il 20% di errori CRC, prima di causare (prima o poi) un prevedibile crash del Kernel e del suo modulo di gestione w1.

lunedì 4 maggio 2015

Active Directory Domain Services: Domini, Siti, Alberi e Foreste pur non avendo il pollice verde

Come visto nel precedente articolo, Active Directory è diventata una suite di più servizi di cui il ruolo regina rimane AD DS, ovvero Active Directory Domain Services.

AD DS è in grado di raccogliere account, computer, stampanti, gruppi, etc. e di racchiuderli all'interno di un dominio Active Directory.


Domini, UO e Gruppi

Immaginiamo di avere un'azienda con 20 postazioni e di volerne centralizzare la gestione, l'autenticazione e l'attribuzione di permessi di sicurezza. AD è lo strumento principe in ambienti Microsoft ed il contesto entro il quale racchiuderemo i nostri oggetti viene definito Dominio.

All'interno del Dominio AD possiamo creare delle "Unità Organizzative" (con oggetti coerenti tra di loro) che condividono Group Policy, ovvero gruppi di regole prestabilite. A loro volta possiamo scendere ulteriormente nel dettaglio creando dei gruppi di distribuzione all'interno dell'Unità Organizzativa o del dominio madre.


Questa è una tipica e classica infrastruttura AD DS monodominio, dove le risorse all'interno dell'azienda sono sufficientemente contenute da essere racchiuse entro i limiti logici di un singolo dominio.

Questo, ovviamente, prescinde dallo strato hardware e da quanti Domain Controller avremo.


Siti

Mediante l'introduzione di una politica di Sito, è possibile stabilire che un gruppo di utenti debba autenticarsi su un Domain Controller ed un altro gruppo su un altro, pur rimanendo all'interno dello stesso dominio. Normalmente i Siti sono WAN differenti le cui connessioni non sono affidabili e performanti come quelle di LAN.
Si tratta di una soluzione comoda e relativamente rapida per aziende multisede. I vantaggi sono evidenti: sopravvivenza in caso di problemi di connessione e contenimento del traffico geografico.




Alberi e Foreste

I Domini possono avere "profondità" a piacimento e concettualmente possiamo vederli come dei rami di un albero. Facciamo finta di non aver creato i Siti e, per necessità organizzative, sentire l'esigenza di creare uno o più altri sotto-domini chiamati a loro volta bari.azienda.loc e milano.azienda.loc. A sua volta su milano.azienda.loc potrei voler creare spinoff.milano.azienda.loc.

Ho creato un albero di domini, ognuno con le proprie risorse.

Qualora io decida di creare un nuovo dominio chiamato azienda2.loc ed abbia deciso di creare una relazione di "Trust" tra i due domini, ho creato sostanzialmente una foresta.


Intendiamoci, sono situazioni abbastanza limitate, probabilmente una multinazionale sentirà l'esigenza di strutturare una foresta, ma difficilmente ci troveremo a dover andare oltre il concetto di albero. Nella maggior parte delle installazioni contenute, una gestione accurata di Unità organizzative e Siti risulta più che sufficiente.

Quando utilizzare i siti e le foreste? Bella domanda, probabilmente uno dei motivi principali che ci spinge a creare più domini è l'assegnazione di amministratori di dominio in grado di far tutto, ma entro i limiti del proprio dominio. Ovviamente diversi dagli amministratori dell'intera foresta. Possiamo semplificare dicendo che due domini possono essere amministrati singolarmente da due amministratori e da un terzo (gerarchicamente più importante) in grado di amministrarli entrambi. Ed è già un buon motivo per creare due domini o sottodomini separati.

Ok, anche le Unità Organizzative possono avere amministratori diversi. Ma questa è un'altra storia...


Relazioni di Trust (o di fiducia) tra Domini

Il trust è automatico, bidirezionale e transitivo tra più domini della stessa foresta. Gli Enterprise Admin e gli Schema Admin potranno modificare tutto di tutti, gli amministratori di dominio, invece, solo il singolo dominio.

Per transitivo si intende l'estensione del concetto di fiducia a tutti i domini di cui il dominio in trust si fida. Se A si fida di B, che a sua volta si fida di C, A si fida automaticamente di C.

Viene definito Trusting Domain quello che contiene le risorse (immaginiamo ad un account e le sue relative credenziali) e il Trusted Domain quello che le richiama.


Cataloghi Globali

I server che detengono il ruolo di Catalogo Globale sono adibiti a facilitatori per le query extradominio. Se sono un utente alla ricerca di una stampante in un dominio diverso dal mio (ma all'interno di una foresta ove vige una relazione di Trust), posso contattare N server alla ricerca della stampante oppure posso contattare un Catalogo Globale che detiene l'indice di tutti gli oggetti di tutti i domini, facilitandomi e velocizzandomi il lavoro.
Ovviamente i Cataloghi Globali non hanno senso qualora io abbia un unico Dominio AD.



Conclusioni

I Servizi di Dominio Active Directory possono facilitare la gestione di reti molto semplici o molto complesse. E' bene trovare il giusto equilibrio, altrimenti invece di semplificare le cose, le renderemo più complicate. 
Morale della favola: se ho 20 macchine in un'unica sede, semplificherò la gestione creando un singolo dominio e magari più Unità Organizzative. Al tempo stesso se ho 30 sedi con EDP locali, semplificherò la mia gestione creando 30 sottodomini e strutturando magari una foresta. 
Ma se ho 20 macchine e creo una foresta con 15 domini, probabilmente ho molto tempo libero e sono consapevole che la gestione diventerà facilmente un incubo. Ad ognuno, il suo.
AD DS si presta ad essere inserito in ogni realtà, dal microbusiness all'enterprise. E' sufficiente utilizzare gli strumenti giusti contestualizzandoli alle dimensioni e alle architetture in essere.
Sembra banale? Eppure è pieno di aziende con un solo dominio pur avendo 300 macchine con IT dipartimentali.



Discaimer: Ogni articolo di questo blog è stato integralmente scritto dall'autore. Il contenuto è completamente originale e la riproduzione è vietata salvo autorizzazione.

L'evoluzione di Active Directory

Per chi ha avuto di interfacciarsi con Microsoft Active Directory a partire da Windows 2000 Server in poi, diventa spesso innaturale comprendere cosa è diventato AD oggi (ovvero una suite di componenti estremamente vasta che amplia il concetto originario di Dominio).
Ma andiamo con ordine.

In principio...

In principio Active Directory era identificato principalmente con il servizio di gestione dominio. Consentiva, difatti, di raggruppare oggetti (principalmente utenti, gruppi e computer) sotto un unico "cappello" denominato Dominio AD.

Nel 2000 esisteva un Domain Controller primario ed uno di backup che replicava. La differenza maggiore con l'introduzione di Windows Server 2003 consisteva nell'architettura "multimaster" in grado di rendere tutti i Domain Controller paritetici.

Da Windows Server 2008 vediamo sempre più strutturate le Group Policy (non che prima non lo fossero, ma da qui in poi le possibilità si ampliano esponenzialmente, anche grazie a Windows Vista e 7) e inizia a prendere forma la Suite AD come la conosciamo attualmente.


Lo stato dell'arte

Oggi, da Windows Server 2012 in poi, Active Directory è diventato una suite vera e propria che include staticamente 5 fondamentali strumenti che, seppur separati tra di loro, compongono i ruoli AD.




Servizi di Dominio (AD DS)

Si tratta di tutto il sistema di directory e gestione utenti, computer e dispositivi. Ovvero Active Directory esattamente come lo conoscevamo prima.

Nel prossimo articolo parleremo meglio di AD DS, di dove salva i file di schema, dei Cataloghi Globali e di Domini, Siti, Alberi e Foreste. E no, se ve lo state chiedendo, non mi è venuto il pollice verde.


Servizi di Federazione (AD FS)

Consente l’accesso alle risorse esterne mediante meccanismi di autenticazione ibridi. Non aggiunge nulla ad AD DS, ma consente di ampliare l'autenticazione e l'accesso alle risorse oltre i confini del proprio dominio AD.

Gli scenari sono tipicamente dei trust monodirezionali B2B oppure B2U.

La federation Trust è la possibilità di un’organizzazione di fidarsi di un’altra utilizzando, ad esempio, componenti autenticativi.


Servizi di Certificati (AD CS) 

Tutta la gestione delle chiavi, dei certificati e della relativa creazione e revoca. Sostanzialmente AD CS crea una Certification Authority attendibile per il dominio stesso (pur gestendo certificati di terze parti pubblicamente riconosciuti, ad esempio da utilizzarsi su webserver).

Sono molti i servizi che possono utilizzare un certificato interno (seppur self-signed). Servizi di Load Balancing, HA, autenticazione degli utenti, etc...

Il sistema AD CS supporta, inoltre, un meccanismo di enrollment (o reclutamento, in italiano) in grado di generare un certificato al primo accesso.


Lightweight Directory (AD LDS)

AD LDS è un archivio vuoto simil AD DS, con accesso LDAP, ma senza le restrizioni dello schema AD normale. Tipicamente viene utilizzato per non "sporcare" lo schema AD DS, pur utilizzandolo per altre applicazioni.


Supporta Istanze Multiple, ed ogni istanza contiene 3 partizioni: Schema, Configurazione e Applicazione.

Le porte predefinite 389 e 636 possono essere cambiate in fase di configurazione. Se il server è anche un controller di dominio, lui proporrà porte libere, ovvero 50000 e 50001.

Possiede una serie di tools:
Wizard > crea nuove istanze e nuove repliche

ADSIEdit > visualizza e modifica i dati
LDP > come sopra + creazione istanze applicative
Ldifde e Csvde > importa/esporta dati
Dsacls > setta i permessi
AdamSync > sincronizza delle istanze ADDS con ADLSD
ADSchemaAnalyzer > usato nella migrazione dello schema AD in ADAM


Gestione Diritti (AD RMS)

A mio avviso uno dei servizi più interessanti, dopo l'immancabile AD DS, ovviamente. Gestisce la sicurezza del dato (utilizzandolo con un software compatibile), estendendone i permessi anche al di fuori del perimetro o del dominio aziendale.

Facciamo qualche esempio:

Word/Excel/PowerPoint: posso impostare un permesso di lettura e di scrittura anche per singolo destinatario ed anche vincolato da un periodo di validità (oltre il quale il file diventa non più utilizzabile). Posso impedire la stampa pur consentendone la visualizzazione a video, ad esempio.

Outlook: Posso impostare il blocco dell'inoltro dell'email o, come sopra, impedirne la stampa ma non la visualizzazione a video.

E così via per Explorer e indicativamente tutti i software Microsoft RMS compatibili.



Affinchè il servizio RMS funzioni correttamente, un server RMS deve essere pubblicato. L'applicativo dell'utente destinatario che aprirà il file riconoscerà la crittografia mediante servizio RMS e saprà, quindi, a quale server pubblico rivolgersi per ricevere i permessi riguardanti le operazioni consentite.