Una guida alle migliori pratiche di sicurezza per i team remoti

Pubblicato: 2022-03-11

Ogni volta che dico ai miei amici che lavoro in remoto per un cliente che non ho mai incontrato, mi chiedono: è sicuro per te lavorare in remoto? La mia risposta è un clamoroso "Sì... ma dipende da quanto bene crei la tua politica di sicurezza per i lavoratori remoti".

Vivo in Pakistan, dove produco codice di valore per i clienti dall'altra parte del pianeta. I miei clienti non mi hanno mai stretto la mano, né visto dove lavoro. Eppure, devo garantire che i segreti e il codice del client rimangano protetti. In un mondo in cui i membri del tuo team non hanno familiarità con il tuo viso o la tua voce, come puoi prevenire le violazioni della sicurezza? La risposta è: stando molto attenti.

Intestazione della politica di sicurezza del lavoratore remoto

Non molto tempo fa, credevamo che per garantire le prestazioni e la sicurezza delle nostre applicazioni, dovessimo eseguirle nel nostro datacenter privato. Poi è arrivato il cloud e abbiamo abbracciato i vantaggi in termini di costi e prestazioni dell'esecuzione delle nostre applicazioni su una piattaforma scalabile on-demand senza mantenere un parco di server in una stanza.

Permettimi di svelarti un noto segreto:

Non c'è nuvola.
È solo il computer di qualcun altro.

Ora, aziende come Uber 1 e Stripe 2 archiviano ed elaborano informazioni sulla posizione dei clienti in tempo reale, carte di credito e pagamenti sul server di un provider cloud, rispettando al contempo rigorosi standard di sicurezza come la conformità PCI. Lo fanno adottando politiche rigorose che garantiranno la sicurezza dei loro dati di produzione.

Se le aziende possono garantire che il loro intero ambiente di produzione rimanga sicuro nonostante l'esecuzione al di fuori dei loro data center privati, possiamo sicuramente garantire la sicurezza del tuo sviluppo utilizzando team di sviluppo remoti. Dopotutto, intere aziende sono in grado di funzionare completamente da remoto. Toptal è un'azienda solo remota e stiamo assumendo.

Che cos'è la "sicurezza" e come faccio a "essere al sicuro"

In questo articolo, quando parlo di "sicurezza" intendo la sicurezza delle informazioni .

Il termine "sicurezza delle informazioni" indica la protezione delle informazioni e dei sistemi informativi da accesso, uso, divulgazione, interruzione, modifica o distruzione non autorizzati. – 44 Codice USA § 3542

Non esiste una sicurezza perfetta , ma "essere al sicuro" significa che hai adottato misure ragionevoli per rafforzare la sicurezza delle informazioni.

In particolare, quando dici "il mio ambiente di lavoro è sicuro", intendi dire che hai adottato misure ragionevoli per proteggere i dati, il codice o altre informazioni riservate a tua cura e ne hai assicurato l'integrità. Hai anche adottato misure per assicurarti che i tuoi privilegi per accedere ai sistemi di informazioni sensibili non vengano utilizzati da te stesso o da un individuo non autorizzato in modo dannoso per gli obiettivi dell'organizzazione che possiede queste informazioni e questi sistemi.

I team remoti hanno una superficie di attacco molto più ampia rispetto ai team centralizzati. A differenza di un team centralizzato in cui è possibile bloccare fisicamente le informazioni riservate dietro firewall e workstation aziendali, come lavoratore remoto si è incoraggiati o addirittura tenuti a portare il proprio dispositivo (BYOD). Inoltre, poiché la maggior parte delle tue comunicazioni avviene online, sei molto più suscettibile all'ingegneria sociale e al furto di identità. Tuttavia, con il giusto insieme di politiche in atto, puoi sicuramente ridurre al minimo il rischio di una violazione.

Non esiste un proiettile d'argento per la sicurezza. Spesso c'è un compromesso tra le sfumature di sicurezza e comodità, e sta a te determinare fino a che punto vuoi portare le tue pratiche di sicurezza, ma ricorda che il tuo team è sicuro solo quanto il suo membro più debole. Diamo un'occhiata ad alcuni comuni attacchi alla sicurezza, strategie di difesa e, infine, discutiamo un esempio di policy per i lavoratori della sicurezza remota.

I tre tipi più comuni di attacchi contraddittori

Non sei preparato se non sai cosa dovrai affrontare. Un avversario può utilizzare molte strategie nel suo attacco, ma la maggior parte rientra in tre categorie. Sebbene questo elenco non sia esaustivo, questi sono tre tipi comuni di vettori di attacco che gli hacker malintenzionati possono utilizzare:

  • Ingegneria sociale
  • Phishing
  • Infezioni malware

Minacce alla tua politica di sicurezza per i lavoratori remoti

Ingegneria sociale

Considerato anche l'hacking umano, l'ingegneria sociale è la pratica di manipolare le persone affinché agiscano in un modo che non è nel loro migliore interesse; ciò può includere la divulgazione di informazioni riservate.

Gli attacchi di ingegneria sociale possono tentare di sfruttare la tua compassione nel tentativo di farti aggirare le buone pratiche, o creare un senso di urgenza in cui ti fanno aggirare le migliori pratiche temendo un'azione negativa contro di te se non rispetti.

Esempi di ingegneria sociale includono:

  • Una donna chiama un operatore di telefonia mobile e convince l'agente di supporto a cambiare l'account di qualcuno mentre in sottofondo viene riprodotta una clip di YouTube di un bambino che piange.
  • Un utente malintenzionato invia un'e-mail a un CEO tramite l'indirizzo e-mail del CFO e autorizza un trasferimento di fondi di 1,8 milioni di dollari.

Phishing

Il phishing è il metodo più comune per rubare le tue credenziali. Immagina un sito web che assomigli a Facebook, in cui accedi pensando che sia reale. Il phishing è quando un utente malintenzionato crea un sito Web che sembra legittimo ma non lo è.

Riesci a individuare il falso facebook? Suggerimento: è quello non su Facebook.com.

A volte gli hacker possono avvelenare la tua Internet e iniettare il loro sito Web nel dominio di Facebook, questo è chiamato attacco Man in The Middle, ma non preoccuparti, il tuo browser può avvisarti di questi.

Lo spear phishing è un'altra forma di phishing in cui la pagina di phishing può essere personalizzata per te o la tua organizzazione. Questo rende più probabile che tu ci caschi, specialmente se combinato con l'ingegneria sociale.

Ti racconterò una storia: quando ero a scuola, qualcuno che aveva recentemente appreso del phishing ha creato un falso sito Web di Facebook e ha cambiato le home page nel laboratorio di informatica in una sua creazione. La prossima cosa che sapeva, questa persona aveva trecento password per account Facebook. Questo attacco è stato specificamente mirato alla mia scuola e si è rivelato un attacco di spear phishing riuscito.

E pensare che tutte quelle password sarebbero rimaste al sicuro se solo qualcuno si fosse preso la briga di guardare la barra degli indirizzi.

Infezione da malware

Esistono centinaia di diversi tipi di malware. Alcuni sono innocui o semplicemente fastidiosi, ma alcuni possono essere molto pericolosi. I tipi più importanti di malware a cui prestare attenzione sono:

  • Spyware: installa e registra silenziosamente le sequenze di tasti, lo schermo, l'audio e il video.
  • Strumenti di amministrazione remota (RAT): consentono il controllo completo sul computer.
  • Ransomware: crittografa tutti i tuoi file importanti e ti fa pagare per la chiave di decrittazione.

Per farti installare intenzionalmente malware personalizzato sul tuo computer, gli aggressori di solito utilizzano l'ingegneria sociale:

  • L'aggressore pianta le unità USB "perse" nel parcheggio dell'azienda per raccogliere le credenziali di accesso dei dipendenti.
  • Un uomo che ha versato del caffè sul suo curriculum chiede all'addetto alla reception di stampargli una copia di qualcosa perché ha un colloquio, provocando così l'infezione di un computer aziendale da un payload dannoso in una USB. (Esempio tratto da L'arte dell'hacking umano).

Sette strategie di difesa informatica di cui hai bisogno in questo momento

Abbiamo discusso dei metodi di attacco avversari più comuni, ma come possiamo proteggerci da essi?

Strategia n. 1: corretta gestione delle password

Odio le password. Ecco, l'ho detto. Credo fermamente che la combinazione di nome utente e password sia la forma più debole di autenticazione utente esistente. Una password non è altro che una breve stringa di caratteri generata dal peggior generatore di numeri pseudocasuali esistente: la mente umana.

Ho bisogno di una parola segreta, eh? Che ne dici del mio secondo nome e anno di nascita, sicuramente nessuno sarà in grado di indovinarlo! – Ogni essere umano in assoluto

Quel che è peggio è che, per comodità, le persone tendono a riutilizzare le password. Ciò consente a qualcuno di utilizzare la stessa password per l'accesso in banca e per il WiFi di casa, rendendo probabile che la password termini con il nome della propria band preferita . L'orrore!

Anni fa ho deciso di fare quanto segue:

  1. Usa un gestore di password
  2. Utilizzare passphrase complesse anziché password

Usa un gestore di password

Quando ho detto che c'è un compromesso tra le sfumature di sicurezza e convenienza, non si applica qui. O sei sicuro e stai utilizzando un gestore di password, oppure no. Non c'è via di mezzo. È obbligatorio utilizzare un gestore di password per una buona sicurezza della password. Spiegherò.

  1. Tutte le tue password sono uniche?
  2. Se ho scoperto alcune delle tue password, le altre password rimarranno al sicuro?
  3. Tutte le tue password sono state create utilizzando almeno 32 bit di entropia?
  4. Le tue password vengono memorizzate solo in forma crittografata?
  5. Ricordi perfettamente ogni singola password che hai utilizzato al momento della registrazione?
  6. Risulti positivo per una perdita di password su questo sito Web?

Se hai risposto "no" a una qualsiasi delle domande precedenti, hai bisogno di un gestore di password. Un buon gestore di password genererà casualmente le tue password per te e le memorizzerà in modo sicuro. Non importa quale password manager usi, purché tu ne usi uno!

Uso LastPass perché mi piace la trasparenza con i rapporti sugli incidenti, la possibilità di condividere le mie credenziali con gli amici e revocare la condivisione ogni volta che voglio, e mi piace il fatto che la sincronizzazione mobile faccia parte del loro piano gratuito.

Uso LastPass da anni e la loro sfida alla sicurezza mi dice che sono nell'1% dei loro migliori utenti attenti alla sicurezza.

Passphrase forti invece di password

tl;dr: usa questo per generare una passphrase. 12 parole dovrebbero essere sufficienti.

Questo può sembrare controintuitivo poiché ti ho chiesto di utilizzare un gestore di password sopra, ma ci sono casi in cui le password sono inevitabili: avrai bisogno di una password principale complessa per il tuo gestore di password o per accedere al tuo computer. In questi casi, utilizzare una passphrase sicura e memorabile con alta entropia.

A proposito di entropia, parliamone un po'. Cos'è questa "entropia" di cui parlo?

L'entropia è un parametro statistico che misura, in un certo senso, quanta informazione viene prodotta in media per ogni lettera di un testo nella lingua. Se la lingua viene tradotta in cifre binarie (0 o 1) nel modo più efficiente, l'entropia H è il numero medio di cifre binarie richieste per lettera della lingua originale. – Claude Shannon

Va bene se quella citazione fosse difficile da digerire. Fondamentalmente, l'entropia per una password, scelta casualmente da un insieme, è il numero totale di elementi nell'insieme espresso in base 2. Ad esempio: se hai una password lunga 4 caratteri, che può contenere solo lettere minuscole, l'entropia per una password generata casualmente sarebbe di 19 bit perché:

  1. Ci sono 26 elementi in un alfabeto minuscolo
  2. Una stringa di 4 caratteri composta da quelle lettere è 26^4 = 456.976
  3. 456.976 espresso in base 2 è log(456,976) / log(2) = 19 bit (arrotondato al bit più vicino)

Il problema con le password ad alta entropia è che finiscono per essere difficili da ricordare, come c05f$KVB#*6y . Per renderli più memorabili, e se invece di usare lettere singole, usassimo invece parole intere? E hai usato un dizionario di mille parole? Improvvisamente il nostro alfabeto diventa lungo mille elementi e possiamo ottenere la stessa entropia in 7 parole che avremmo con 11 caratteri.

La differenza ora è che invece di usare una pass word , stiamo usando una passphrase , che è molto più lunga.

Il seguente fumetto XKCD spiega meglio questo concetto:

Password vs passphrase

Il modo più semplice per generare una passphrase casuale sicura è andare qui.

Strategia n. 2: utilizzare l'autenticazione a più fattori (AMF)

L'autenticazione a due fattori (2FA) o la verifica in due passaggi sono tutti nomi per la stessa cosa. Questa è una di quelle cose a cui è necessario abituarsi un po', ma i vantaggi di sicurezza della 2FA superano di gran lunga i costi e mi hanno salvato personalmente dalle violazioni dell'account due volte!

L'idea alla base dell'AMF è semplice. Ci sono tre cose che possiamo usare per autenticarti:

  1. Qualcosa che conosci (un segreto)
  2. Qualcosa che hai (un gettone)
  3. Qualcosa che sei (la tua biologia)

Usarne due è più sicuro che usarne solo uno.

La maggior parte dei siti Web supporta il primo fattore di autenticazione richiedendo una password, ma un numero crescente di servizi ha iniziato a supportare anche il secondo fattore. Il terzo fattore è solitamente tralasciato dai servizi web poiché richiede hardware specializzato; come il sensore di impronte digitali sul telefono.

Se sei l'amministratore di un team, prendi in considerazione la creazione di un criterio obbligatorio per consentire agli utenti di avere la configurazione 2FA. Ciò garantisce che una compromissione della password non si traduca in una compromissione dell'account.

Esistono due forme popolari di "qualcosa che hai":

  1. Il tuo telefono
  2. Un tasto U2F

Utilizzo del telefono per 2FA

Vorrei dirlo subito: non utilizzare codici SMS per 2FA. Sta diventando una pratica comune per i malintenzionati dirottare il tuo numero di telefono. La storia è quasi sempre la stessa: qualcuno ha progettato un operatore sociale per trasferire il tuo numero di telefono a un altro operatore. Conosco almeno una persona che è caduta vittima di questo attacco.

Utilizzare invece le password monouso basate sul tempo (TOTP), chiamate anche metodo "Google Authenticator". Tuttavia, invece di utilizzare Google Authenticator, consiglio di utilizzare Authy poiché crittografa ed esegue il backup dei token 2FA sul cloud. Potrai quindi ripristinare i tuoi token 2FA anche se cambi dispositivo... infatti, puoi utilizzare gli stessi token su più dispositivi. È molto conveniente.

Utilizzo di una chiave U2F Per 2FA

Questo è il metodo 2FA più semplice e potente. Ho una Yubikey Neo che posso usare con il mio telefono e il mio computer. Per provare la mia identità, collego semplicemente il mio token hardware e premo un pulsante. Il mio token è unico ed è un token fisico; Posso portarlo sul mio portachiavi o nel mio portafoglio.

Strategia n. 3: Vigilanza costante

Indipendentemente da quanto tu credi di essere sicuro, una buona dose di sospetto è una buona cosa. Diffida delle persone che ti chiedono di fare qualsiasi cosa fuori dall'ordinario. Hai ricevuto un SMS da qualcuno che ti chiedeva di reimpostare la password? Aspetta un minuto e partecipa a una videochiamata con loro. Chiedi loro di dimostrare la loro identità. Nessuno può biasimarti per essere stato cauto.

Non è paranoia se vogliono davvero prenderti. – Harold Finch, persona di interesse

Sono davvero fuori per prenderti. A volte non c'è motivo per un utente malintenzionato di fare quello che fa, a parte la volontà di farlo.

Un mio amico una volta ha ricevuto un messaggio da una vecchia conoscenza che gli chiedeva se desiderava essere il suo "contatto fidato" su Facebook. La mia amica ha acconsentito e gli è stato chiesto di rispondere con un codice che avrebbero ricevuto sul telefono, che la mia amica ha prontamente dato... ed è così che la mia amica è stata indotta dai social a fornire il token di ripristino per il suo account Gmail. Se la mia amica fosse stata vigile dall'inizio, non avrebbe mai perso le sue e-mail.

Strategia n. 4: progettare sistemi secondo il principio del privilegio minimo

Il principio del privilegio minimo richiede che in un particolare livello di astrazione di un ambiente informatico, ogni modulo (come un processo, un utente o un programma, a seconda dell'argomento) deve poter accedere solo alle informazioni e alle risorse necessarie per il suo scopo legittimo. – Wikipedia

Se un utente, un'applicazione o un servizio non richiede determinati privilegi, non concederglieli. Puoi derivare molte regole da questo principio, ma le salverò per la prossima sezione sulle politiche di sicurezza.

Lascia che ti racconti una storia: una volta stavo progettando un'applicazione che accettava pagamenti in Bitcoin dagli utenti su indirizzi generati in modo univoco per loro e poi li inoltrava a un indirizzo di archiviazione centrale sicuro. Se non hai familiarità con il funzionamento di Bitcoin, ecco una spiegazione semplificata: hai bisogno di una chiave pubblica per ricevere Bitcoin (come un numero di conto) e una chiave privata corrispondente per spenderli (come un PIN di conto). I numeri di conto e i pin in Bitcoin sono collegati crittograficamente e non possono essere modificati.

Avevo diverse opzioni per progettare questo sistema, ma ho deciso di intraprendere un percorso leggermente più lungo. Ho deciso che per richiedere all'utente di pagare, l'applicazione non aveva bisogno di accedere alle chiavi private. Quindi, invece di progettare un grande sistema che avrebbe ricevuto e inoltrato pagamenti in Bitcoin, ho realizzato due sistemi:

  1. Il sistema di ricezione: riceveva Bitcoin dagli utenti ed era ospitato su Internet pubblico. Conteneva solo le chiavi pubbliche per gli indirizzi.
  2. Un sistema di inoltro: questo era un sistema completamente indipendente e bloccato il cui unico compito era controllare la rete Bitcoin per le transazioni sugli indirizzi e inoltrarle all'indirizzo sicuro. Conteneva chiavi pubbliche e private per gli indirizzi.

Molto tempo dopo, dopo che ho interrotto la manutenzione dell'app, il sistema di ricezione pubblico è stato violato. L'ho prontamente spento, ma l'attaccante non è mai riuscito a rubare il Bitcoin perché il sistema pubblico non conteneva alcuna chiave privata.

Strategia n. 5: utilizzare le migliori pratiche di buon senso

Alcune pratiche non hanno bisogno di spiegazioni. Probabilmente sai che sono importanti, ma sono costantemente sorpreso da quante persone (incluso me stesso) dimenticano di azionare alcuni interruttori. Lascio questa lista di controllo qui:

  1. Attiva il firewall
  2. Cripta il tuo disco
  3. Abilita backup crittografati
  4. Usa le chiavi SSH
  5. Usa una connessione Internet sicura

Attiva il firewall

Un firewall controlla il traffico di rete da e verso il tuo computer in base a una serie di regole. Funziona chiedendoti esplicitamente se consentire a nuovi programmi di accedere alla tua rete ed è la tua prima linea di difesa.

È probabile che il tuo sistema operativo sia dotato di un firewall integrato. Assicurati che sia acceso.

Cripta il tuo disco

La crittografia dell'intero disco è questa capacità magica di rendere inutilizzabile il contenuto dell'intero disco senza la tua password. In caso di smarrimento o furto del tuo laptop, puoi essere certo che nessuno potrà accedere ai tuoi dati. Abilitare questo può essere semplice come attivare FileVault su un Mac.

I telefoni cellulari moderni hanno anche la crittografia completa del disco abilitata per impostazione predefinita.

Cripta i tuoi backup

L'hardware si guasta, è un dato di fatto. Il tuo computer si guasterà un giorno o un virus infetterà il tuo PC o (rabbrividendo) un virus ransomware si impossesserà del tuo PC. Ma come persona pragmatica, probabilmente hai già una configurazione del flusso di backup, ne sono sicuro ... non è vero?

Tuttavia, anche con i tuoi backup, devi rimanere vigile. Assicurati che i tuoi backup siano crittografati in modo che, anche in caso di smarrimento o furto, puoi essere certo di aver adottato misure ragionevoli per proteggere la sicurezza dei dati che ti sono stati affidati.

Se hai un Mac, l'app Time Machine sul tuo Mac crittografa automaticamente i backup.

Usa le chiavi SSH

Se togli qualcosa da questo articolo, smetti di usare le password per SSH nelle macchine. Le password sono difficili da condividere e, se mai vengono divulgate, l'intera macchina viene compromessa. Invece, crea una chiave SSH semplicemente eseguendo ssh-keygen .

Per accedere a una macchina remota, copia semplicemente il contenuto della tua ~/.ssh/id_rsa.pub in ~/.ssh/authorized_keys nella macchina remota. Potrebbe essere necessario riavviare il servizio SSH sulla macchina remota, ma il gioco è fatto.

Aggiungi le chiavi SSH dell'intero team alla macchina remota e nessuno dovrà mai più digitare una password. Revocare la chiave di un membro del team è semplice come rimuovere la chiave dalla macchina remota.

Usa una connessione Internet sicura

Quando condividi una connessione Internet con qualcuno, condividi più della tua larghezza di banda. A seconda della configurazione dei siti Web e di Internet, possono almeno rilevare quali siti Web visiti e, nel peggiore dei casi, leggere tutte le informazioni che trasmetti, comprese password, messaggi o e-mail.

Questo è molto semplice da abilitare ed estremamente facile anche da rovinare. Prendi precauzioni ragionevoli per assicurarti che la tua connessione sia privata. Assicurati che nessuno non autorizzato abbia accesso alla tua connessione Internet.

Usa WPA2 per proteggere con password il tuo WiFi personale e, se lavori dal bar locale (o da qualsiasi WiFi pubblico), supponi di essere osservato e utilizza un proxy VPN.

Esito a utilizzare VPN basate su abbonamento, soprattutto perché il tuo è così semplice. Usa questa soluzione VPN a una linea per ospitare la tua.

Strategia n. 6: tratta i segreti con cura

I segreti non devono essere svelati. Ecco perché si chiamano segreti . Nonostante ciò, quante volte ti sei reso colpevole di aver inviato la password al database PostgreSQL di produzione tramite Facebook Messenger? Assicurati di:

  • Cripta i segreti in transito
  • Ruotali spesso

Cripta i segreti in transito

Se devi condividere i segreti tramite canali come la chat, assicurati che siano crittografati. Come esercizio, visita il tuo client di chat più vecchio e utilizzato di frequente. Potrebbero essere messaggi di Facebook o Whatsapp. Indipendentemente da cosa sia, apri e cerca la frase "password" nei tuoi messaggi.

Se questi segreti fossero stati crittografati, non sarebbero disponibili a nessuno con accesso ai tuoi messaggi.

Ruota spesso i segreti

Più a lungo esiste un segreto o più è stato condiviso, più è probabile che sia stato compromesso. È considerata una buona pratica ruotare i segreti e le password dopo un certo periodo di tempo.

Strategia n. 7: stabilire identità crittografiche

Questa è sicuramente una strategia avanzata, ma personalmente non capisco perché questa non sia una pratica diffusa. Considera questo: il tuo collega crede che tu sia stato compromesso. Come fanno a trasmettere un messaggio al vero te? Se qualcuno da Internet deve condividere importanti informazioni sulla vulnerabilità, come fa a inviarle in modo sicuro? Come vi assicurate che i vostri dipendenti condividano in modo sicuro le informazioni in transito?

Il mio esempio preferito è il profilo keybase di Coinbase, dove firmano crittograficamente le chiavi PGP dei loro dipendenti. Sono andati oltre e hanno fornito al loro dipartimento di conformità una chiave PGP. Seriamente, Coinbase, ottimo lavoro!

Per me, personalmente, nel caso in cui qualcuno abbia un ragionevole dubbio che la mia identità online sia stata compromessa, chiedimi semplicemente di firmare un messaggio utilizzando la chiave PGP disponibile sul mio profilo keybase. Sono l'unica persona con accesso a questa chiave PGP e ho preso ragionevoli precauzioni per garantire che questa chiave rimanga sicura anche se le mie altre identità sono compromesse.

Se hai dei dubbi sull'autenticità di un messaggio, chiedimi di firmarlo. Se hai bisogno di inviarmi un segreto, criptalo con la mia chiave pubblica.

Implementare una politica di sicurezza chiara per i lavoratori remoti

La politica di sicurezza è una definizione di cosa significa essere sicuri per un sistema, un'organizzazione o un'altra entità. Per un'organizzazione, affronta i vincoli al comportamento dei suoi membri così come i vincoli imposti agli avversari da meccanismi come porte, serrature, chiavi e muri. – Wikipedia

Una politica di sicurezza è una regola o un protocollo obbligatorio che deve essere seguito durante l'esecuzione di azioni. Le strategie di cui sopra sono utili, ma per renderle più facili da seguire, dai al tuo team una serie di regole semplici da seguire. È più difficile rovinare la sicurezza quando il tuo team sa esattamente cosa fare.

Discutiamo esempi di policy di sicurezza per i lavoratori remoti da implementare.

Politiche da implementare per i tuoi dipendenti :

  • NDA e contratti: assicurarsi che nessun dipendente abbia accesso a risorse riservate senza un'adeguata base legale.
  • Informazioni di contatto di emergenza: elimina le informazioni di contatto complete e di emergenza del tuo dipendente nel caso in cui il membro del tuo team remoto non risponda.
  • Concedi solo i privilegi essenziali: se il membro del tuo team non ha bisogno di accedere a determinate aree per svolgere la sua funzione, non concedergli l'accesso. Un membro del team di vendita non ha bisogno di accedere al tuo repository di codice.
  • Gestori di password: assicurati che i tuoi dipendenti abbiano accesso a un gestore di password
  • Politiche di autenticazione forti
    • Sicurezza minima delle password: personalmente odio le password e, per le organizzazioni in cui sono amministratore, richiedo password con un minimo di cinquanta caratteri alfanumerici. È banale aderire a questa politica se stai utilizzando un gestore di password.
    • Reimpostazione obbligatoria della password: assicurati che le password dei tuoi dipendenti scadano frequentemente per ruotare spesso i segreti.
    • Autenticazione a due fattori : usa 2FA ovunque
  • chiavi PGP
  • Dischi rigidi crittografati
  • Backup crittografati

I dipendenti se ne vanno, ma non dovrebbero portare le tue informazioni con loro. Adatta queste politiche per conservare i dati anche dopo che i tuoi dipendenti hanno lasciato l'azienda:

  • Account e-mail aziendali: fornire ai tuoi dipendenti account e-mail sul tuo dominio ti consente di disabilitare e controllare le loro comunicazioni.
  • Comunicazioni in tempo reale: anche se l'e-mail è ottima, a volte il tuo team ha bisogno di parlare in tempo reale. Assicurati che il tuo team disponga di un canale Slack o IRC centralizzato. Ciò ti dà la possibilità di disabilitare o controllare le loro comunicazioni come richiesto.
  • Repository di codice centralizzato: assicurati che tutto il codice aziendale sia archiviato in un repository di codice aziendale. I piani aziendali su offerte SaaS pubbliche come GitHub vanno bene finché non è necessario un controllo dettagliato su tutto il codice dei dipendenti. In quest'ultimo caso, prendi in considerazione la possibilità di ottenere la tua istanza GitLab.

Politiche per proteggere la tua infrastruttura :

  • Mantieni i sistemi aggiornati: le vulnerabilità della sicurezza vengono scoperte e corrette ogni giorno, è tuo compito assicurarti di applicare queste correzioni. Non c'è niente di peggio che scoprire che una violazione è stata causata da una vulnerabilità che è stata corretta settimane fa.
  • Blocca gli ambienti di produzione e di staging: nessun dipendente dovrebbe avere accesso agli ambienti di produzione o di staging. A volte fanno solo pasticci.
  • Crea un forte flusso CI/CD: vuoi sempre distribuire codice "buono" e il semplice processo CI/CD lo garantisce sempre.
  • Proteggi il repository benedetto: se disponi di un processo CI/CD automatizzato, assicurati che il tuo repository benedetto sia modificabile solo dal project manager.
  • Definisci un processo di revisione: per garantire che nessun codice "cattivo" passi inosservato, crea un processo di revisione. Questo può essere semplice come richiedere almeno un commento indipendente "Mi sembra buono" (LGTM) prima della fusione.
  • Chiavi SSH: nella remota possibilità che la tua applicazione richieda l'accesso SSH, assicurati che utilizzino chiavi SSH anziché password.
  • Prendi in considerazione l'eliminazione del BYOD: il team del budget potrebbe pensare che il BYOD sia la migliore innovazione di policy dopo l'ufficio senza carta, ma se te lo puoi permettere, considera la possibilità di fornire al tuo team macchine aziendali su cui implementare rigorose policy di sicurezza.
  • Backup crittografati: i tuoi dati sono importanti.

Politiche durante la scrittura del codice :

  • Nessun segreto nel codice: a causa della natura del controllo della versione, può essere molto difficile rimuovere i dati quando vengono aggiunti nel codice, dove le chiavi segrete sono molto facili da trovare.
  • Bcrypt durante la memorizzazione delle password: durante la progettazione di un sistema di autenticazione, utilizzare bcrypt per eseguire l'hashing e il sale delle password invece di progettare il sistema o (gulp) archiviare in testo normale.
  • Filtra le informazioni sensibili dai registri: che si tratti del tuo peperoncino globale, della chiave di firma della sessione della tua applicazione o del tentativo di accesso di un utente, assicurati che non vengano trapelati nei file di registro del tuo sistema dove chiunque abbia accesso possa leggerli.
  • Concedi i privilegi minimi richiesti: se la tua applicazione necessita solo dei privilegi di READ , non concedere i privilegi di WRITE . Rispettare il principio del privilegio minimo.

Crea un piano di risposta

Occasionalmente si verificano violazioni della sicurezza e, sebbene ci sarà tutto il tempo per imparare durante l'autopsia, ciò che conta è che ci sia un percorso chiaro per proteggere tutte le risorse digitali.

Prenditi il ​​tempo necessario per elaborare un piano di emergenza nel caso in cui si verifichi una violazione della sicurezza. Considera le tue azioni nei seguenti scenari:

  • Perdi un dispositivo con dati sensibili.
  • La tua infrastruttura potrebbe essere stata raggiunta da una parte non autorizzata.
  • Osservi qualcuno della tua squadra che si comporta in modo strano a differenza di loro.
  • Viene rilevata una vulnerabilità di sicurezza.

Cose da includere nel tuo piano di risposta:

  • Documentazione diligente: abilita la registrazione dello schermo, configura un wiki per consentire al tuo team di condividere tutto ciò che incontra.
  • Contenimento delle violazioni: a seconda dell'ambito della violazione, ciò può essere semplice come disabilitare un account utente, portare un server offline o arrestare la produzione e contattare gli utenti.
  • Stabilisci una comunicazione interna: avvia un canale Slack dedicato o trova un modo per consentire a chiunque di segnalare ciò che incontra.
  • Portare aiuto: chiama tutte le squadre interessate dalla violazione. Questo potrebbe essere un buon momento per contattare anche le autorità.
  • Indagare: capire cosa è stato violato, in che misura e cosa possiamo fare per riprendere le normali operazioni.
  • Tornare online: crea, testa e pubblica una correzione per riprendere le normali operazioni il prima possibile. I tuoi utenti dipendono dal tuo servizio per funzionare e, nel momento in cui puoi garantire un servizio stabile e sicuro, torna online.
  • Parla con i tuoi utenti: non lasciare i tuoi utenti all'oscuro. La cosa peggiore che puoi fare è interrompere il tuo servizio senza spiegare cosa sta succedendo ai tuoi utenti. Stabilire un canale di aggiornamento in tempo reale; questo può essere semplice come usare Twitter per tenerli informati. Dopo che l'incidente è stato gestito, pubblica un rapporto post mortem parlando di cosa è successo, come è successo e cosa hai fatto per prevenire violazioni simili in futuro.

Gli incidenti di sicurezza accadono. Ciò che conta è come gestisci la tua risposta. Una delle mie risposte preferite è stata di gran lunga nel 2015, quando LastPass ha emesso il ripristino obbligatorio della password principale quando ha rilevato un'attività di rete anomala. Sono un utente di LastPass da molto tempo e, nonostante i loro recenti problemi di sicurezza, adoro il modo in cui rispondono ai loro clienti mettendo al primo posto le loro esigenze.

Lettura consigliata

Per ribadire: non esiste una sicurezza perfetta. Tutto ciò che conta è assicurarti di aver fatto uno sforzo ragionevole per mantenere i tuoi dati al sicuro.

Queste pratiche di sicurezza dovrebbero rendere te e il tuo team remoto molto più difficili da hackerare.

Se vuoi leggere la storia vera di un hacker fuggitivo in fuga dalla legge, ti consiglio Ghost in the Wires di Kevin Mitnick.

Se vuoi saperne di più su come pensa l'altra parte, ti consiglio di leggere:

  • Ingegneria sociale: l'arte dell'hacking umano di Christopher Hadnagy
  • L'arte dell'inganno di Kevin Mitnick e William L. Simon

La mia colpa è di essere curioso.