password

L’era della singola password condivisa tra tutti gli account si è definitivamente conclusa. I frequenti data breach di servizi anche molto popolari hanno evidenziato l’importanza di utilizzare password non solo robuste ma soprattutto univoche per tutte le proprie attività online e, dove possibile, abilitare anche il secondo fattore di autenticazione.

Ma l’uso di tante password complesse e diverse tra loro ha creato una nuova necessità, ossia quella di archiviare tutte queste informazioni in maniera sicura e allo stesso tempo facilmente accessibile. Necessità prontamente soddisfatta da numerosi password manager nati negli ultimi anni, alcuni dei quali sono stati direttamente integrati nei maggiori sistemi operativi mobili e desktop (come Google Password Manager o iCloud Keychain).

Soluzioni dunque estremamente collaudate e diffuse, che però soffrono tutte dello stesso difetto, ossia il fatto che informazioni vitali per la nostra organizzazione sono in possesso di aziende terze su cui noi non possiamo esercitare nessuna forma di controllo.

La domanda che sorge dunque spontanea è: esiste un’alternativa valida, un prodotto che ci restituisca il pieno controllo di questi preziosi dati? Una delle risposte più valide a questo quesito è KeePass, un password manager dalla storia quasi ventennale divenuto talmente popolare da affermarsi come vero e proprio standard per l’archiviazione di dati su file.

Il motivo dell’incredibile successo e diffusione di KeePass è legato proprio alla sua semplicità: dimenticati dei complessi sistemi di sicurezza per proteggere i server dagli attacchi adottati dai password manager cloud a protezione delle nostre preziose informazioni, tutto è archiviato localmente, su un file criptato (con l’estensione kbdx 2, divenuta ormai uno standard e compatibile con numerosi client open source e non) protetto da una master password e da un eventuale secondo fattore di autenticazione hardware.

Un ulteriore punto di forza di KeePass è la sua natura open source che garantisce la sicurezza del codice (grazie alla community numerosa e attiva che lo continua ad aggiornare e modificare) e la nascita di diversi client alternativi che risolvono alcuni dei principali difetti presenti nel client tradizionale, quali l’interfaccia grafica datata e la scarsa compatibilità con i sistemi operativi mobili e UNIX.

Proprio a questo riguardo mi sento di consigliare l’utilizzo di due client alternativi, KeePassXC e KeeWeb, entrambi dotati di interfacce moderne, funzionalità aggiuntive e di release per qualsiasi sistema operativo, anche mobile. L’ultimo potente strumento messo a disposizione da KeePass (purtroppo quasi esclusivamente disponibile sul client tradizionale) è la combinazione delle funzionalità di trigger e URL override, che permettono rispettivamente di automatizzare pressoché qualsiasi azione sul database (salvataggio, copia, sincronizzazione etc.) e di integrarsi con programmi terzi direttamente da KeePass (per aprire un tunnel ssh con putty utilizzando le credenziali memorizzate nelle entry).

Bisogna dire che qualche difetto è intrinseco nella natura di KeePass, come il fatto che la sicurezza garantita dall’archiviazione su file lo rende allo stesso tempo poco incline (a meno di personalizzazioni specifiche poco user friendly) all’utilizzo multi-utente. Considerato comunque che umanamente è più facile ricordare una master password piuttosto che centinaia e che il file, senza chiave d’accesso è intelligibile perché cifrato e quindi buckappabile, questi difetti intrinseci sono facilmente mitigabili.

Riassumiamo i pregi e difetti principali:

Pregi di KeePass

  • Gratuito.
  • Grande flessibilità.
  • Assoluto controllo sull’archiviazione delle informazioni.
  • Garanzia sull’assenza di backdoor assicurata dal codice aperto o oggetto di revisione della community.
  • Possibilità di salvare anche file e creare record personalizzati.
  • Profonda integrazione con i browser e possibilità di creare scorciatoie e integrazioni con software terzi.
  • Disponibilità di numerosi plugin e client alternativi capaci di soddisfare pressoché qualsiasi esigenza.

Difetti di KeePass

  • Assenza di supporto.
  • Difficile integrazione in un ambiente multi-utente.
  • Impossibilità di recuperare i dati in caso di master password dimenticata o file corrotto.
  • Meno “user-friendly” e moderno come user interface di altri prodotti.

KeePass è Sicuramente a utenti consapevoli, visto che si tratta di uno strumento open source e non esiste dunque nessun supporto ufficiale a cui scrivere in caso di problemi (escluso ovviamente quello fornito della community). La sua grande flessibilità richiede un po’ di tempo e skills informatiche per sfruttarne le piene potenzialità ma, nonostante questo, mi sento di consigliarlo a chiunque voglia progressivamente riprendere il controllo dei propri dati slegandosi dalle logiche cloud e magari sfruttare le potenzialità di questo genere di prodotti per automatizzare alcuni processi altrimenti manuali.

 

VPN

Le VPN offrono un servizio utile nel settore della sicurezza digitale. Per ottenere risultati concreti in questo senso, adottano dei protocolli appositi in grado di proteggere gli utenti.

A grandi linee, le soluzioni più diffuse in tal senso sono due: OpenVPN e WireGuard. Ma quale delle due può essere la soluzione realmente migliore?

OpenVPN è un protocollo di connessione open source lanciato sul mercato nell’ormai lontano 2001. Questa tecnologia crea un tunnel sicuro tra due punti di connessione in modo che i dati possano essere trasferiti (sia in entrata che in uscita) in modo sicuro.

Questa tecnologia è la più collaudata, tanto che è utilizzata abitualmente da alcuni dei provider più famosi del settore.
Ecco un breve schema di come funziona una VPN (Virtual Private Network)

funzionamento vpn

WireGuard o OpenVPN: Protocolli di sicurezza a confronto:
La crittografia utilizzata con il protocollo OpenVPN è configurabile, il che significa che l’utente può scegliere quello che vuole: attualmente è possibile utilizzare AES, Blowfish, Camellia e ChaCha20 su OpenVPN.

WireGuard è molto più giovane di OpenVPN, essendo stato proposto al pubblico nel 2019. Ma questo protocollo è diventato rapidamente popolare in tutto il mondo per la sua capacità di proteggere il traffico dati online, pur avendo un impatto minimo sulla banda.

Rispetto ad OpenVPN infatti, questo protocollo è molto più leggero in termini di codice. Quale delle due opzioni scegliere?

Va detto che sia OpenVPN che WireGuard sono un’ottima soluzione a livello di sicurezza. Entrambe le soluzioni hanno comunque piccoli pro e contro.

OpenVPN è più collaudato e presenta bug pressoché inesistenti, WireGuard è più prestante ma, vista la sua relativa giovinezza, può anche presentare più facilmente potenziali falle.

android debug bridgePer consentire una comunicazione tra il proprio dispositivo Android e il PC di casa è necessario utilizzare ADB, ecco in cosa consiste e come funziona.

A volte può essere utile far comunicare il proprio cellulare o il proprio tablet Android con il computer di casa, per tutta una serie di motivi. Si potrebbe ad esempio voler scaricare foto e documenti, o viceversa caricarli sullo smartphone in modo da averli sempre a portata di mano. Per questo esiste Android Debug Bridge, uno strumento che si trova nel software SDK (ovvero negli strumenti di sviluppo per le applicazioni di Android).
Esso consente una comunicazione veloce tra i due dispositivi, con tutti i vantaggi del caso.

Il Debug Usb:
Per utilizzare ADB Android serve una funzionalità particolare, denominata Debug USB. Essa consente di avviare una comunicazione avanzata con il proprio dispositivo, installando applicazioni, leggendo informazioni di sistema ma anche abilitando permessi di root.
Ma di cosa si tratta? Il nome deriva dal processo denominato debugging, ossia la ricerca di bag e la loro correzione. Questo strumento serve soprattutto agli sviluppatori di applicazioni e appare in un menù nascosto. Connesso quando il PC è collegato allo smartphone è possibile verificare la app in fase di sviluppo. È anche possibile cambiare alcuni aspetti specifici del software presente nello smartphone o ancora si può sviluppare un’applicazione di Android.

ADB a cosa serve:
ADB può essere veramente utile in diverse occasioni, laddove si voglia ampliare l’utilizzo del proprio dispositivo Android. È tutt’altra cosa, infatti, lavorare direttamente sul proprio smartphone rispetto a poter intervenire su esso utilizzando un terminale. Dunque Android Debug Bridge consente agli utenti di personalizzare i propri cellulari o tablet, ad esempio accedendo a delle funzionalità nascoste, che con un accesso normale non si potrebbero visualizzare.

Si tratta di funzionalità molto utili soprattutto per i più esperti, come ad esempio strumenti per le applicazioni di scrittura. Ma sono molto importanti anche per gli sviluppatori di applicazioni. Con questo strumento si possono infatti inviare dei comandi avanzati al proprio dispositivo. Un’altra funzione molto utile di ADB Android è quella di poter recuperare dei dati dal dispositivo quando si trova nella modalità recupero. Questo consente quindi di poter andare a ritrovare vecchie foto o documenti salvati.

Come funziona ADB:
A questo punto cerchiamo di capire come usare ADB Android. È bene sapere che per consentire una comunicazione tra PC e smartphone/tablet è necessario avere un cavo USB e una connessione wireless. Inoltre bisogna attivare preliminarmente le cosiddette funzionalità aggiuntive Android, alla voce "Debug Usb", che consente al computer di accedere al file system del proprio dispositivo.

Cosa si può fare con ADB:
A questo punto sono diversi i comandi che si possono eseguire con ADB Android. È infatti molto utile soprattutto laddove si vogliano salvare materiali di vario tipo. Un caso molto classico è quello dello smartphone pieno: prima di formattarlo per liberare spazio è importante poter salvare quanto contiene. ADB Android consente non solo di fare il backup della scheda SD, ma anche di copiare nel computer i file memorizzati sul dispositivo, o viceversa passare su quest’ultimo alcuni contenuti salvati sul PC.

Con ADB il download del materiale memorizzato è sempre possibile. Altra funzionalità importante è la possibilità di installare sul dispositivo Android applicazioni che sono sul computer. Vi sono inoltre tutta una serie di funzionalità dedicate agli sviluppatori.

I principali comandi di Adb Android:
Android Debug Bridge può eseguire diversi comandi, in base alla funzione richiesta, ad esempio:

  • "ADB reboot", per riavviare il dispositivo in remoto sarà necessario utilizzare , che consente un riavvio in modalità normale
  • "ADB reboot recovery" consente un riavvio in modalità di ripristino, quando si deve recuperare qualcosa.
  • Altra modalità di riavvio possibile con ADB Android è in "Bootloader Mode", che si usa nei dispositivi in cui questa funzionalità è disponibile, oppure, anziché andare dapprima in Bootloader e scegliere poi "Fastboot", è possibile riavviare direttamente in modalità Fastboot con "ADB Reboot Fastboot".
  • "ADB Reboot Fastboot" è modalità consente di flashare dei recuperi personalizzati ma anche Rom personalizzati sul proprio dispositivo.
  • "ADB push Source Destination" ad esempio è il comando che consente di inviare file sul dispositivo, sarà ovviamente necessario specificare il percorso di origine del file all’interno dell’argomento del comando e la destinazione in cui si desidera inviare il file.
  • "ADB pull FileLocation Destination" invece per scaricare invece dei file dal dispositivo. Anche in questo caso sarà necessario specificare percorso e destinazione.
  • "ADB install APKLocation", si possono installare app sul dispositivo

Adb, ha molte altre funzioni che non sto qui a elencare, è sufficiente una breve ricerca per trovare il manuale completo e le sintassi da utilizzare, chiudo la panoramica sullo strumento specificando che per installare adb ci sono due strade, installare tutto il setup SDK dell'Android studio (utile se volete sviluppare app), oppure gli adb minimal tools che è stato estratto dall SDK da volonterosi utenti nell'web, e si possono trovare su molti siti.

Link utili:
SDK Android Studio: https://developer.android.com/studio
ADB setup minimal tools: https://www.androidfilehost.com/?fid=746010030569952951
ADB portable minimal tools: https://androidfilehost.com/?fid=962187416754459552

intranet

Cosè la intranet? semplice, è un portale web accessibile solo alle persone che lavorano in azienda.

In linea con le aspettative aziendali, rappresenta il riflesso digitale dell’impresa dentro la quale ogni dipendente può trovare:

  • comunicazioni e news aggiornate
  • materiali di lavoro
  • servizi al dipendente come le buste paga e prenotazioni
  • aree di formazione
  • spazi di lavoro condivisi
  • wiki / social space
  • molto altro...

Ad oggi, soprattutto in un panorama lavorativo in cui lo smartworking è in rapida espansione ed evoluzione, sono molte le imprese di qualsiasi mercato che scelgono di adottarla.

Il motivo è che la piattaforma rappresenta il mezzo tramite la quale l’azienda riesce a raggiungere tutti i migliori vantaggi che la digitalizzazione comporta.

La gestione delle relazioni con i clienti (CRM) è un processo strategico che consente di comprendere meglio le esigenze dei clienti e come soddisfare tali esigenze per migliorare il tasso di ritenzione dei clienti, soddisfare le esigenze di supporto, aumentare le vendite e – in definitiva – aumentare i profitti. I sistemi CRM raccolgono le informazioni sui clienti da una varietà di fonti, tra cui e-mail, siti Web, negozi fisici, call center, app per cellulare e iniziative di marketing e pubblicità. I dati dei CRM fluiscono tra piattaforme operative, come i sistemi di vendita e inventario, e sistemi analitici che mettono in relazione i dati alla ricerca di informazioni sull’efficacia delle campagne, sui modelli di comportamento o sull’efficienza dell’organizzazione.

Se la vostra azienda non ha una visione precisa di chi siano i suoi clienti, quali sono i loro bisogni e desideri, o se sta perdendo clienti a favore di un concorrente, questa è una chiara indicazione che c’è bisogno di un buon sistema di CRM.

Con una strategia CRM efficace, un’azienda può aumentare i ricavi in vari modi:

  • Fornendo servizi e prodotti che corrispondono esattamente a ciò che vogliono i clienti
  • Offrendo un miglior servizio clienti
  • Aiutando il personale di vendita a chiudere le trattative più velocemente
  • Conservando i clienti esistenti e scoprendone di nuovi

Questi vantaggi non avvengono semplicemente acquistando un software e installandolo. Affinché il CRM sia veramente efficace, un’organizzazione deve innanzitutto capire chi siano i suoi clienti, il loro valore, i loro bisogni e il modo migliore per soddisfare tali esigenze. Per esempio, molte istituzioni finanziarie tengono traccia delle fasi della vita dei clienti al fine di commercializzare prodotti bancari appropriati come mutui per la casa, previdenza integrativa  o finanziamenti nel momento più appropriato.

Successivamente, l’organizzazione dovrebbe esaminare tutti i diversi modi in cui le informazioni sui clienti entrano in azienda, dove e come questi dati vengono archiviati e come vengono attualmente utilizzati, se lo sono. Un’azienda, per esempio, può interagire con i clienti in vari modi, tra cui campagne e-mail, siti Web, negozi fisici, call center, personale di vendita sul territorio e iniziative di marketing e pubblicità. I sistemi CRM collegano ciascuno di questi punti di contatto (“touchpoint”, per chi ama l’inglese).

Quanto tempo richiede l’implementazione di un sistema CRM?
Dipende. Se si decide di utilizzare una soluzione CRM ospitata da un fornitore di servizi cloud, specie in modalità SaaS, e si prevede di utilizzare il software per un reparto specifico come le vendite, la distribuzione dovrebbe essere relativamente rapida, diciamo da 30 a 50 giorni, ma bisogna valutare bene il livello di personalizzazione richiesto, che molto spesso in soluzioni del genere non è ottenibile.

Se invece si opta per un’installazione in locale o self-managed su base aziendale (che potrebbe coinvolge diversi reparti) è necessario prevedere bene le fasi dell'operazione: Il tempo necessario per mettere insieme un progetto CRM ben concepito dipende dalla complessità del progetto e dei suoi componenti e dal modo in cui il progetto viene gestito.

Nel corso del tempo ho potuto valutare e testare parecchi CRM opensource che si adattano particolarmente per l'uso nelle piccole e medie realtà del posto in cui vivo.