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ì 10 maggio 2018

Mettere in sicurezza WordPress

Un tempo realizzare un sito web non era così semplice, la figura del webmaster era fortemente specializzata ed aveva padronanza del linguaggio che decideva di utilizzare. Adesso, per fortuna direi, molti strumenti vengono in aiuto. Questo tuttavia spesso (non sempre) si traduce in figure professionali meno attente sul profilo tecnico (per non dire a volte completamente a secco delle più basilari norme di sicurezza). 

Per un periodo Drupal è stato un must, per poi essere sorpassato da Joomla ed infine da WordPress che ormai detiene il predominio dei CMS. Da un punto di vista di sicurezza questo predominio ha comportato, ovviamente, l'accensione dei riflettori mediante tool automatizzati ed in grado di scovare vulnerabilità, plugin pericolosi ed errori di configurazione.

Nel corso di un paio di decenni nella sicurezza e di oltre 10 anni di WP, ho adottato una serie di accorgimenti che condivido volentieri con il lettore di questo blog.


Attaccare per difendere


Al termine della nostra installazione di WordPress, non è una cattiva idea provare proprio quei tool per simulare ciò che un attaccante avrebbe tipicamente fatto per scovare problemi sul nostro sito.

Senza entrare nei meandri dei payload di metasploit, uno dei tool più efficaci è certamente WPScan, incluso nativamente in Kali Linux.

(immagine: fonte hackercool)

Essendo un software fortemente specializzato, ci restituirà delle indicazioni puntuali su cosa mettere in sicurezza. Salvo, ovviamente, non abbiate commesso i più elementari errori come nell'esempio:

(immagine: fonte hackercool)



Mettere in sicurezza il sistema Linux


Nelle installazioni professionali di alto profilo, WordPress viene ospitato da un server Linux dedicato, a differenza di quanto accade con i provider che vendono uno "spazio wordpress" dove centinaia di installazioni convivono sullo stesso server. Se ci troviamo nella situazione di poter mettere agevolmente mano sulla macchina Linux che ospita il nostro WP, possiamo adottare certamente delle contromisure efficaci.

Giocare con le ACL

Nei casi più estremi è possibile abilitare gli attributi speciali ACL, così nessuno potrà scrivere file, salvo questi non vengano sbloccati esplicitamente. Questo comporta, ovviamente, che ogni modifica richieda l'avvio di uno script di sblocco direttamente in SSH sul sistema Linux.

Verificare gli MD5

Creare uno script che ogni X minuti verifichi gli MD5 dei file e ne segnali eventuali variazioni, restituisce immediatamente evidenza di problemi di sicurezza e file caricati abusivamente. L'attaccante, inoltre, nella maggior parte dei casi è del tutto all'oscuro di uno script simile ed anche in caso di escalation di permessi, il tempo necessario a rilevare lo script diventa certamente superiore rispetto all'allarme che lo script può aver inviato.

Bannare IP leggendo i log di apache

Uno script che richiami iptables leggendo i log si apache ci consente di reagire immediatamente a qualsiasi bruteforce.

 

Chroot Jail

Avviare apache in chroot jail è cosa buona e giusta, a maggior ragione se abbiamo deciso di implementare script sul sistema. Questa pratica normalmente garantisce l'integrità degli script che abbiamo deciso di far girare al livello superiore e fuori dalla jail.

(immagine: fonte linuxclass)

Altre tecniche

Bhè... qualcosa devo pur tenermela per me, altrimenti rischio di restituire un vantaggio eccessivo a chi invece utilizza queste informazioni non a fin di bene.

 

 

Farsi aiutare da un firewall di livello 7


Per sua natura, un firewall hardware di livello 7 è in grado di ispezionare il traffico e identificare attacchi di natura protocollare o pattern di attacchi noti. Abilitare questo tipo di controllo aiuta molto ad incrementare la sicurezza per portarla ad un livello più alto.


Firewall di questo tipo normalmente sono in grado di bloccare a prescindere anche determinate categorie di IP, per cui è buona norma (sempre se si può anteporre un firewall hardware) bloccare tutto ciò che non sia strettamente necessario, come ad esempio le reti anonime TOR o gli IP provenienti da nazioni la cui visualizzazione non produce alcun interesse.




Altri tool e plugin specifici


WP possiede una serie di plugin di sicurezza, come ad esempio il famoso Wordfence in grado di avvertirci per una serie di casistiche (file modificati, bruteforce, aggiornamenti necessari, etc.) anche nella sua versione gratuita.

Personalmente, tuttavia, ritengo che un plugin per quanto efficace possa essere, sia sempre un componente facente parte di un sistema di per se vulnerabile. Se il sistema viene corrotto, il plugin potrà essere manomesso, e questo lascia il tempo che trova. La prima regola della sicurezza è proprio l'indipendenza del sistema a garanzia della stessa. Se WP è compromesso, manomettere un suo plugin sarà quanto di più facile e prioritario possibile.





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

venerdì 20 aprile 2018

GDPR... quanta confusione!

Sul GDPR se ne sentono ultimamente di cotte e di crude, ognuno tira l'acqua al suo mulino, ma la verità dove sta? Come al solito, "in medio stat virtus" dicevano gli antichi filosofi, nonostante non fossero particolarmente attenti alla privacy.

In questo articolo non parleremo di cosa fare per adeguarsi o delle ottemperanze procedurali, per quello internet è pieno di guide. Focalizzeremo l'attenzione sul troppo e sul troppo poco.


La parolina magica: adeguatezza

 

Il GDPR prevede un audit tecnico ed uno normativo/procedurale. Soprattutto sulla parte tecnica, la normativa apre ad una certa interpretazione lasciando sufficiente libertà di scelta nell'identificazione di quelle che sono le "adeguate misure di sicurezza". Il ruolo di un professionista che tecnicamente effettua queste valutazioni, ovvero di una figura in realtà più abituata a confrontarsi con gli attacchi informatici di quanto non sia abituato a leggere norme, è fondamentale. Ma "adeguate misure" aprono purtroppo un mondo di interpretazioni:
  • "Adeguato" significa che la Signora Maria della salumeria sotto casa deve dotarsi del sistema di sicurezza del Pentagono perchè gestisce le anagrafiche dei fornitori? 
  • "Adeguato" significa che uno studio medico che tratta dati sanitari, essendo piccolino, può permettersi di non avere alcuna cura delle informazioni sensibili?
  • "Adeguato" significa che un commercialista che ha il gestionale in cloud può disinteressarsi dell'ottemperanza tecnica?
Andiamo con ordine. 



Il troppo

 

Sto assistendo continuamente a "mosche sparate con un cannone". Sfatiamo qualche mito:
  • Non è sempre obbligatorio avere il DPO esterno, anzi, i casi sono ben definiti e salvo specifiche classificazioni, il DPO può anche non essere necessario. Tuttavia, anche qui, è pieno di professionisti che propongono il DPO anche alla Signora Maria che gestisce la nota salumeria del precedente esempio.
  • Non è obbligatorio un Penetration Test, un Vulnerability Assessment o un'ispezione così approfondita sulle vulnerabilità dell'infrastruttura informatica. Sto assistendo ad aziende che stanno spingendo in maniera forsennata i PenTest. NO. Un PenTest fatto davvero bene (e non intendo "avanti > avanti > fine" con Nessus, e anche qui si apre un mondo) è costoso. E più è fatto bene e più è costoso. E' una decisione che deve essere basata sul buonsenso. SI se espongo dati sensibili, se l'architettura di rete necessita di un approfondimento così importante. Ma se ho il mio webserver in DMZ (o magari persino su un hoster esterno) e questo ospita un banale sito vetrina senza alcun meccanismo di autenticazione o raccolta dati... NO. Per carità, NO, è un'operazione estremamente costosa. Fatelo, se volete, ma non per un fantomatico obbligo normativo. E soprattutto, i PenTest vanno fatti da chi fa questo di mestiere... Per operare a cuore aperto serve il cardiochirurgo, non l'infermiere che ha seguito un video su youtube!



Il troppo poco

 

Viceversa, avendo approfondito l'argomento in maniera dettagliata, mi fa sorridere il software che con 200 euro fa tutto. Non esiste, e se esiste e lo fadavvero, vi prego di avvertirmi. Sarebbe interessante capire come può un semplice software fare un audit tecnico, procedurale e normativo all'interno di un'azienda. Come può un software sostituirsi ad un DPIA (quando necessario) o analizzare l'infrastruttura informatica, i piani di backup e disaster recovery, effettuare dei vulnerability assessment laddove risulti opportuno e vi siano server esposti con dati sensibili. Come può un software "faccio tutto io" a fare formazione specifica sulle esigenze e sui processi dell'azienda? Avete mai visto un software da 200 euro per ottenere l'ISO9000? No? Forse c'è un motivo.

Sarà ancora più interessante vedere, in seguito ad una denuncia su un incidente di sicurezza, l'ottemperamento alle "adeguate misure di sicurezza" di cui parlano gli articoli dal 32 al 35. Tanto poi, alla fine, le responsabilità non sono certo di chi vende il software magico.

Il GDPR non è il nuovo DPSS su cui bastava fare copia-incolla cambiando l'anno.



Fidarsi è bene, non fidarsi è meglio

 

Ogni caso è particolare, ma è evidente che la normativa abbia generato una corsa al business dove ognuno ha una sua soluzione magica. Il consiglio è di non fidarsi nè di chi propone l'adeguamento a pochi euro, nè di chi vuole fare un audit da 20.000 euro in un'azienda da 3 dipendenti, nè di me che per onestà intellettuale verso il lettore di questo articolo non faccio segreto di lavorare nel settore. Il consiglio è banale: leggetevi la normativa http://eur-lex.europa.eu/legal-content/IT/TXT/PDF/?uri=CELEX:32016R0679&from=IT . Potreste scoprire che nel vostro caso serva maggiore o minore accuratezza di quanto vi sia stato proposto.


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

martedì 12 dicembre 2017

Il vero motore del Bitcoin

Il Bitcoin sta subendo un'impennata importante, non passa giorno che i telegiornali non ne parlino. Ma perchè improvvisamente è incrementata la richiesta?

Chi conosce questo blog, sa che mi occupo di bitcoin da quanto quotava appena 70 euro (qui parlavo del mining nel 2016, e qui spiegavo cosa fosse il mining nel 2013), le cose sono cambiate perchè la finanza speculativa è entrata prepotentemente all'interno dei meccanismi della valuta virtuale.

Faccio una premessa, sono molto critico su tutte le altre valute virtuali, perchè la domanda è quasi nulla e sono praticamente inspendibili. Solo il Bitcoin ha guadagnato il privilegio di poter essere speso in alcuni posti in alternativa ad una valuta tradizionale, e questo non è affatto poco. Oltretutto solo il Bitcoin è utilizzato da chi richiede soldi illegalmente, ma andiamo con ordine.


Vi siete mai chiesti qual è il vero motore di questa impennata?

(qui il grafico aggiornato in tempo reale)

Come in ogni mercato, la domanda fa incrementare il prezzo. Il Bitcoin non è diverso e non segue regole differenti da quelle del classico trading (di cui ho una modesta esperienza, da semplice curioso/matematico/logico che ha operato su alcuni mercati azionari). E qui la sicurezza informatica caratterizza pesantemente il mercato del Bitcoin.

Da gennaio 2016 la domanda sale, il bitcoin ha un inizio di rialzo che si mantiene costante. Chi sta comprando bitcoin?


Secondo  F-Secure il 2016 è l'anno in cui il fenomeno dei virus ransomware, ovvero quei software che crittografano i dati e li rendono inaccessibili salvo pagare un riscatto, esplode. Le vittime che rivogliono indietro i propri dati, devono pagare in Bitcoin (non tracciabili). E' più semplice di un bonifico in costa d'avorio oppure di una transazione western union. La vittima quindi cerca di convertire i propri Euro o Dollari in Bitcoin. La domanda sale, il prezzo del Bitcoin incrementa.

Il 2017 è stato l'anno in cui il ransomware si è consolidato, le previsioni sono di circa il 130% rispetto al 2016. Vari ransomware famosi hanno creato scompiglio, i vari TeslaCrypt et simila hanno dato una spinta, così arriviamo a Luglio 2017 con un incremento da 900$ a 2600$ in poche settimane.

A questo punto sono entrati gli speculatori professionisti, non i piccoli trader, ma chi fa questo di mestiere e muove volumi significativi. Lo si vede dal picco di fine luglio, il Bitcoin prende quasi il 100%. Scattano i take-profit, gli speculatori a breve termine vendono, il Bitcoin scende. Qualcuno ha duplicato il proprio capitale, questo nel trading tradizionale non esiste nè in cielo nè in terra. La notizia fa scalpore ed entrano i big, che acquistano nuovamente grandi quantitativi.



Scatta la corsa all'oro, si passa da 4300$ agli attuali 16000$. I telegiornali ne parlano, i piccoli investitori entrano. I grandi probabilmente attendono il minimo segnale per vendere. Ora tutto fa credere ad una bolla, chi si farà male sono i piccoli che non hanno messo degli stop-loss adeguati. Quando i big lasceranno la scena, con il 300% di margine, il Bitcoin crollerà, e lo farà violentemente perchè innescherà una serie di stop-loss uno dietro l'altro, creando un momentum negativo. La discesa sarà violenta.

Conviene investire ora? Io sono un informatico con la passione per il trading. Nessuno sa quanto ancora potrà camminare il Bitcoin. A grandi possibilità di margine corrisponde un grande, grandissimo rischio di perdere una somma di capitale molto alta. Se qualcuno ha una sfera magica in grado di capire il prossimo momento, se rialzista o ribassista, mi avverta. Ad ogni modo, perdonatemi la deviazione finanziaria, ma non sono andato del tutto OffTopic, la sicurezza informatica mai come in questo caso ha permeato la finanza mondiale condizionando il mercato.



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

giovedì 21 settembre 2017

Privacy e GDPR: nuovi adempimenti normativi (generici)

A fine maggio 2018 entrerà in vigore il GDPR, ovvero il Regolamento sulla Protezione dei Dati, approvato direttamente dal Parlamento Europeo. Sebbene in alcuni casi sia meno stringente della nostra normativa sulla privacy, vi sono sostanziali modifiche. Proviamo a schematizzare le variazioni che toccano direttamente le aziende e come queste devono gestire le informazioni.


  • Cambiano i concetti e gli assiomi di partenza. Non si parla più di privacy, ma di protezione dei dati come componente primaria della privacy dei dati stessi. E non vi è più il concetto di "misura minima" ma subentra quello di "misura adeguata" nella protezione delle infrastrutture IT.
  • Tutte le aziende che trattano dati sensibili di cittadini Europei devono adeguarsi, anche se non hanno sede all'interno della UE.
  • Le aziende devono redirigere un registro delle attività di trattamento in cui sia ben esplicitato la finalità del trattamento stesso, il ciclo di gestione e le misure di sicurezza adottate per proteggere i dati (qualcosa di simile al vecchio DPSS).
  • Solo i dati sensibili veramente indispensabili devono essere processati, e limitatamente a chi li deve elaborare. Questo sostanzialmente comporta nella maggior parte dei casi una riprogettazione dei sistemi che trattano i dati e di come questi debbano essere gestiti nel quotidiano.
  • In caso di fuga di informazioni, l'azienda è obbligata a comunicarlo agli interessati entro e non oltre 72 ore dall'identificazione dell'accaduto.
  • Le aziende avranno una nuova figura (l'equivalente del nostro "Responsabile della Privacy"), ovvero il DPO (Data Protector Officier), un esperto in materia giuridica, indipendente, che vigilerà anche sui processi aziendali. Il ruolo è obbligatorio in determinate casistiche (PA, società con più di 250 dipendenti o aziende che del trattamento dei dati fanno il loro core business).
  • Similarmente a quanto accade ora, le aziende dovranno garantire la possibilità di cancellare i dati personali degli utenti in ogni momento. Cambia, tuttavia, la sanzione che può arrivare al 4% del fatturato annuo globale o ad un massimo di 20 milioni di euro.
  • I sistemi informatici devono essere oggetto di un'analisi di rischio preventiva.
  • I sistemi IT devono essere protetti da professionisti e consulenti. Seppur sia noto a tutti che una "medicina universale" non esista e che l'attacco informatico sia sempre in agguato, è necessario che le aziende dimostrino di aver investito nell'IT Security ed abbiano gestito la problematica con adeguata attenzione. La normativa italiana prevedeva l'adozione di misure di sicurezza perimetrale (un firewall, ad esempio) e di sicurezza dei client (un antivirus), è evidente tuttavia che questo adempimento risulta oramai perlopiù insufficiente. 
  • Proprio il concetto di "misura adeguata" espone il titolare del trattamento a dimostrare, in caso di fuga di informazioni, perchè le misure adottate siano state reputate sufficienti. 
  • Il titolare del trattamento dovrà occuparsi di formare tutti i collaboratori aziendali circa le tematiche in oggetto. Proviamo a dare una sfaccettatura più informatica: è opportuno che le risorse aziendali sappiano riconoscere un attacco di tipo Social Engineering in cui, ad esempio, un attaccante cerca di reperire informazioni via telefono.
  • I locali ove risiedono i dati, anche elettronici, andranno adeguatamente protetti.
  • Le tecnologie di backup e disaster recovery assumono un ruolo estremamente importante, soprattutto in ottica anti-estorsiva. La normativa attuale prevede già degli adeguamenti (ad esempio che i backup siano locati in plessi differenti), tuttavia il GDPR estende questi adeguamenti ad un'analisi più completa di tutto il processo di disaster recovery.
  • I dati devono essere cifrati e la profilazione non deve essere riconducibile al singolo.
  • Gli accessi illeciti ai dati devono essere obbligatoriamente notificati agli organi di competenza.

In un prossimo articolo andremo nel dettaglio degli adempimenti tecnologici riguardanti i responsabili IT e dell'infrastruttura informatica, entrando nel merito di come si stanno muovendo i vari vendor.


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

lunedì 11 settembre 2017

Alterazione del campo IBAN nelle fatture: nuove superfici di attacco alle aziende

A volte un'operazione normale come inviare una fattura via email può trasformarsi in un problema.

Immaginate di inviare una fattura in PDF ed immaginate che il vostro interlocutore riceva la stessa identica fattura, sempre in formato PDF, ma con il campo IBAN cambiato o popolato da un codice bancario non vostro.

Questo è quanto accaduto di recente in un caso che ho avuto modo di seguire.


Fattura originaria (in questo caso senza IBAN):




Fattura alterata, pervenuta all'interlocutore:




Una telefonata del destinatario, insospettito da un IBAN insolito (seppur italiano!), ha messo in luce la problematica prima che potesse essere dannosa.

E' bene precisare che il destinatario utilizza un dominio generico erogato da un noto ISP italiano ed oggetto di innumerevoli recenti attacchi e problemi di sicurezza. Utilizzare email con domini aziendali non è mai un errore, oltre ad essere sinonimo di professionalità.

Va aggiunto che il proprietario dell'IBAN italiano su cui avviene materialmente la truffa spesso è coinvolto con la formula "ci giri il denaro che ti arriva e ti trattieni una percentuale", nella classica formula "vuoi guadagnare soldi online?" che spesso si legge su qualche banner. Ciò non toglie che il reato sia e rimanga quello di riciclaggio, che lo si faccia con o meno cognizione di causa, non si scherza.

Si consiglia la massima attenzione, spesso una telefonata può salvare migliaia di euro.


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

mercoledì 26 luglio 2017

Qualche accorgimento per passare delle buone ferie da responsabile EDP!

Il responsabile EDP, si sa, è sempre più o meno in servizio e ad Agosto spesso le ferie si trasformano in un vero e proprio "incubo da reperibilità".

Nel corso degli anni ho maturato una certa sfiga il 13 di Agosto. Giorno in cui immancabilmente sono dovuto scappare, ogni anno, per un problema sempre diverso. Sfighe a parte, a cui difficilmente sarà possibile porvi rimedio (e di sicuro un blog non vi sarà d'aiuto), una pianificazione e qualche consiglio potrà aiutare il responsabile informatico a minimizzare i propri interventi ed il proprio stress da "telefonata molesta". E no, la risposta non è "spegnete il telefono", non siate biricchini!




Ecco qualche personalissimo consiglio da mettere in pratica qualche giorno prima di andare in ferie:

1. Assicuratevi che tutti gli utenti abbiano ben chiare le proprie necessità, quando sono in ferie le esigenze cambiano! Quindi assicuratevi che gli utenti che necessitano di un autorisponditore ve lo dicano con anticipo (possibilmente non il 14 Agosto);

2. Come sopra: assicuratevi che gli utenti che necessitano di una VPN o di un Desktop Remoto vi diano il tempo di configurare il tutto e fare le verifiche dal proprio dispositivo (immagino non vogliate chiamate alle 21,00 perchè "non funziona la VPN dal MAC di mia figlia");

3. Spegnere i server non necessari! Meno superficie d'attacco lascio esposta, meglio è. Se ho un server di update ed il reparto RD è in ferie, non serve lasciare la macchina accesa;

4. Controllare la refrigerazione. E' impressionante la mole di problematiche legate alla refrigerazione che accadono ad Agosto! Con effetti anche spesso tutt'altro che banali (dischi che si guastano, server che vanno in protezione e si spengono, etc.). Se possibile dotatevi di un "piano B", al malfunzionamento di una macchina di condizionamento, fate intervenire degli aspiratori d'aria, spesso salva da guasti ben più gravi;

5. I backup vanno controllati sempre, ma prima di andare in ferie non è una cattiva idea investire del tempo per provare un piano di disaster recovery e verificare che realmente i backup siano utilizzabili e ripristinabili;

6. Inasprite le regole del firewall, anche se ad Agosto gli attacchi diminuiscono (dietro gli attacchi ci sono delle persone che, come voi, vanno in ferie), dare una controllata a tutte le regole (soprattutto quelle temporanee e diagnostiche, attivate per un fine specifico ma obsoleto) e spegnete quelle non più necessarie. A Settembre vi sarete dimenticati del perchè quella regola è stata attivata!

7.  Verificate che il vostro accesso all'infrastruttura sia perfettamente funzionante ed in sicurezza. Poter entrare rapidamente sulle proprie macchine spesso fa la differenza tra rientrare in azienda o risolvere tutto in pochi minuti da remoto;

8. Se disponete di sistemi di monitoraggio automatico, controllateli e verificate che facciano correttamente il loro lavoro (inviare email di alert, segnalare guasti, etc.);

9. Controllate le scadenze di tutto ciò che può scadere nel bel mezzo delle vostre ferie. Certificati SSL (HTTPS, IMAP, etc.), scadenza password, rinnovi di domini, etc.; 



E poi non resta che incrociare le dita e godersi delle meritate vacanze estive!





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

lunedì 15 maggio 2017

Keylogger e sistemi di protezione... quando tutto funziona bene

Raramente su questo blog parlo di prodotti e, quando e se lo faccio, cerco di essere estremamente obiettivo. Questo perchè è mia espressa volontà mantenere questo blog slegato dall'attività lavorativa di consulenza di cui mi occupo. Questo caso specifico, tuttavia, merita menzione.

Di recente le maggiori testate del settore (e non) hanno portato alla luce uno spiacevole scivolone di HP (http://www.zeusnews.it/n.php?c=25288http://securityaffairs.co/wordpress/59013/hacking/hp-keylogger-conexant-audio-driver.html) per cui il software conexant della scheda audio fungeva da keylogger catturando ogni input della tastiera e scrivendo tutto "allegramente" in un file di log. 


(Fonte ZeusNews)


Tralasciando l'incredibile leggerezza degli sviluppatori, la cui accezione sto generosamente attribuendo, esistono sistemi che in automatico intervengono per evitare questo problema potenzialmente catastrofico (immaginate bene cosa significhi per un amministratore di rete vedersi sottratte tutte le password di accesso ai suoi sistemi). Uno di questi sistemi è Stormshield SES a cui io attribuisco personalmente la categoria di "analizzatore comportamentale". SES è un software molto leggero in grado di analizzare svariati aspetti del sistema ed intervenire su comportamenti specifici. Non è un antivirus, ma va considerato come supplemento alla protezione standard del client. 


Appresa la notizia abbiamo aperto un incidente di sicurezza interno ed avviato un'indagine sui clienti dotati di questa tecnologia e che possiedono portatili HP.



Quanto è emerso è evidente, il sistema ha bloccato l'eseguibile fin dal principio e prima ancora che questo fosse stato oggetto di approfondimento da parte dei ricercatori che ne hanno scoperto la problematica.

Tutto è bene quel che finisce bene. ...e gli altri?


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

mercoledì 1 marzo 2017

Case Study: Quando il WISP ti fa saltare la Spanning Tree Topology

Lo Spanning Tree Protocol, con le sue varianti (RapidSTP), consente di raggiungere tipicamente due obiettivi:

  • La ridondanza dei collegamenti tra più switch (ma non solo)
  • La risoluzione di fenomeni di Broadcast Storm (comunemente chiamati loop)


Come funziona


Il funzionamento del protocollo RSTP è bene approfondirlo un attimo, seppur brevemente e semplificando alcuni concetti, così da entrare nel vivo del Case Study.

Immaginiamo di avere questa banale topologia di rete, ovvero uno switch di centro stella e due switch (A e B) secondari chiusi ad anello tra di loro.



E' subito evidente che, per prima cosa, in assenza del protocollo RSTP abilitato, la rete collasserebbe in un loop tale da renderla del tutto inutilizzabile. Il protocollo RSTP per sua natura impone il forward dei frame sulla porta solo dopo essersi accertato che non si tratta di un percorso ridondante. Quindi nella nostra architettura, della bretella A-B lo switch B blocca la porta mettendola in uno stato di non inoltro del traffico tradizionale (ma di inoltro delle BPDU, ovvero del traffico generato dall'RSTP degli switch stessi e necessario a trasferirsi informazioni circa la topologia di rete).

Altrettanto evidente è che l'interruzione di un qualsiasi percorso tra A e Root oppure tra B e Root, causerà (dopo un tempo minimo di convergenza) un cambio di topologia che vedrà protagonista la riattivazione completa della porta originariamente bloccata da B.


Ora immaginiamo uno scenario più articolato, ma che sostanzialmente è assimilabile a quello precedente:




Poniamo quindi il caso che le tratte nere siano in Fibra Ottica e le tratte rosse siano in Rame. Per sua natura, la Fibra Ottica ha una priorità superiore a quella in Rame, pertanto ogni switch intento a capire quale porta ridondante spegnere, tenderà a privilegiare la Fibra Ottica.

Tutto questo identifica, in maniera sommaria, una topologia di rete. Ad onor del vero ci sarebbe da parlare per ore su come gli switch eleggono una topologia e su come stabiliscono (in assenza di indicazioni specifiche) chi è il Root Switch e la gerarchia che ne deriva.

A noi, per non annoiarci in dettagli tecnici degni del miglior studente CCNA, interessa solo un principio: lo Spanning Tree abilitato per prevenire i loop, può essere lasciato di default. Ma lo Spanning Tree con percorsi ridondanti va configurato correttamente per non ritrovarsi con percorsi erroneamente lunghi oppure con lo switch dello scantinato come Root Switch a capo di tutta la topologia.

Questa configurazione si fa forzando l'autorevolezza di un apparato che deve imporsi su tutti gli altri.



Case Study


Poniamo il caso di avere un WISP che ci eroga connettività tramite un bridge radio (Layer 2, occhio, non Layer 3 come un router di un operatore tradizionale). Il bridge, ovviamente, fa passare le BPDU che lavorano a Livello 2 della pila ISO/OSI. Se siete particolarmente sfortunati ed il WISP ha impostato il Priority a 0 su uno dei suoi switch nella sua infrastruttura, esso si imporrà su tutto il nostro sistema in LAN forzando un cambio di topologia di rete che farà saltare ogni percorso minuziosamente studiato su carta.

L'aspetto più insidioso è che questo tipo di fenomeno spesso è apparentemente invisibile e si traduce in rallentamenti e micro-disconnessioni che, ad una prima e superficiale osservazione, possono essere sottovalutati o attribuiti "al solito server lento".



Soluzione


I log sono nostri amici: una volta identificato il problema disabilitare lo Spanning Tree sulle porte direttamente connesse ai gateway. E siccome non costa nulla, diciamo che è buona norma farlo sempre. 

Del resto, è del tutto sconsigliato creare una rete con percorsi ridondati senza controllare nei giorni successivi lo stato delle porte RSTP per capire se realmente il traffico sta facendo il percorso da noi voluto.



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

lunedì 30 gennaio 2017

Desktop Virtualization (VDI): una breve panoramica nel mondo Horizon Vmware

Architetture VDI: cosa sono


Quando parliamo di architetture VDI (Virtual Desktop Infrastructure) parliamo di un'infrastruttura in grado di ospitare i desktop remoti degli utenti su server centralizzati spostando, di fatto, capacità elaborativa e di storage da un normale PC (con i limiti che questo possiede, da un punto di vista di ridondanza hardware, ad esempio) ad un pool di server adeguatamente vestiti per questo scopo.

Fondamentalmente, i PC diventano "stupidi" a tal punto da poter essere dei Thin Client, ovvero delle macchine con bassissima capacità (e dal bassissimo consumo energetico), appena sufficiente ad effettuare solo un banale collegamento con il server. In un'accezione più ampia, la propria postazione diviene accessibile da qualsiasi piattaforma, anche mobile, svincolando l'utente che ne trae (soprattutto se errante come un'agente di commercio) tipicamente molti benefici.





In ambito VDI dobbiamo però dividere delle architetture che caratterizzeranno completamente la nostra infrastruttura.



Architettura Full Clone Desktop Pool


L'architettura Full Clone è quella più vicina a chi ha dimestichezza con gli ambienti virtuali, ogni utente "atterra" su una sua macchina virtuale completamente dedicata. Questo comporta, come per ogni cosa, pregi e difetti. Ciò che acquistiamo come autonomia lo perdiamo come richieste hardware e costose licenze che vanno rinnovate ogni anno sui sistemi operativi desktop.



Architettura Linked Clone Desktop Pool


L'architettura Linked Clone necessita di una macchina chiamata Composer che si occupa di creare delle macchine figlie correlate che sono, in sostanza, dei differenziali tra la "Parent virtual machine" (o "Desktop Image") e le "Linked Clone Machine".



Avremo, quindi, un ambiente che racchiude i vantaggi principali della prima soluzione con quella che è la modalità più light della VDI e che vediamo di seguito.




Architettura Remote Desktop Session Host


L'architettura Remote Desktop Session Host è assimilabile (e si basa) al protocollo RDP/Microsoft Terminal Services. Per implementare questa modalità necessiteremo di un pool di server MS-TS in quanto le sessioni si sviluppano mediante questo meccanismo.

Anche qui, vantaggi e svantaggi si rincorrono. Da un punto di vista avremo un sistema poco esoso di risorse, dall'altro avremo altri costi di licenze (TS). Abbiamo, tuttavia, un grande vantaggio che apporta solo questa architettura, ovvero la possibilità di incapsulare delle applicazioni all'interno dell'ambiente VDI, in maniera completamente trasparente. 

Facciamo un esempio che personalmente adotto in ambienti dove la sicurezza è critica:
Ogni utente può avere il suo ambiente locale, ma la navigazione internet è demandata all'interno di una VDI. Sul desktop del client possiamo apprezzare una trasparenza impagabile, ovvero avere direttamente la chiamata verso (in questo caso) chrome in VDI senza fare alcun complesso accesso ad un altro ambiente virtuale in RDP.




Approfondiremo le tre modalità negli articoli successivi.



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

lunedì 14 novembre 2016

Architetture di collegamento: Fibre Channel su multi controller e RoundRobin

Quando ci si trova ad implementare uno storage collegato ad un'infrastruttura, soprattutto se virtuale, le performance divengono fondamentali. Spesso ci si domanda quale architettura seguire, quali sono le Best Practices e quale scenario è in grado, ad esempio, di sfruttare al massimo le performance di un array full SSD.

In passato abbiamo trattato alcuni temi, la cui lettura facilita la comprensione di questo articolo di approfondimento:


Immaginiamo di avere due scenari di questo tipo


Uno in iSCSI con 2 porte a 10Gbit con supporto TOE (per host) ed uno in Fibre Channel con 2 porte 8Gb (per host), in entrambi i casi in Direch Attach sulla SAN.

Qual è il metodo più conveniente per interconnettere gli apparati?


iSCSI con singolo controller


Dai test che abbiamo effettuato, quando è presente un solo controller, il metodo migliore per collegare gli host è in RoundRobin utilizzando la relativa funzione presente nel path manager di vmware.


In media è stato raggiunto un risultato di circa il 13% più performante rispetto al path singolo con il secondario in standby.



FC con singolo controller


Similarmente a quanto accade in ambito iSCSI, il collegamento in FC beneficia del meccanismo di distribuzione tipico del RoundRobin, ma in maniera persino superiore (22% rispetto al singolo path). Questo perchè l'overhead generato dal protocollo TCP in ambiente iSCSI probabilmente vanifica in parte il vantaggio di avere due percorsi bilanciati.



iSCSI e FC con doppio controller


Qui abbiamo una sorpresa. Qualora la SAN possieda due controller, utilizzare il RoundRobin comporta un rallentamento con entrambe le tecnologie rispetto ad un path singolo. Presupponendo di aver effettuato una pianificazione corretta, ovvero HBA1 su Controller1 e HBA2 su Controller2, il bilanciamento del carico impegna entrambi i controller che, nella realtà, perderanno tempo a ricostruire il flusso di informazioni che vengono loro richieste.
Abbiamo, sostanzialmente, creato un collo di bottiglia causato dal coinvolgimento dei due controller in un impegnativo stream ciclico (Ctrl1-Ctrl2-Ctrl1-Ctrl2...). Il RoundRobin non è, in questo scenario, conveniente.



Best Practices per incrementare le performance con SAN avente due o più controller

Abbiamo stabilito, quindi, che il meccanismo di bilanciamento RoundRobin è utile in caso di singolo controller perchè massimizza la parte network, ma è sfavorevole per gli scenari in cui la SAN abbia più controller perchè costringe questi ultimi ad un lavoro supplementare di interfacciamento tra di essi. Lavoro, questo, in grado di vanificare il vantaggio della doppia disponibilità di banda. 
Come fare, quindi? E' sufficientemente banale, creare più LUN e distribuirle lungo i path.
Come sappiamo, i path vengono gestiti per ogni LUN, quindi la creazione di N LUN scatenerà Nx2 path per host (nel nostro caso). A questo punto all'interno della SAN potremo definire il controller owner, ovvero il controller che prende in primis in carico la LUN e la presenta agli altri controller. Strutturando correttamente questa fase, sarà possibile avere un path primario per LUN, che coinciderà con il controller owner, e bilanciarne quindi i path in maniera manuale.

Proviamo a fare un esempio immaginando di aver creato 2 LUN:

La prima LUN è presentata dal controller 1, quindi noi utilizzeremo il path 1 con il 2 silente, pronto ad intervenire in caso di backup.


La seconda LUN, pariteticamente, viene gestita dal controller 2 utilizzando il path 2 (sullo stesso host, ovviamente).

Così facendo avremo naturalmente bilanciato i carichi utilizzando due path diversi su due LUN diverse. L'impegno dei controller sarà minimo perchè ognuno gestirà la sua owned LUN senza necessitare di impegnativi flussi di comunicazione come nel caso in cui venga utilizzato un RoundRobin su due controller differenti.

Lo scenario RoundRobin sullo stesso controller, ovviamente e per ovvie ragioni di inaffidabilità, non è stato contemplato perchè insicuro.


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

sabato 3 settembre 2016

Bitcoin Mining nel Q4 del 2016, elaborare produce ancora guadagno?

Se siete completamente a digiuno dell'argomento e non conoscete le dinamiche del BitCoin Mining e del guadagno economico potenzialmente derivante dalle operazioni di calcolo, allora vi consiglio di leggervi questo articolo, datato ma esplicativo: Cos'è il bitcoin mining? Ci pagano davvero per fare elaborazioni?

Mi sono allontanato da diverso tempo da questo campo, tuttavia ho acquistato da poco una scheda video all'avanguardia e di generosa potenza, quindi mi sono domandato se la vendita della sua capacità elaborativa potesse generarmi un profitto. Questo mi ha portato a fare dei rapidi calcoli.

La GTX1080 avrebbe sviluppato 450MH (MegaHash) di calcolo, un numero che fino a poco tempo fa era di tutto rispetto. Un altrettanto rapido calcolo mi ha portato però una deludente verità, la mia scheda mi avrebbe generato un profitto potenziale di 0,01$ al mese (spendendoci forse 30$ di energia elettrica).



Eppure fino a non molto tempo fa ci avrei potuto sviluppare un buon guadagno. Cosa è cambiato? Semplice, il coefficiente di difficulty, ovvero il coefficiente di retribuzione basato sulle elaborazioni che vengono fatte.

Come in ogni mercato, l'aumentare dell'offerta fa scendere il prezzo della domanda. Nel nostro caso l'aumentare dell'offerta è derivata dalla maggior capacità di calcolo e dall'introduzione massiva di processori ASIC (https://en.bitcoin.it/wiki/ASIC) fortemente specializzati su questo tipo di elaborazione ed estremamente performanti.

Qui sotto possiamo vedere un grafico indicante quanto esponenzialmente sia aumentato il coefficiente di difficulty (e quindi quanto sia drammaticamente scesa la retribuzione) nel corso del tempo:



Per avere un'idea di quanto esponenzialmente sia salito il coefficiente, basti osservare quanto la linea sia sostanzialmente piatta fino al 2014 nonostante, vi assicuro, fino a quegli anni i coefficienti raddoppiavano con una facilità estrema (erano tutt'altro che piatti).


Assodato che, quindi, elaborare con qualsiasi altra piattaforma che non sia ASIC al giorno d'oggi non ha alcun senso (immaginiamo che una CPU Xeon all'avanguardia di un server recente svilupperebbe  0.01$ dopo 3 anni di elaborazione al 100%), ho provato a raccogliere dati sulle MiningBox, ovvero strumenti nati per fare solo questo. Tra informazioni ricavate su internet e approfondimenti sui nuovi modelli direttamente sui siti di produzione, ho elaborato una tabella aggiungendo il guadagno giornaliero ed in quanti giorni il prodotto si sarebbe teoricamente ripagato.

Performance / Prezzo


Miner Capacity gH Price
AntMiner S7 4730,00 $479,95
AntMiner S9-B12 11850,00 $1.442,00
AntMiner S9-B13 12930,00 $1.600,00
Avalon6 3500,00 $499,95
AntMiner R4 8600,00 $1.395,00
SP20 Jackson 1500,00 $248,99
AntMiner S5+ 7722,00 $2.307,00
AntMiner S5 1155,00 $370,00
ASICMiner BE Tube 800,00 $320,00
ROCKMINER T1 800G 800,00 $325,00
Spondooliestech SP35 Yukon 5500,00 $2.235,00
Spondooliestech SP31 Yukon 4900,00 $2.075,00
ASICMiner BE Prisma 1400,00 $600,00
ROCKMINER R3-BOX 450,00 $200,00
ROCKMINER R4-BOX 470,00 $210,00
HashCoins Zeus v3 4500,00 $2.299,00
HashCoins Apollo v3 1100,00 $599,00
BTC Garden AM-V1 616 GH/s 616,00 $350,00
AntMiner U3 63,00 $38,00
AntMiner S4 2000,00 $1.400,00
ROCKMINER R-BOX 110G 110,00 $88,00
AntMiner S3 441,00 $382,00
Spondooliestech SP30 Yukon 4500,00 $4.121,00
CoinTerra TerraMiner IV 1600,00 $1.500,00
BTC Garden AM-V1 310 GH/s 310,00 $309,00
ROCKMINER Rocket BOX 450,00 $599,00
AntMiner S1 180,00 $299,00
BFL Monarch 700GH/s 700,00 $1.379,00
ROCKMINER R-BOX 32,00 $65,00
Spondooliestech SP10 Dawson 1400,00 $2.845,00
AntMiner S2 1000,00 $2.259,00
Black Arrow Prospero X-3 2000,00 $6.000,00
HashFast Sierra Evo 3 2000,00 $6.800,00
Black Arrow Prospero X-1 100,00 $370,00
Klondike 5,00 $20,00
KnC Neptune 3000,00 $12.995,00
GekkoScience 9,50 $49,97
HashFast Sierra 1200,00 $7.080,00
KnC Jupiter 500,00 $4.995,00
KnC Saturn 250,00 $2.995,00
NanoFury NF2 4,00 $50,00
HashFast Baby Jet 400,00 $5.600,00
AntMiner U1 2,00 $29,00
Avalon USB Nano3 3,60 $55,00
BPMC Red Fury USB 2,50 $44,99
Metabank 120,00 $2.160,00
Avalon Batch 2 82,00 $1.499,00
Avalon Batch 3 82,00 $1.499,00
ASICMiner BE Cube 30,00 $550,00
BFL SC 50 Gh/s 50,00 $984,00
Avalon Batch 1 66,00 $1.299,00
KnCMiner Mercury 100,00 $1.995,00
BFL Single 'SC' 60,00 $1.299,00
AntMiner U2 2,00 $49,66
ASICMiner BE Blade 11,00 $350,00
HashBuster Micro 20,00 $688,00
bi*fury 5,00 $209,00
Twinfury 5,00 $216,00
BFL 500 GH/s Mini Rig SC 500,00 $22.484,00
Blue Fury 3,00 $140,00
BFL SC 25 Gh/s 25,00 $1.249,00
TerraHash Klondike 16 5,00 $250,00
TerraHash Klondike 64 18,00 $900,00
BFL SC 5Gh/s 5,00 $274,00
TerraHash DX Large (full) 180,00 $10.500,00
TerraHash DX Mini (full) 90,00 $6.000,00
Bitmine,ch Avalon Clone 85GH 85,00 $6.489,00


Guadagno / Ritorno sull'investimento (giorni)


Miner $/day guadagno ROI (gg)
AntMiner S7 3,1921824 150
AntMiner S9-B12 7,997328 180
AntMiner S9-B13 8,7261984 183
Avalon6 2,36208 212
AntMiner R4 5,803968 240
SP20 Jackson 1,01232 246
AntMiner S5+ 5,21142336 443
AntMiner S5 0,7794864 475
ASICMiner BE Tube 0,539904 593
ROCKMINER T1 800G 0,539904 602
Spondooliestech SP35 Yukon 3,71184 602
Spondooliestech SP31 Yukon 3,306912 627
ASICMiner BE Prisma 0,944832 635
ROCKMINER R3-BOX 0,303696 659
ROCKMINER R4-BOX 0,3171936 662
HashCoins Zeus v3 3,03696 757
HashCoins Apollo v3 0,742368 807
BTC Garden AM-V1 616 GH/s 0,41572608 842
AntMiner U3 0,04251744 894
AntMiner S4 1,34976 1.037
ROCKMINER R-BOX 110G 0,0742368 1.185
AntMiner S3 0,29762208 1.284
Spondooliestech SP30 Yukon 3,03696 1.357
CoinTerra TerraMiner IV 1,079808 1.389
BTC Garden AM-V1 310 GH/s 0,2092128 1.477
ROCKMINER Rocket BOX 0,303696 1.972
AntMiner S1 0,1214784 2.461
BFL Monarch 700GH/s 0,472416 2.919
ROCKMINER R-BOX 0,02159616 3.010
Spondooliestech SP10 Dawson 0,944832 3.011
AntMiner S2 0,67488 3.347
Black Arrow Prospero X-3 1,34976 4.445
HashFast Sierra Evo 3 1,34976 5.038
Black Arrow Prospero X-1 0,067488 5.482
Klondike 0,0033744 5.927
KnC Neptune 2,02464 6.418
GekkoScience 0,00641136 7.794
HashFast Sierra 0,809856 8.742
KnC Jupiter 0,33744 14.803
KnC Saturn 0,16872 17.751
NanoFury NF2 0,00269952 18.522
HashFast Baby Jet 0,269952 20.744
AntMiner U1 0,00134976 21.485
Avalon USB Nano3 0,002429568 22.638
BPMC Red Fury USB 0,0016872 26.665
Metabank 0,0809856 26.671
Avalon Batch 2 0,05534016 27.087
Avalon Batch 3 0,05534016 27.087
ASICMiner BE Cube 0,0202464 27.165
BFL SC 50 Gh/s 0,033744 29.161
Avalon Batch 1 0,04454208 29.163
KnCMiner Mercury 0,067488 29.561
BFL Single 'SC' 0,0404928 32.080
AntMiner U2 0,00134976 36.792
ASICMiner BE Blade 0,00742368 47.146
HashBuster Micro 0,0134976 50.972
bi*fury 0,0033744 61.937
Twinfury 0,0033744 64.011
BFL 500 GH/s Mini Rig SC 0,33744 66.631
Blue Fury 0,00202464 69.148
BFL SC 25 Gh/s 0,016872 74.028
TerraHash Klondike 16 0,0033744 74.087
TerraHash Klondike 64 0,01214784 74.087
BFL SC 5Gh/s 0,0033744 81.200
TerraHash DX Large (full) 0,1214784 86.435
TerraHash DX Mini (full) 0,0607392 98.783
Bitmine,ch Avalon Clone 85GH 0,0573648 113.118



Questo ci fa capire, quindi, che nel migliore dei casi (ad oggi, 3 settembre 2016), dando per scontato uno scenario inverosimile (ovvero che il grado di difficulty rimanga stabile) investendo quasi 500$ avremo un rientro del capitale in circa 150 giorni per poi guadagnarci circa 3,1$ al giorno. 

Non abbiamo però calcolato che il sistema consuma circa 800W/h che attualizzato alle tariffe attuali italiane significa circa 3$ al giorno (converto in dollari perchè tutti i calcoli sono in questa valuta), vanificando completamente tutto il calcolo.

Nella realtà dei fatti, il coefficiente non potrà che aumentare esponenzialmente, riducendo drastricamente i guadagni giorno dopo giorno.



Conclusioni 


Ad oggi mi sembra del tutto irragionevole investire per vendere le proprie risorse elaborative, salvo che non si abbia già un'infrastruttura preesistente e che non si paghi l'energia elettrica. In sostanza, se avete qualche decina di migliaia di criceti a disposizione e desiderosi di produrre energia correndo sulla ruota e trovate per terra passeggiando e per caso un miner da 5000 euro funzionante, allora potrebbe valerne la pena. In tutti i restanti casi non ci vedo molta convenienza.



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