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.

martedì 21 luglio 2015

Hard Disk, una breve panoramica nel mondo NAS/SAN oriented

Premessa a tutti gli articoli riguardanti l'argomento storage

Ormai è più di un mese che approfondisco la questione storage e, grazie anche all'aiuto di colleghi particolarmente esperti nel settore (e che gentilmente hanno deciso di condividere le proprie esperienze all'interno di gruppi di discussione) ed a specifici ed importanti investimenti, sia in corsi di formazione (multivendor) sia in hardware, ho scoperto che alle spalle dell'argomento Storage c'è un mondo molto più ampio e molto meno banale di quanto si possa normalmente immaginare. Normalmente si tende a pensare che sì, sia un settore importante ed articolato, ma comunque entro certi limiti. Invece più vado avanti e più lo scenario di arricchisce di variabili, opzioni, riflessioni e nodi da comprendere. Anche perchè, diciamocelo, sbagliare lo storage in una virtualizzazione è un attimo, le cui conseguenze sono spesso anche irrimediabili.

Nel mio piccolo, ho deciso di condividere i miei studi ed i miei approfondimenti trattando l'argomento in vari articoli così suddivisi:

- Gli Hard Disk
- La SAN (cache, RAID, performance)
- Il collegamento tra SAN e Infrastruttura Virtuale (performance e riflessioni sull'hardware, iSCSI, NFS, SAS, FC)

Con l'occasione, metterò anche ordine alle mie idee.

Questo primo articolo riguarderà, appunto, le dita della mano, ovvero i Dischi. Argomento indubbiamente più semplice di tutti, ma non meno importante, anzi.


Tipologie

Tanto per iniziare, i dischi si dividono in 4 macro categorie:
  1. SATA, 7.200 rpm, 70 IOPS medi, capienti e molto economici
  2. SAS 10.000 rpm, 140 IOPS medi, meno economici ma più performanti dei SATA
  3. SAS 15.000 rpm, 200 IOPS medi, molto veloci ma abbastanza costosi
  4. SSD, 100.000 IOPS medi (chi più chi meno), velocissimi (un altro pianeta, soprattutto in R/W random), ma costosissimi
I primi tre dischi sono di tipo magnetico, il quarto è a memoria a stato solido. Ovviamente, all'aumentare delle prestazioni aumenta esponenzialmente il costo per GB. Un elenco ben dettagliato è disponibile qui.


Fin qui nulla di nuovo, nel dimensionare uno storage i dischi saranno spesso il punto più importante, sia per costi, sia per prestazioni. La scelta dei dischi condizionerà pesantemente ogni altra riflessione (che comunque vedremo negli articoli successivi). Già in uno storage a 24 o 48 baie, è facile comprendere che spendere 110 euro a disco di 3Tb/cad è diverso da spenderne 650 per 120Gb/cad. A prescindere dalla ridondanza, dal numero di controller e dall'espandibilità, salta subito all'occhio che il dimensionamento di uno storage è il frutto di un compromesso tra performance, costi e capienza. Sempre.


Dischi economici e dischi enterprise: panoramica


Perchè, ad apparente parità di tecnologia e performance, un Hard Disk di fascia alta può costare anche quattro volte rispetto ad uno di fascia bassa?

Sono sincero, ci ho messo giorni a scremare le inutili informazioni commerciali dalle ben più importanti motivazioni tecniche. Alla fine un disco deve essere veloce (per la sua tecnologia), capiente (quanto ci basta) e non rompersi. Ma questi tre elementi sono tutt'altro che banali.

Per comodità (ma appena posso farò lo stesso per Hitachi e Segate), proviamo a prendere un semplicissimo disco da 2Tb SATA Western Digital.

Ecco cosa possiamo prendere oggi da WD:
  • WD Blue 2Tb SATA a 75 euro circa (se esistesse il taglio da 2Tb)
  • WD Green 2Tb SATA a 95 euro circa
  • WD Black 2Tb SATA a 143 euro circa
  • WD VelociRaptor 2Tb SATA (10krpm) a 300 euro circa
  • WD Purple 2Tb SATA a 99 euro circa
  • WD Purple NV 2Tb SATA a 115 euro circa
  • WD Red 2Tb SATA a 119 euro circa
  • WD Red Pro 2Tb SATA a 148 euro circa
  • WD Re 2Tb SATA a 183 euro circa
  • WD Re+ 2Tb SATA a 200 euro circa (se esistesse il taglio da 2Tb)
  • WD Se 2Tb SATA a 153 euro circa
  • WD Ae 2Tb SATA a 120 euro circa (se esistesse il taglio da 2Tb)



Ok... sono tutti 2Tb SATA (ipoteticamente)... ci sarà qualche differenza? Alla fine, che vuoi che cambi?
Tanto per iniziare, quelli che ho evidenziato in verde sono ad uso desktop, quelli in viola ad uso intensivo (videosorveglianza e nas) e quelli in blu ad uso datacenter. Scartiamo dalla nostra lista (l'articolo parla di SAN e NAS), quindi, tutti i dischi per desktop (che hanno caratteristiche non compatibili con le alte affidabilità e le basse vibrazioni prodotte che vengono chieste su sistemi di array) e gli hard disk specifici (i purple per la videosorveglianza, anche se si avvicinano molto ai red per caratteristiche). Scartiamo anche i dischi per archiviazione massiva (grandi dimensioni specifici per archivi), quindi via i Re+ e gli Ae. Ci rimandono, quindi, questi tre dischi:


WD Red
La serie Red è la prima serie per NAS. Un disco "onesto", che fa bene il suo lavoro. Affidabile e con tecnologie specifiche, sostanzialmente l'entry level di un array da 2 a 8 dischi. Anche la garanzia viene estesa rispetto a prodotti desktop.



WD Red Pro
La serie Red Pro è studiata per lavorare in array di maggiori dimensioni (8-16), quindi ha delle tecnologie particolarmente rivolte a non produrre vibrazioni (dannosi per i dischi adiacenti) e a proteggersi dalle vibrazioni. Tralasciando le specifiche squisitamente commerciali, questo disco è il primo ad avere un doppio attuatore e l'albero motore ancorato ad entrambe le estremità. Tecnologie particolari si occupano di bilanciare attivamente i piatti per evitare le vibrazioni.
Da qui i dischi, inoltre, subiscono dei test approfonditi prima della vendita.



WD Re
Questo disco è l'enterprise di WD. Oltre alle tecnologie precedenti, i dischi subiscono ancora più controlli prima della vendita (con anche cicli termici) ed hanno un doppio processore di gestione (vedi immagine di confronto tra la piastra di un RED e quella di un RE). La testina, inoltre, sfrutta una particolare tecnologia anti usura che ne aumenta la longevità, insieme ad altre tecnologie specifiche per aumentarne l'affidabilità generale. Questo disco, inoltre, ha un sensore multiassiale, in grado di compensare gli urti affinchè i dati siano protetti.





Perdonatemi se ho trattato solo WD, ma ha una delle gamme più chiare e complete del panorama e mi è tornato estremamente utile per meglio mettere a fuoco le differenze tra dischi apparentemente simili.

Lo scopo di questo articolo era comprendere cosa rende architetturalmente un disco costoso, performance e MTBF a parte.


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

sabato 13 giugno 2015

Cosa sono e come si utilizzano le VLAN

Non è inusuale che l'utilizzo delle VLAN 802.11q sfugga anche agli addetti ai lavori o ai responsabili IT. Proviamo a semplificare i concetti in maniera banale ma immediata.



Cos'è una VLAN?


Uno degli errori più comuni consiste nel pensare che la suddivisione del traffico possa essere effettuata semplicemente agendo sulle classi IP delle macchine.


Questo scenario, se lo switch non viene opportunamente istruito ad utilizzare le vlan, è errato per vari motivi:
  • A livello di sicurezza, una macchina in grado di variare il proprio indirizzo IP si può ritrovare facilmente sull'altra rete
  • Il traffico di broadcast non è stato limitato (con 6 macchine, questo non è un problema, ma dalle 5-600 in su è tangibile una riduzione delle performance di rete e un carico eccessivo sulle macchine impegnate a scartare frame e pacchetti non a loro destinati)
  • Un eventuale server DHCP non è facilmente utilizzabile, perchè non ha elementi per assegnare indirizzi a macchine sconosciute (e comunque effettuare una reservation per ogni macchina non è affatto banale in reti voluminose)
  • Svariati altri motivi

La VLAN nasce per suddividere il traffico. Nel nostro scenario, creare due VLAN, significa aver creato due "compartimenti stagno" in grado di non entrare in contatto l'uno con l'altro (salvo realizzare eccezioni e punti di routing, ma lo vedremo più avanti).


Possiamo dire, quindi, che l'aver creato due VLAN ha trasformato il nostro switch in "due switch distinti". Al pari di averne utilizzati due. E' una terribile banalizzazione, intendiamoci, ma necessaria a spiegare in maniera basilare il meccanismo. Non me ne vogliano i puristi.


A questo punto dell'architettura, la situazione di cui sopra è, tutto sommato, simile a questa:


Abbiamo ottenuto una suddivisione "reale" del traffico delle due sottoreti. Due host appartenenti a due vlan diverse, in questo scenario, non si potranno mai parlare. Non solo sono due domini di broadcast distinti, ma il traffico realmente non arriva nelle reti adiacenti.



Tag, Untag, (cisco) Trunk e Uplink


Partiamo con il dire che le VLAN si gestiscono a livello di porte o generando interfacce virtuali. Le due modalità primarie delle vlan sono "untagged" e "tagged".

Una porta classificata come vlan untagged è una porta su cui è collegata una NIC che non conosce lo stato delle vlan, semplicemente vi si ritrova dentro. Per capirci, tutti gli switch non configurati hanno le porte untagged nella vlan1. Tipicamente si tratta di  host e server a servizio di una singola rete.

Una porta classificata come vlan tagged, trasferisce tutto il traffico di tutte le vlan taggate sulla porta (pur mantenendole separate, ovviamente). Si tratta di porte dedicate al collegamento tra apparati di rete (switch to switch, switch to firewall, access point to switch, etc.) oppure tra lo switch ed un server che eroga servizi a più vlan (reti).


Nel nostro caso, presupponendo si tratti di uno switch HP, la configurazione sarebbe stata semplicemente la seguente:

vlan 10 untagged 1-12
vlan 20 untagged 13-24


Adesso abbiamo un problema... immaginiamo di avere due switch su cui propagare le due vlan create, ma abbiamo a disposizione un solo link (di qualsiasi natura, fibra ottica, rame, radio, etc..).



A questo servono le porte tagged, ovvero a trasferire il traffico di più vlan utilizzando uno stesso mezzo trasmissivo. Il traffico rimarrà diviso ed entrambi gli apparati saranno in grado di ripropagare alle porte untagged il relativo traffico di appartenenza.

La configurazione, in questo secondo scenario e presupponendo sempre di trovarci su switch HP in cli, è questa:

vlan 10 untagged 1-12
vlan 10 tagged 25,26
vlan 20 untagged 13-24
vlan 20 tagged 25,26




Si noti come siano state taggate entrambe le porte di uplink. Non è obbligatorio nè necessario, ma in uno scenario simile è la norma.

In caso di LACP, la porta trk va trattata come una porta fisica e non è necessario agire sulle porte singole.

Le porte "trunk" (cisco) o uplink (allied telesis), non sono altro che porte che trasferiscono tutte le vlan automaticamente, senza preoccuparsi di specificare i tag. Personalmente uso solo untag e tag gestendo manualmente le propagazioni, ma è una scelta personale e che per alcuni può apparire meno comoda.

NB: Quando utilizzo una porta per trasferire il traffico di due o più VLAN, a differenza di quanto indicato nell'esempio di cui sopra, alcuni apparati non consentono l'utilizzo di una modalità "full tag", ma necessitano comunque di avere almeno una VLAN che sia untagged.


VID


Il VLAN ID è il numero identificativo, da 1 a 4096, della VLAN. Tutti gli apparati 802.11q compliant comunicano con il VID. Il nome della vlan è solo una convenzione e non ha alcuna valenza nel trasferimento delle informazioni.

Nella progettazione di un'infrastruttura di rete con le vlan è opportuno, inoltre, stabilire un VID di management, ovvero una vlan diversa da tutte le altre dove si trovano nativamente tutti gli apparati. Sarebbe inopportuno settorializzare ma consentire l'accesso agli switch da una vlan tradizionale. In caso di problemi, operazioni di manomissione degli switch vanificano, in un attimo, il lavoro di suddivisione.

Per convenzione (anche qui, non obbligatoria), quando possibile è opportuno associare il VID all'indirizzo di rete. Ad esempio: 192.168.45.0/24 avrà il VID 45. 172.16.99.0/24 avrà il 99, e così via.



Punti di routing ed eccezioni, gli switch di livello 2 e 3


Non sempre mantenere tutte le vlan divise è un bene, a volte uno stesso server deve essere consultato da più vlan pur trovandosi all'interno di una sola, e così via per una serie di altri servizi che possiamo considerare "intravlan". Immaginiamo un Comune con vlan divise tra Ufficio Tributi, Ufficio Anagrafica, Ufficio Personale... ma con l'esigenza di accedere ad uno stesso server interno per consultare un database unico. 

Ricordando che le vlan devono avere subnet diverse, un punto di routing (il gateway della vlan) può opportunamente gestire queste eccezioni (oppure semplicemente far ruotare le vlan verso un router di connettività internet). Ci sono diverse scuole di pensiero, c'è chi adopera switch di livello 3 (il cui unico scopo è quello di gestire il routing L3 del traffico delle vlan) e chi preferisce demandare il routing ad un firewall, in grado di "maneggiare" meglio e con più semplicità il traffico proveniente da tutte le sottoreti create.

Ad ogni modo, se non volete far gestire allo switch di centro stella il routing delle vlan, gli switch di livello 3 sono del tutto inutili (la funzionalità rimane spenta) ed in alcuni casi persino pericolosi.

Ho visto, inoltre, tantissimi progetti con tutti gli switch di livello 3. Nel 99,999% dei casi (sono generoso) sono del tutto inutili perchè, al massimo, il routing delle vlan si demanda al Centro Stella. E' del tutto inutile, quindi, che uno switch di distribuzione orizzontale possa fare Layer 3. Salvo non trovarsi in un campus di 10.000 host, ovviamente (ma in questo caso parleremmo di altre dinamiche e delle funzioni avanzate di routing degli switch, delle licenze OSPF e RIP ...e così via... insomma, non staremmo qui a leggere questo articolo).

Una nota sul forward va fatta: attenzione a tutti gli apparati che consentono la gestione dei tag vlan. E' frequentissimo che server con NIC multivlan abbiano erroneamente attivato il forward (personalmente trovo questa casistica persino superiore a quella "tradizionale"). In questo caso per un client sarà sufficiente cambiare il proprio gateway (inserendo l'ip del server erroneamente configurato) per attraversare le vlan (seppur con alcuni limiti dovuti al percorso di risposta).



Le vlan sul wireless


Con lo stesso principio, possiamo avere un access point che propaga 4 reti diverse, e sulla porta LAN comunica allo switch che il traffico delle rete wireless 1 appartiene alla vlan 1, il traffico della rete wireless 2 alla vlan 2 e così via. A voi intuirne le potenzialità.


Maggiori dettagli

Maggiori dettagli sono reperibili sul mio libro in cui vengono approfonditi argomenti riguardanti gli switch nel primo capitolo: CyberSecurity Creativa.

Il libro è reperibile su amazon a questo link anche in formato kindle:  >> qui <<.

Mentre l'elenco degli argomenti del primo capitolo è il seguente:

Capitolo 1 – Lo switch è tuo amico!

Cosa sono e come si utilizzano le VLAN 802.1q?

Tag, Untag, Trunk e Uplink e Private VLAN

Le vlan sul wireless (come suddividere correttamente le reti)

La compartimentazione e la DMZ

Chi deve fare routing?

Forwarding abusivi

SNMP: suvvia... Ma c’è qualcuno che se ne preoccupa?

Non buttate quegli hub! L’antenato del mirroring

Spanning Tree manipulation attack (e un caso concreto)

Port Security, MAC LockOUT e learning

DHCP Snooping: evitare il rilascio non autorizzato di IP





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

giovedì 4 giugno 2015

Come proteggersi dai CallCenter invadenti

Accade, purtroppo sempre più spesso, che CallCenter in totale non ottemperanza delle norme vigenti, contattino ripetutamente numeri telefonici senza alcuna autorizzazione e nonostante l'interlocutore abbia esplicitamente espresso la volontà di essere rimosso dalle liste.



Ho dato l'autorizzazione oppure no?


Iniziamo con il dire che è opportuno evitare di rilasciare l'autorizzazione al trattamento dei dati per finalità commerciali se non si vuole essere contattati. E' semplice buonsenso, se si mettono crocette ovunque senza leggere, il minimo che possa accadere è questo. Ad ogni modo è diritto di ognuno revocare, in ogni momento, la propria scelta. Questo vale sia per il numero di telefono, sia per gli SMS, sia per le email.

Particolare attenzione è necessario prestarla al consenso verso soggetti terzi che, sostanzialmente, autorizza il richiedente a trasmettere e condividere liste di nominativi con soggetti esterni. Probabilmente è proprio questa la parte più importante, non è inusuale assistere ad aziende che aprono, inviano comunicazioni commerciali e chiudono nel giro di poco, trasferendo il diritto ad utilizzare i nominativi a nuove aziende, in un circolo vizioso del tutto incontrollato.



Non sempre è tutto nella legalità


Purtroppo lo spam che io chiamo "semi autorizzato" (ovvero quello spam proveniente da marketing aggressivo ai limiti della legalità e che si trova in una zona grigia) è spesso complesso da combattere, però possiamo tentarci.

Fortunatamente non lavorano tutti così e, anzi, conosco personalmente CallCenter che gestiscono l'outbound in piena legalità e nel rispetto delle norme dettate dal garante della privacy.



Tuteliamoci


Ho ricevuto una telefonata sgradita, quali sono gli step da seguire?




Fase Uno: risolviamola pacificamente


  1. Veniamo a conoscenza dell'azienda che gestisce il CallCenter, quindi comunichiamo all'operatore la volontà di essere rimossi dalle liste. "Vodafone", "Wind", "Tre", "Tim" o "Enel", "Edison" e così via, non è una risposta che accetteremo, perchè i marchi sopra citati non fanno outbound (chiamate in uscita) ma ricevono solo inbound (chiamate in ingresso). Chi chiama sono le agenzie, e a noi interessa sapere il nome dell'agenzia. Esiste anche la "diretta" dell'operatore di turno, certo, ma cura clienti enterprise e non effettuerà chiamate alla "signora Maria", questo è poco, ma sicuro.
  2. Chiediamo quando abbiamo prestato il consenso. Se ci stanno chiamando, hanno trovato il numero da qualche parte oppure abbiamo esplicitamente prestato il consenso nei confronti di qualcuno. E' nel nostro diritto conoscere quando e a chi il consenso è stato dato.

Siate rispettosi del lavoro altrui, spesso l'operatore è solo un subordinato e non ha alcuna colpa della politica aziendale con cui avvengono le telefonate.



Fase Due: è arrivato il momento di segnalare al Garante


Quando la Fase Uno non basta ed i contatti continuano (da parte della stessa agenzia), è necessario segnalare il problema al garante.


  1. Innanzitutto dobbiamo inserire il nostro numero nel "Registro Pubblico delle Opposizioni" mediante l'apposita area gratuita http://www.registrodelleopposizioni.it/it/abbonati/home-abbonato - Maggiori informazioni si trovano navigando all'interno del sito, potrà iscriversi chi compare in registri pubblici ma non desidera essere contattato per motivazioni commerciali
  2. Passati 15 giorni, dopo esserci iscritti al registro pubblico delle opposizioni, possiamo compilare questo modulo Segnalazione telefonate pubblicitarie su utenza iscritta al registro delle opposizioni ed inviarlo all'indirizzo urp@gpdp.it oppure mediante PEC all'indirizzo urp@pec.gpdp.it


A questo punto il Garante verifica l'abuso e, in caso di accertata violazione, commissiona una multa da 10.000 a 120.000 euro.

Solo le persone fisiche possono utilizzare questa modalità gratuita, tutti gli altri soggetti sono tenuti ad avviare un'istruttoria che, normalmente, ha un costo iniziale di euro 150,00.



Fase Tre: "la guerra è guerra"


Nulla ci vieta di utilizzare sui nostri telefoni software in grado di BlackListare numeri di telefono e chiamate anonime. Esistono persino molti telefoni fissi con Android e che, quindi, possono ospitare facilmente questi software.

Per Android si trovano tonnellate di software e funzionano quasi tutti abbastanza bene in ambito chiamate ed SMS. Per Apple c'è qualcosa a pagamento e per BlackBerry, quando controllai, ebbi delle difficoltà nel reperire un'app realmente valida (ma non è escluso che abbia formulato male le mie ricerche o abbia dedicato troppo poco tempo al problema).



Mail Unsubscribe


Per le email il discorso è molto più ampio e verrà trattato in un articolo futuro. Per ora ci basta sapere che, a volte, i link "unsubscribe" non solo non annullano la sottoscrizione, ma comunicano agli spammer che l'email è realmente presidiata e la pubblicità è arrivata a destinazione, sortendo esattamente l'effetto opposto di quanto sperato. 

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.





sabato 18 aprile 2015

Il Deep Web spiegato a mia nonna

Era un po' che avevo voglia di scrivere due righe su questo argomento e di recente le mie letture hanno risvegliato l'esigenza di spiegare, con parole povere, cos'è il Deep Web (o web profondo, darkweb, web oscuro, etc.). Per lavoro, occupandomi di sicurezza informatica, sono portato a conoscere alcuni argomenti come questo. Almeno in minima parte e seppur non condividendo, da ferreo sostenitore della legalità anche in un mondo pseudoanarchico come quello informatico, la maggior parte dei contenuti che vi è possibile trovare all'interno.

Molto spesso anche i più informati ignorano cosa ci sia dietro e quanto sia pericolosa quella zona dove tutto è concesso e, man mano che ci si spinge oltre, tutto è illegale. Non è inusuale parlare di sicurezza informatica e vedere facce stupite quando si affrontano le tematiche relative al mercato nero della compravendita di server o computer compromessi. La domanda che sorge spesso spontanea è "si, ok, ma dove avviene?".



Percezione comune

Nell'immaginario comune il web è a dir poco sterminato. E' sufficiente cercare qualsiasi cosa con google per rendersi conto dei milioni di risultati che questo comporta. Ora immaginate per un attimo che (da una recente statistica) google e tutti i motori di ricerca riescano a raccogliere appena il 4% dei siti (l'immagine sotto è decisamente ottimistica).




Immaginate, ora, che una parte di server web sia stata volontariamente fatta rimanere all'oscuro e nell'anonimato. E immaginate quanto questo sia in contrasto con ciò che vediamo quotidianamente: profilazione, pubblicità mirata, informazioni riservate nelle mani di grandi gruppi (facebook e google, per dirne una).


Il Deep Web: strati e profondità

Molto spesso il deep web viene considerato come un oceano o, meglio, come un iceberg. Ciò che sbuca è il visibile e, man mano che ci si addentra in profondità, l'ambiente diventa sempre più ostile, sempre più opaco.


Diamo una misura al nostro iceberg, diciamo 3000mt. di profondità.


In superficie c'è Google, c'è Facebook, Twitter, il sito di ricette di cucina e quello dell'azienda di commercio online. Tutto ciò che è classificabile con un motore di ricerca è lì, per essere consultato. Anzi, si spendono un mucchio di soldi per ottimizzare il proprio sito affinchè compaia in alto nelle ricerche di google.

Poi c'è un limbo subito sotto la superficie, diciamo 100 mt sotto. In questo limbo molti accedono, ma senza alcuna precauzione. Si scaricano torrent, video coperti da copyright e ci si vede la partita in streaming. Lo si fa più che altro perchè ci si ritrova per necessità e perchè si è trovato il link giusto. Sempre da google (tenete a mente questo particolare, non è da poco). I più smanettoni si fermano qui pensando che questo sia il "dark web". Bhè, probabilmente non siamo arrivati nemmeno al 10%.



Continuiamo il nostro viaggio, scendiamo a 500 mt. Ora non possiamo più andare in apnea. Abbiamo bisogno di un'attrezzatura adeguata, la vita è pericolosa a queste profondità. La nostra attrezzatura si chiama Tor. Tor è un sistema di anonimizzazione, il più famoso, in grado di far rimbalzare la nostra connessione su svariati nodi, facendone perdere le tracce. Ad oggi, pare che quasi metà della rete Tor sia stata compromessa dall'NSA, ma non vi è certezza. Rimane, comunque, un metodo rapido e veloce per diventare anonimi.


Da questo momento in poi, i motori di ricerca convenzionali non riescono più a catalogare nulla e chi si trova qui, del resto, non vuole essere catalogato, se non da motori di ricerca specialistici. Per cercare qualcosa, bisogna andare su Grams (il nome, letteralmente "grammi", la dice lunga sulla tipologia di richiesta in cui il motore di ricerca è specializzato),  Torch e motori "particolari", in cui si entra solo se il proprietario del sito lo ha voluto. Motori, tra l'altro, che hanno politiche molto diverse sulla raccolta delle informazioni degli utenti. Qui ognuno tende a farsi i fatti suoi.

Da qui in poi, inoltre, il web diventa scarno, le immagini rarefatte. Sembra di essere tornati indietro di un decennio. C'è un motivo: l'anonimato comporta una serie di rimbalzi che abbassano di molto la banda a disposizione. Se un'immagine non serve, non va messa. Qui non si punta all'estetica, ma alla sostanza.

Ovviamente, da qui in poi, scordatevi tutti i vincoli legali che ha il web tradizionale. Sito collegato alla persona fisica o giuridica, leggi che regolamentano il commercio online, tracciabilità finanziaria.. roba da farsi una risata. Da questo momento in poi inizia il far west. Non esistono regole. E per fare questo serve una moneta libera da vincoli: il bitcoin. Ma questa è un'altra storia...


Con il nostro sommergibile siamo arrivati a 2000 mt. Nessuno sa nulla di nessuno, qui puoi accedere a quanto più viscido possa produrre la razza umana. Se ci sei arrivato "in chiaro", sei un pazzo e stai rischiando grosso, e seriamente. Non come aver venduto l'iPad guasto per funzionante ad un tipo su Subito.it, qui la faccenda si fa seria.

Se sei qui, allora teoricamente parrebbe tu possa:
  • accedere a pornografia illegale
  • comprare e vendere armi
  • comprare e vendere droga o farmaci
  • assoldare un killer (pare che i prezzi si aggirino intorno ai 12.000 dollari in america e 10.000 euro in europa, previa approvazione)
  • vendere e comprare botnet, computer e server compromessi
  • vendere e comprare qualsiasi cosa normalmente non vendibile
  • accedere a materiale normalmente censurato (vivisezioni, cadaveri, documenti riservati, c'è di tutto)
  • acquistare carte di credito clonate
  • acquistare moneta e titoli falsificati
  • accedere a forum decisamente illegali e di organizzazione di attività criminose
Intendiamoci, qui tutto è ofuscato, opaco. Nessuno vi saprà dire quanto sia vero o falso. Nessuno può garantire che il vostro acquisto venga poi onorato. Avvalersi del diritto di recesso sembra essere alquanto difficile a queste profondità.


Se vuoi qualcosa, devi conoscere i siti giusti, probabilmente devono averteli comunicati le persone giuste e comunque rassegnati, qui tutto cambia in fretta. Un sito oggi raggiungibile ad un indirizzo (scordatevi i link comodi, questi sono perlopiù stringhe di caratteri), domani non lo può essere più.




Scendendo tra i 2000 ed i 3000mt i server utilizzeranno la rete onion per rendere anonimi e non tracciabili i loro servizi. I link in genere terminano per .onion. In questa fascia non ci capiti per caso e le informazioni non le trovi attraverso un motore di ricerca. Sostanzialmente nulla è legale qui.


Conclusioni

C'è poco da dire, il web è sterminato. E' una città. E come ogni città, ha dei vicoli bui che è meglio non percorrere. Dei vicoli dove sai bene prima di entrarci che potresti uscirci molto male.
E' uno dei motivi per cui, volontariamente, questo articolo vuole avere esclusivamente carattere informativo, non tecnico. Parla in maniera superficiale e banale di un argomento invece estremamente vasto. E se mi permetti un cosiglio (considerando il titolo di questo articolo probabilmente non hai dimestichezza con il deep web, altrimenti non l'avresti letto), se puoi, evita di giocare con il fuoco. Perchè ci si può anche bruciare. C'è chi paragona uno sprovveduto che naviga nel deep web ad un turista con un vistoso Rolex al polso mentre gira per vicoli malfamati.