Come configurare smartphone e PC. Portale informativo
  • casa
  • In contatto con
  • Autenticazione a due fattori di Windows e crittografia dei dati senza CA e dominio. Dietro la doppia armatura

Autenticazione a due fattori di Windows e crittografia dei dati senza CA e dominio. Dietro la doppia armatura

Le password possono essere un grosso problema per la sicurezza e gestibilità per gli amministratori IT di aziende e organizzazioni. Gli utenti spesso creano password semplici o annotano le password in modo da non dimenticarle. Inoltre, solo alcune delle procedure di reimpostazione della password sono efficaci e sicure. Date queste limitazioni, come è possibile mitigare questi tipi di problemi di sicurezza quando l'accesso alla rete viene eseguito da utenti remoti? Come puoi rendere più sicure le soluzioni per le password della tua azienda sapendo che molti utenti scrivono le loro password?

C'è una soluzione: questa è l'introduzione nell'organizzazione di un sistema di protezione dell'accesso aggiuntivo basato sull'immissione di password monouso (OTP - One Time Password), che vengono generate sul dispositivo mobile del tuo dipendente. Il passaggio all'autenticazione basata su password una tantum di solito si verifica quando si comprende che le password standard a lungo termine sono insufficienti dal punto di vista della sicurezza e, allo stesso tempo, l'uso delle smart card è limitato, ad esempio, in una situazione di utilizzo massiccio di client mobili.

La nostra azienda ha sviluppato una soluzione tecnologica che ti permetterà di ottenere linea di protezione aggiuntiva per un server terminal o un server 1C basata su password monouso a cui i dipendenti si connettono da remoto.

Ambito del lavoro sull'implementazione e la configurazione del sistema OTP

Sul tuo server viene installato e configurato un software specializzato per operare un sistema di autenticazione dell'accesso basato su password monouso (OTP) Tutti i dipendenti dell'organizzazione che hanno bisogno di accedere al server vengono inseriti nel sistema OTP. Per ogni dipendente, la configurazione iniziale di un telefono cellulare viene eseguita con l'installazione di un programma per la generazione di una password monouso

Inizia il costo dell'introduzione nell'organizzazione di un sistema di autenticazione dell'accesso a un server terminal o server 1C basato su password monouso (OTP) da 6 400 rubli.

Nei casi in cui il sistema OTP verrà implementato in combinazione con il noleggio dell'infrastruttura nel nostro "cloud" sicuro, lo sconto sull'implementazione del sistema di protezione della password monouso (OTP) può raggiungere il 50%.

Password monouso: un ulteriore livello di sicurezza dei dati

Una password tradizionale e statica di solito cambia solo quando è necessario: quando scade o quando l'utente l'ha dimenticata e vuole reimpostarla. Poiché le password vengono memorizzate nella cache sui dischi rigidi del computer e archiviate sul server, sono vulnerabili all'hacking. Questo problema è particolarmente acuto per i computer portatili, poiché possono essere facilmente rubati. Molte aziende forniscono ai dipendenti computer portatili e aprono le loro reti per l'accesso remoto. Assumono anche personale temporaneo e fornitori. In un tale ambiente, una semplice soluzione con password statica diventa uno svantaggio.
A differenza di una password statica, una password monouso cambia ogni volta che un utente accede al sistema ed è valida solo per un breve periodo di tempo (30 secondi). Le password stesse vengono create e crittografate utilizzando un algoritmo complesso in base a molte variabili: tempo, numero di voci riuscite/non riuscite, numeri generati casualmente, ecc. Questo approccio apparentemente complesso richiede semplici azioni da parte dell'utente: installa un'applicazione speciale sul telefono, che viene sincronizzata una volta con il server e quindi genera una password monouso. Ad ogni nuovo accesso riuscito, il client e il server vengono automaticamente risincronizzati indipendentemente l'uno dall'altro utilizzando uno speciale algoritmo. Il contatore aumenta ogni volta che viene richiesto al dispositivo di avere un valore OTP e quando l'utente vuole accedere, inserisce l'OTP attualmente visualizzato sul suo dispositivo mobile.

Le realtà dei paesi in cui vive la maggior parte dei Khabroviti sono tali che mantenere i server con informazioni importanti al di fuori del paese in cui fare affari è diventata una buona forma, che ti consente di salvare i tuoi nervi e i tuoi dati.

La prima domanda che si pone quando si passa al cloud dopo la crittografia dei dati, o forse anche prima, è la garanzia che l'accesso ai dati con un account utente venga effettuato dall'utente e non da qualcun altro. E se un buon modo per crittografare i dati ospitati in un cloud privato è discusso in un articolo del mio collega, allora con l'autenticazione tutto è più complicato.

Informazioni sugli utenti e sui metodi di protezione

La natura di un utente tipico è tale che l'atteggiamento nei confronti della sicurezza delle password dagli account è piuttosto frivolo ed è impossibile risolverlo. La nostra esperienza mostra che anche se un'azienda ha politiche rigorose, formazione degli utenti, ecc., Ci sarà ancora un dispositivo non crittografato che ha lasciato le pareti dell'ufficio e, guardando l'elenco dei prodotti di un'azienda nota, capisci che l'estrazione le password da un dispositivo non crittografato è solo questione di tempo.

Alcune aziende per controllare l'accesso ai dati nel cloud stabiliscono tunnel tra il cloud e l'ufficio, vietano l'accesso remoto https://habrahabr.ru/company/pc-administrator/blog/320016/. A nostro avviso, questa non è una soluzione completamente ottimale, in primo luogo, si perdono alcuni dei vantaggi di una soluzione cloud e, in secondo luogo, ci sono problemi di prestazioni segnalati nell'articolo.

Soluzione utilizzando terminal server e Gateway desktop remoto (RDG) più flessibile, puoi configurare un alto livello di sicurezza, come descritto dal mio collega https://habrahabr.ru/post/134860/ (articolo del 2011, ma il principio stesso è ancora rilevante). Questo metodo permette di impedire il trasferimento dei dati dal cloud, ma impone limitazioni al lavoro dell'utente e non risolve completamente il problema dell'autenticazione, anzi è una soluzione DLP.

Forse il modo migliore per garantire che un utente malintenzionato non sia in esecuzione con un account utente è autenticazione a due fattori... Gli articoli del mio collega https://habrahabr.ru/post/271259/ https://habrahabr.ru/post/271113/ descrivono la configurazione di MFA da Microsoft e Google per client VPN. Il metodo è buono, ma, in primo luogo, richiede CISCO ASA, che non è sempre facile da implementare, specialmente nei cloud budget, e in secondo luogo, lavorare tramite una VPN è scomodo. Lavorare con una sessione terminale tramite RDG è molto più comodo e il protocollo di crittografia SSL sembra più versatile e affidabile della VPN di CISCO.

Esistono molte soluzioni con autenticazione a due fattori sul server terminal stesso, ecco un esempio di configurazione di una soluzione gratuita: http://servilon.ru/dvuhfaktornaya-autentifikaciya-otp/. Questa soluzione, purtroppo, non funziona attraverso il RDG.

Il server RDG richiede la conferma dell'autorizzazione dal server MFA. MFA, a seconda del metodo di autenticazione selezionato, chiama, invia SMS o invia una richiesta all'applicazione mobile. L'utente approva o rifiuta la richiesta di accesso. L'MFA restituisce il risultato del secondo fattore di autenticazione al server RDG.

Installare e configurare il server Azure Multi-Factor Authentication

Crea un provider di autenticazione nel portale di Microsoft Azure

Vai a Microsoft Azure (l'account deve avere un abbonamento o una versione di prova installata) e trova Multi-Factor Authentication (MFA).

Al momento, la gestione dell'autenticazione a più fattori non è stata aggiunta alla nuova versione del portale di Azure, quindi verrà aperta la versione precedente del portale.

Per creare un nuovo provider di autenticazione a più fattori, fare clic su "CREA → Servizi applicativi → Directory attiva → Provider di autenticazione a più fattori → Creazione rapida" in basso a sinistra. Fornire nome e modello di utilizzo.

La modalità di addebito del pagamento dipende dal modello di utilizzo, dal numero di utenti o dal numero di autenticazioni.


Una volta creato, l'MFA apparirà nell'elenco. Successivamente, vai in gestione facendo clic sull'apposito pulsante.


Vai ai download e scarica il server MFA

Distribuzione del server MFA

Il server MFA deve essere installato su una macchina virtuale diversa dal server RDG. Sono supportati sistemi operativi precedenti a Windows Server 2008 o Windows 7. Per il funzionamento è necessario Microsoft .NET Framework 4.0.

Gli indirizzi sulla porta 443 dovrebbero essere disponibili:

Installiamo il server MFA, durante l'installazione rifiutiamo la procedura guidata delle impostazioni.

Al primo avvio, è necessario inserire i dati dell'account, che devono essere generati nella pagina di download del server.


Quindi, aggiungi gli utenti. Per fare ciò, vai alla sezione Utenti e fai clic su Importa da Active Directory, seleziona gli utenti da importare.



Se necessario, è possibile configurare l'aggiunta automatica di nuovi utenti da AD:

"Integrazione directory → Sincronizzazione → Aggiungi", così come aggiungi una directory che si sincronizzerà automaticamente all'intervallo di tempo specificato.


Testiamo le prestazioni del server MFA. Vai alla sezione Utenti. Per il tuo account, specifica il numero di telefono (se non già impostato) e seleziona il metodo di autenticazione "Telefonata". Premi il pulsante Test e inserisci il tuo nome utente e password. Dovrebbe arrivare una chiamata al telefono. Rispondiamo e premiamo #.

Configurazione di un server MFA per lavorare con le richieste Radius

Vai alla sezione Autenticazione Radius e seleziona la casella Abilita autenticazione RADIUS.

Aggiungi un nuovo client, specificando l'indirizzo IP del server NPS e il segreto condiviso. Se l'autenticazione deve essere eseguita per tutti gli utenti, inserire l'apposita casella di controllo (in questo caso, tutti gli utenti devono essere aggiunti al server MFA).

È inoltre necessario assicurarsi che le porte specificate per la connessione corrispondano alle porte specificate sul server NPS e non siano bloccate da un firewall.


Vai alla scheda Target e aggiungi il server Radius.


Nota: se sulla rete non è presente un server NPS centrale, gli indirizzi IP Radius del client e del server saranno gli stessi.

Configurazione del server RDG e NPS per funzionare insieme a MFA

Il gateway Desktop remoto deve essere configurato per inviare richieste Radius al server MFA. Per fare ciò, apri le proprietà del gateway e vai alla scheda "RDG CAP Store", seleziona "NPS è in esecuzione su un server centrale" e specifica l'indirizzo del server MFA e il segreto condiviso.


Successivamente, configuriamo il server NPS. Espandi la sezione "Client e server Radius → Gruppi di server Radius remoti". Apri le proprietà del "gruppo di server gateway TS" (il gruppo viene creato durante la configurazione di RDG) e aggiungi il nostro server MFA.

Quando aggiungiamo, nella scheda "Bilanciamento del carico", aumentiamo i limiti di timeout del server. Impostiamo "Il numero di secondi senza risposta, dopo i quali la richiesta viene considerata scartata" e "Il numero di secondi tra le richieste, dopo i quali il server viene considerato non disponibile" nell'intervallo 30-60 secondi.

Nella scheda "Autenticazione/Contabilità", controlliamo la correttezza delle porte specificate e impostiamo la chiave segreta condivisa.



Ora andiamo nella sezione "Client e server Radius → Client Radius" e aggiungiamo un server MFA, specificando il "Nome amichevole", l'indirizzo e il segreto condiviso.


Vai alla sezione "Politiche → Politiche di richiesta di connessione". Questa sezione dovrebbe contenere una politica creata durante la configurazione di RDG. Questo criterio indirizza le richieste Radius al server MFA.

Duplica la policy e vai alle sue proprietà. Aggiungi una condizione che corrisponda a "Nome descrittivo del cliente" con il "Nome descrittivo" specificato nel passaggio precedente.


Nella scheda "Impostazioni", cambia il provider del servizio di autenticazione sul server locale.


Questa politica assicurerà che quando una richiesta Radius viene ricevuta dal server MFA, la richiesta verrà elaborata localmente, evitando così richieste in loop.

Verifichiamo che questa politica sia posizionata sopra quella originale.


In questa fase il collegamento RDG e AMF è operativo. I passaggi seguenti sono necessari per coloro che devono essere in grado di utilizzare l'autenticazione dell'app mobile o fornire agli utenti l'accesso ad alcune delle impostazioni di autenticazione a più fattori tramite il portale utente.

Installazione dell'SDK, del servizio Web dell'app mobile e del portale utente

La connessione a questi componenti avviene tramite protocollo HTTPS. Pertanto, sui server in cui verranno distribuiti, è necessario installare un certificato SSL.

Il portale personalizzato e il servizio Web dell'app per dispositivi mobili usano l'SDK per comunicare con il server MFA.

Installazione dell'SDK

L'SDK è installato sul server MFA e richiede IIS, ASP.NET, autenticazione di base, che deve essere prima installato utilizzando Server Manager.

Per installare l'SDK, vai alla sezione Web Service SDK in Multi-Factor Authentication Server e fai clic sul pulsante Installa, segui la procedura guidata di installazione.

Installazione del servizio web dell'app mobile

Questo servizio è necessario affinché l'applicazione mobile interagisca con il server MFA. Affinché il servizio funzioni correttamente, il computer su cui verrà installato deve disporre di una connessione Internet e la porta 443 deve essere aperta per la connessione da Internet.

Il file di installazione del servizio si trova nella cartella C:\Programmi\Autenticazione a più fattori di Azure su un computer con MFA installato. Avvia il programma di installazione e segui la procedura guidata di installazione. Per comodità degli utenti, è possibile sostituire il nome della directory virtuale "MultiFactorAuthMobileAppWebService" con uno più breve.

Dopo l'installazione, vai alla cartella C:\inetpub\wwwroot\MultiFactorAuthMobileAppWebService e modificare il file web.config... In questo file è necessario impostare le chiavi responsabili dell'account incluso nel gruppo di sicurezza PhoneFactor Admins. Questo account verrà utilizzato per connettersi all'SDK.


Nello stesso file, devi specificare l'URL in cui è disponibile l'SDK.

Nota: la connessione all'SDK viene effettuata utilizzando il protocollo SSL, quindi è necessario fare riferimento all'SDK tramite il nome del server (specificato nel certificato SSL) e non tramite l'indirizzo IP. Se la richiesta viene effettuata da un nome locale, è necessario aggiungere una voce appropriata al file hosts per utilizzare il certificato SSL.


Aggiungere l'URL in cui è disponibile il servizio Web dell'applicazione mobile all'applicazione Multi-Factor Authentication Server nella sezione Mobile App. Ciò è necessario per la corretta generazione del codice QR nel portale utente per il collegamento delle applicazioni mobili.

Inoltre, in questa sezione, puoi selezionare la casella "Abilita token OATH", che ti consente di utilizzare l'applicazione mobile come token software per generare password monouso in base al tempo.

Installazione di un portale personalizzato

L'installazione richiede IIS, ASP.NET e il ruolo Meta Compatibility di IIS 6 (per IIS 7 o versioni successive).

Se il portale è installato su un server MFA, è sufficiente accedere alla sezione Portale Utente in Multi-Factor Authentication Server, cliccare sul pulsante Installa e seguire la procedura guidata di installazione. Se il computer fa parte di un dominio, l'installazione creerà un utente membro del gruppo di sicurezza PhoneFactor Admins. Questo utente è necessario per una connessione sicura con l'SDK.


Quando si installa su un server separato, è necessario copiare il file di installazione dal server MFA (il file di installazione si trova nella cartella C: \ Programmi \ Server di autenticazione a più fattori). Installa e modifica il file web.config alla posizione C: \ inetpub \ wwwroot \ MultiFactorAuth... In questo file, devi cambiare la chiave USE_WEB_SERVICE_SDK da falso a vero. Specificare i dettagli dell'account del gruppo PhoneFactor Admins nei tasti WEB_SERVICE_SDK_AUTHENTICATION_USERNAME e WEB_SERVICE_SDK_AUTHENTICATION_PASSWORD... E specifica l'indirizzo URL del servizio SDK, senza dimenticare, se necessario, di correggere il file hosts in modo che il protocollo SSL funzioni.

Aggiungere l'URL in cui il portale utente è disponibile all'applicazione Multi-Factor Authentication Server nella sezione Portale utente.

Dimostrazione del funzionamento di Azure MFA per l'autenticazione delle connessioni RDG

Considereremo il lavoro di MFA dal lato dell'utente. Nel nostro caso, il secondo fattore di autenticazione sarà l'applicazione mobile, poiché la rete cellulare presenta una serie di vulnerabilità che consentono, con un'adeguata preparazione, di intercettare chiamate e SMS.

Prima di tutto, l'utente dovrà accedere al portale utente e specificare il proprio numero di telefono (se non specificato in AD) e collegare l'applicazione mobile all'account. Andiamo al portale sotto il nostro account e inseriamo le risposte alle domande segrete (ci serviranno in caso di ripristino dell'accesso all'account).


Successivamente, seleziona il metodo di autenticazione, nel nostro caso l'applicazione mobile e fai clic sul pulsante "Crea codice di attivazione". Verrà generato un codice QR, che deve essere scansionato nell'applicazione mobile.


Poiché durante l'importazione degli utenti nel server MFA, l'autenticazione è stata impostata utilizzando un codice PIN, verrà richiesto di crearne uno. Inserisci il codice PIN desiderato e fai clic su "Verifica la mia autenticità". Nell'applicazione mobile, devi confermare la richiesta che appare. Dopo queste azioni, abbiamo un'applicazione collegata all'account e l'accesso completo al portale per modificare le impostazioni personali.

Ho ricevuto commenti e chiarimenti incredibilmente positivi da un amico che desiderava rimanere anonimo:
1) All'inizio della configurazione del server, inserisci il comando:
multiotp.exe -debug -config default-request-prefix-pin = 0 display-log = 1 dopo non è necessario inserire un codice pin durante l'impostazione dell'utente e la visualizzazione del registro di ogni operazione sulla console è acceso.

2) Usando questo comando, puoi regolare il bantime, per gli utenti che hanno sbagliato la password (default 30 secondi):
multiotp.exe -debug -config failure-delayed-time = 60
3) Quello che verrà scritto nell'applicazione google Authenticator sopra le 6 cifre si chiama emittente, puoi cambiare dal MultiOTP predefinito a qualcos'altro:
multiotp.exe -debug -config emittente = altro
4) Dopo le operazioni completate, il comando per la creazione di un utente diventa un po' più semplice:
multiotp.exe -debug -create user TOTP 12312312312312312321 6 (non imposto il tempo di aggiornamento delle cifre pari a 30 secondi, sembra essere 30 per impostazione predefinita).

5) Ogni utente può modificare la descrizione (testo sotto i numeri nell'app Google Auth):
multiotp.exe -set nome utente descrizione = 2
6) I codici QR possono essere generati direttamente nell'app:
multiotp.exe -qrcode nome utente c: \ multiotp \ qrcode \ user.png: \ multiotp \ qrcode \ user.png
7) Puoi usare non solo TOTP, ma anche HOTP (l'input della funzione di hashing non è l'ora corrente, ma il valore del contatore incrementale):
multiotp.exe -debug -create username HOTP 12312312312312312321 6

Oggi ti diremo come puoi impostare rapidamente e facilmente l'autenticazione a due fattori e crittografare i dati importanti, anche con la possibilità di utilizzare la biometria. La soluzione sarà rilevante per le piccole aziende o solo per un personal computer o laptop. È importante che per questo non abbiamo bisogno di un'infrastruttura a chiave pubblica (PKI), un server con il ruolo di un'autorità di certificazione (Certificate Services) e non abbiamo nemmeno bisogno di un dominio (Active Directory). Tutti i requisiti di sistema saranno ridotti al sistema operativo Windows e alla presenza di una chiave elettronica per l'utente e, nel caso dell'autenticazione biometrica, anche di un lettore di impronte digitali, che, ad esempio, potrebbe essere già integrato nel laptop.

Per l'autenticazione utilizzeremo un software di nostra realizzazione - JaCarta SecurLogon e una chiave elettronica JaCarta PKI come autenticatore. Lo strumento di cifratura sarà lo standard Windows EFS, l'accesso ai file cifrati sarà effettuato anche tramite la chiave JaCarta PKI (la stessa utilizzata per l'autenticazione).

Ricordiamo che JaCarta SecurLogon è una soluzione software e hardware di Aladdin RD certificata dall'FSTEC della Russia, che consente una transizione semplice e rapida dall'autenticazione a un fattore basata su una coppia login-password all'autenticazione a due fattori nel sistema operativo tramite token USB o smart card. L'essenza della soluzione è abbastanza semplice: JSL genera una password complessa (~ 63 caratteri) e la scrive nella memoria protetta della chiave elettronica. In questo caso, la password potrebbe non essere nota all'utente stesso, l'utente conosce solo il codice PIN. Inserendo il PIN durante l'autenticazione, il dispositivo viene sbloccato e la password viene inviata al sistema per l'autenticazione. Facoltativamente, puoi sostituire l'input del PIN scansionando l'impronta digitale dell'utente e puoi anche utilizzare la combinazione PIN + impronta digitale.

EFS, come JSL, può funzionare in modalità autonoma, non richiedendo altro che il sistema operativo stesso. Tutti i sistemi operativi Microsoft della famiglia NT, a partire da Windows 2000 e successivi (ad eccezione delle versioni domestiche), dispongono di una tecnologia di crittografia dei dati integrata, EFS (Encrypting File System). La crittografia EFS si basa sulle capacità del file system NTFS e sull'architettura CryptoAPI ed è progettata per crittografare rapidamente i file sul disco rigido di un computer. La crittografia EFS utilizza le chiavi private e pubbliche dell'utente, che vengono generate quando l'utente utilizza per la prima volta la funzione di crittografia. Queste chiavi rimangono invariate finché esiste il suo account. Quando si crittografa un file, EFS genera in modo casuale un numero univoco, la cosiddetta chiave di crittografia dei file (FEK) con una lunghezza di 128 bit, con cui vengono crittografati i file. I FEK sono crittografati con una chiave principale, che è crittografata con la chiave degli utenti del sistema che hanno accesso al file. La chiave privata dell'utente è protetta dall'hash della password dell'utente. I dati crittografati con EFS possono essere decrittografati solo utilizzando lo stesso account Windows con la stessa password da cui è stata eseguita la crittografia. E se memorizzi il certificato di crittografia e la chiave privata su un token USB o una smart card, avrai bisogno anche di questo token USB o smart card per accedere ai file crittografati, il che risolve il problema della compromissione della password, poiché sarà necessario un dispositivo aggiuntivo sotto forma di chiave elettronica.

Autenticazione

Come già notato, non è necessario un AD o un'autorità di certificazione per la configurazione, è necessario un Windows moderno, una distribuzione JSL e una licenza. La configurazione è scandalosamente semplice.

Devi installare il file di licenza.

Aggiungi profilo utente.

E inizia a utilizzare l'autenticazione a due fattori.

Autenticazione biometrica

È possibile utilizzare l'autenticazione biometrica delle impronte digitali. La soluzione funziona con la tecnologia Match On Card. L'hash dell'impronta digitale viene scritto sulla carta durante l'inizializzazione e successivamente verificato rispetto all'originale. Non lascia la mappa da nessuna parte, non è memorizzata in alcuni database. Per sbloccare tale chiave, viene utilizzata un'impronta digitale o una combinazione di PIN + impronta digitale, PIN o impronta digitale.

Per iniziare a usarlo, devi solo inizializzare la carta con i parametri necessari, registrare l'impronta digitale dell'utente.

In futuro, la stessa finestra apparirà prima di entrare nel sistema operativo.

Nel presente esempio, la carta viene inizializzata con possibilità di autenticazione tramite impronta digitale o codice PIN, come indicato dalla finestra di autenticazione.

Dopo aver presentato un'impronta digitale o un codice PIN, l'utente entrerà nel sistema operativo.

Crittografia dei dati

Anche l'impostazione di EFS non è molto difficile, si tratta di impostare un certificato e rilasciarlo su una chiave elettronica e impostare directory di crittografia. In genere, non è necessario crittografare l'intera unità. I file veramente importanti, che non sono desiderabili per l'accesso da parte di terzi, si trovano solitamente in directory separate e non sono sparsi su tutto il disco.

Per emettere un certificato di crittografia e una chiave privata, aprire un account utente, selezionare - Gestisci certificati di crittografia dei file. Nella procedura guidata che si apre, crea un certificato autofirmato sulla smart card. Poiché continuiamo a utilizzare la smart card con l'applet BIO, dobbiamo presentare la nostra impronta digitale o il PIN per scrivere il certificato di crittografia.

Al passaggio successivo, specificare le directory che verranno associate al nuovo certificato, se necessario, è possibile specificare tutte le unità logiche.

La directory crittografata stessa e i file in essa contenuti verranno evidenziati con un colore diverso.

L'accesso ai file avviene solo in presenza di una chiave elettronica, previa presentazione di un'impronta digitale o di un codice PIN, a seconda di quanto selezionato.

Questo completa l'intera configurazione.

Puoi utilizzare entrambi gli scenari (autenticazione e crittografia), puoi fermarti a una cosa.

Se la tua password è l'unica barriera all'accesso ai tuoi dati, sei a grande rischio. Il pass può essere strappato via, intercettato, trascinato via da un Trojan o ripescato con l'aiuto dell'ingegneria sociale. Non utilizzare l'autenticazione a due fattori in questa situazione è quasi un crimine.

Di chiavi usa e getta abbiamo già parlato più di una volta. Il significato è molto semplice. Se un utente malintenzionato riesce in qualche modo a ottenere il tuo nome utente-password, può facilmente inserire la tua posta o connettersi a un server remoto. Ma se c'è un fattore aggiuntivo in arrivo, ad esempio una chiave monouso (chiamata anche chiave OTP), non ne verrà fuori nulla. Anche se tale chiave arriva a un attaccante, non sarà più possibile utilizzarla, poiché è valida una sola volta. Quindi un secondo fattore può essere una chiamata aggiuntiva, un codice ricevuto via SMS, una chiave generata sul telefono secondo determinati algoritmi basati sull'ora corrente (l'ora è un modo per sincronizzare l'algoritmo sul client e sul server). La stessa Google da tempo consiglia ai propri utenti di abilitare l'autenticazione a due fattori (un paio di click nella configurazione dell'account). Ora è il momento di aggiungere un tale livello di protezione anche ai tuoi servizi!

Cosa offre Duo Security?

Un esempio banale. Il mio computer ha una porta RDP aperta "all'esterno" per la connessione desktop remoto. Se la password di accesso viene trapelata, l'attaccante avrà immediatamente pieno accesso alla macchina. Pertanto, non si trattava di migliorare la protezione con una password OTP: doveva essere fatto. È stato sciocco reinventare la ruota e cercare di implementare tutto da soli, quindi ho solo guardato alle soluzioni che sono sul mercato. La maggior parte di essi si è rivelata commerciale (vedi la barra laterale per maggiori dettagli), ma per un numero limitato di utenti possono essere utilizzati gratuitamente. Per la casa, proprio quello che ti serve. Uno dei servizi di maggior successo che consente di organizzare l'autenticazione a due fattori letteralmente per qualsiasi cosa (inclusi VPN, SSH e RDP) è Duo Security (www.duosecurity.com). Il fatto che lo sviluppatore e fondatore del progetto sia John Oberhide, un noto specialista di sicurezza delle informazioni, ha aggiunto al suo appello. Lui, ad esempio, ha violato il protocollo di comunicazione tra Google e smartphone Android, con il quale è possibile installare o disinstallare applicazioni arbitrarie. Una base del genere si fa sentire: per mostrare l'importanza dell'autenticazione a due fattori, i ragazzi hanno lanciato il servizio VPN Hunter (www.vpnhunter.com), che in pochissimo tempo riesce a trovare i server VPN nascosti dell'azienda (e allo stesso tempo determinare il tipo di apparecchiatura su cui vengono eseguiti), servizi per l'accesso remoto (OpenVPN, RDP, SSH) e altri elementi dell'infrastruttura che consentono a un utente malintenzionato di entrare nella rete interna, semplicemente conoscendo nome utente e password. È divertente che sul Twitter ufficiale del servizio i proprietari abbiano iniziato a pubblicare rapporti giornalieri sulla scansione di aziende note, dopodiché l'account è stato bannato :). Il servizio Duo Security, ovviamente, mira principalmente a introdurre l'autenticazione a due fattori nelle aziende con un numero elevato di utenti. Fortunatamente per noi, è possibile creare un account personale gratuito che consente di organizzare gratuitamente l'autenticazione a due fattori per dieci utenti.

Quale potrebbe essere il secondo fattore?

Successivamente, vedremo come rafforzare una connessione desktop remoto, oltre a SSH, su un server in letteralmente dieci minuti. Ma prima, voglio parlare del passaggio aggiuntivo che Duo Security introduce come secondo fattore di autorizzazione. Ci sono diverse opzioni: telefonata, SMS con passcode, passcode Duo Mobile, Duo Push, chiave elettronica. Un po' di più su ciascuno.

Quanto tempo posso utilizzare gratuitamente?

Come già accennato, Duo Security propone uno speciale piano tariffario “Personal”. È assolutamente gratuito, ma il numero di utenti non dovrebbe essere superiore a dieci. Supporta l'aggiunta di integrazioni illimitate, tutti i metodi di autenticazione disponibili. Fornisce mille crediti gratuiti per i servizi di telefonia. I crediti sono come una valuta interna che viene addebitata sul tuo conto ogni volta che ti autentichi tramite una chiamata o un SMS. Nelle impostazioni dell'account, puoi impostarlo in modo tale che al raggiungimento del numero di crediti specificato, riceverai una notifica sul sapone e avrai tempo per ricaricare il tuo saldo. Mille crediti valgono solo 30 dollari. I prezzi per chiamate e SMS sono diversi per i diversi paesi. Per la Russia, una chiamata avrà un costo da 5 a 20 crediti, SMS - 5 crediti. Tuttavia, non viene addebitato alcun costo per una chiamata che si verifica durante l'autenticazione sul sito Web di Duo Security. Puoi dimenticare completamente i crediti se utilizzi l'app Duo Mobile per l'autenticazione: non viene addebitato alcun costo.

Registrazione semplice

Per proteggere il tuo server con Duo Security, devi scaricare e installare un client speciale che interagirà con il server di autenticazione Duo Security e fornirà un secondo livello di protezione. Di conseguenza, questo client sarà diverso in ogni situazione: a seconda di dove esattamente è necessario implementare l'autorizzazione a due fattori. Ne parleremo di seguito. La prima cosa da fare è registrarsi nel sistema e ottenere un account. Pertanto, apri la pagina principale del sito, fai clic su "Prova gratuita", nella pagina che si apre, fai clic sul pulsante "Registrati" sotto il tipo di account personale. Quindi ci viene chiesto di inserire nome, cognome, indirizzo e-mail e nome dell'azienda. Una lettera deve essere inviata alla posta contenente un collegamento per confermare la registrazione. In questo caso, il sistema comporrà automaticamente il numero di telefono specificato: per attivare l'account è necessario rispondere alla chiamata e premere il tasto # del telefono. Dopodiché, l'account sarà attivo e potrai iniziare i test di combattimento.

Garantire il RDP

Sopra, ho detto che ho iniziato con un forte desiderio di proteggere le connessioni remote al mio desktop. Pertanto, come primo esempio, descriverò come rafforzare la sicurezza del PSR.

  1. Qualsiasi implementazione dell'autenticazione a due fattori inizia con un semplice passaggio: la creazione di una cosiddetta integrazione nel profilo Duo Security. Vai alla sezione "Integrazioni  Nuova integrazione", specifica il nome dell'integrazione (ad esempio, "Home RDP"), seleziona il suo tipo "Microsoft RDP" e fai clic su "Aggiungi integrazione".
  2. Nella finestra che appare, vengono visualizzati i parametri di integrazione: Chiave di integrazione, Chiave segreta, Nome host API. Ne avremo bisogno in seguito, quando avremo impostato il lato client. È importante capire: nessuno dovrebbe conoscerli.
  3. Successivamente, è necessario installare un client speciale sulla macchina protetta, che installerà tutto il necessario nel sistema Windows. Può essere scaricato dal sito ufficiale o preso dal nostro disco. Tutta la sua configurazione si riduce al fatto che durante il processo di installazione sarà necessario inserire la chiave di integrazione sopra menzionata, la chiave segreta, il nome host API.
  4. Questo, in effetti, è tutto. Ora, la prossima volta che accedi al server tramite RDP, lo schermo visualizzerà tre campi: nome utente, password e chiave Duo una tantum. Di conseguenza, non è più possibile accedere al sistema con un solo nome utente-password.

Al primo tentativo di accesso al sistema, un nuovo utente dovrà eseguire una volta la procedura di verifica di Duo Security. Il servizio gli fornirà un collegamento speciale, facendo clic sul quale è necessario inserire il numero di telefono e attendere una chiamata di verifica. Per ottenere chiavi aggiuntive (o ottenerle per la prima volta), puoi inserire la parola chiave "sms". Se vuoi autenticarti con una telefonata - inserisci "telefono", se con Duo Push - "push". La cronologia di tutti i tentativi di connessione (sia riusciti che non riusciti) al server può essere visualizzata nel tuo account sul sito Web di Duo Security, dopo aver selezionato l'integrazione desiderata e andare al suo "Registro di autenticazione".

Connettiamo Duo Security ovunque!

Utilizzando l'autenticazione a due fattori, puoi proteggere non solo RDP o SSH, ma anche VPN, server RADIUS e qualsiasi servizio web. Ad esempio, esistono client pronti all'uso che aggiungono un ulteriore livello di autenticazione ai popolari motori Drupal e WordPress. Se non c'è un client già pronto, non dovresti arrabbiarti: puoi sempre aggiungere l'autenticazione a due fattori per la tua applicazione o il tuo sito web da solo utilizzando l'API fornita dal sistema. La logica del lavoro con l'API è semplice: fai una richiesta per l'URL di un metodo specifico e analizzi la risposta restituita, che può arrivare in formato JSON (o BSON, XML). La documentazione completa per l'API Duo REST è disponibile sul sito Web ufficiale. Dirò solo che esistono metodi ping, check, preauth, auth, status, dal nome dei quali è facile intuire a cosa sono destinati.

Protezione di SSH

Consideriamo un altro tipo di integrazione - "Integrazione UNIX" per implementare l'autenticazione sicura. Aggiungiamo un'ulteriore integrazione al nostro profilo Duo Security e procediamo con l'installazione del client sul sistema.

Puoi scaricare i sorgenti di quest'ultimo su bit.ly/IcGgk0 o prelevarlo dal nostro disco. Ho usato l'ultima versione - 1.8. A proposito, il client funziona sulla maggior parte delle piattaforme nix, quindi puoi installarlo facilmente su FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris / Illumos, HP-UX e AIX. Il processo di compilazione è standard: configura && make && sudo make install. L'unica cosa che consiglierei è di usare configure con l'opzione --prefix = / usr, altrimenti il ​​client potrebbe non trovare le librerie richieste all'avvio. Al termine dell'installazione andiamo a modificare il file di configurazione /etc/duo/login_duo.conf. Questo deve essere fatto da sotto la radice. Tutte le modifiche che devono essere apportate per un'operazione di successo consistono nell'impostare la chiave di integrazione, la chiave segreta, i valori del nome host dell'API, che possono essere trovati nella pagina di integrazione.

; Chiave di integrazione Duo = INTEGRATION_KEY; Chiave segreta Duo = SECRET_KEY; Duo API hostnamehost = API_HOSTNAME

Per forzare tutti gli utenti che accedono al server tramite SSH a utilizzare l'autenticazione a due fattori, è sufficiente aggiungere la seguente riga al file /etc/ssh/sshd_config:

> ForceCommand / usr / local / sbin / login_duo

È anche possibile organizzare l'autenticazione a due fattori solo per i singoli utenti combinandoli in un gruppo e specificando questo gruppo nel file login_duo.conf:

> gruppo = ruota

Non resta che riavviare il demone ssh affinché le modifiche abbiano effetto. Da questo momento, dopo aver inserito con successo la login-password, all'utente verrà richiesto di sottoporsi ad un'ulteriore autenticazione. Una sottigliezza della configurazione di ssh dovrebbe essere annotata separatamente: si consiglia vivamente di disabilitare le opzioni PermitTunnel e AllowTcpForwarding nel file di configurazione, poiché il demone le applica prima di iniziare la seconda fase di autenticazione. Pertanto, se un utente malintenzionato inserisce correttamente la password, può accedere alla rete interna prima di completare la seconda fase di autenticazione grazie al port forwarding. Per evitare questo effetto, aggiungi le seguenti opzioni a sshd_config:

PermitTunnel noAllowTcpForwarding no

Ora il tuo server si trova dietro un doppio muro ed è molto più difficile per un utente malintenzionato accedervi.

Altre impostazioni

Se vai al tuo account Duo Security e vai alla sezione "Impostazioni", puoi modificare alcune impostazioni per te stesso. La prima sezione importante è "Telefonate". Qui si specificano i parametri che avranno effetto quando viene utilizzata una telefonata per confermare l'autenticazione. La voce "Tasti di richiamata vocale" permette di impostare quale tasto del telefono dovrà essere premuto per confermare l'autenticazione. Per impostazione predefinita, è presente il valore "Premi un tasto qualsiasi per autenticare", ovvero puoi premere qualsiasi tasto. Se imposti il ​​valore "Premi tasti diversi per autenticare o segnalare frode", allora dovrai impostare due tasti: cliccando sul primo si conferma l'autenticazione (Chiave per autenticare), cliccando sul secondo (Chiave per segnalare frode) significa che il processo di autenticazione non è stato avviato da noi, ovvero qualcuno ha ricevuto la nostra password e sta tentando di accedere al server utilizzandola. La voce "Codici di accesso SMS" consente di impostare il numero di codici di accesso che un SMS conterrà e la loro durata (validità). Il parametro "Blocco e frode" permette di impostare l'indirizzo e-mail al quale verrà inviato un avviso in caso di un certo numero di tentativi di accesso al server andati a vuoto.

Usalo!

Sorprendentemente, molte persone ignorano ancora l'autenticazione a due fattori. Non capisco perché. Aggiunge davvero alla sicurezza molto seriamente. Può essere implementato per quasi tutto e sono disponibili soluzioni decenti gratuitamente. Allora perché? Per pigrizia o per disattenzione.

Servizi analoghi

  • Significare(www.signify.net) Il servizio offre tre opzioni per organizzare l'autenticazione a due fattori. Il primo è l'uso di chiavi elettroniche. Il secondo modo è l'uso di chiavi di accesso, che vengono inviate all'utente al telefono tramite SMS o inviate per e-mail. La terza opzione è un'applicazione mobile per telefoni Android, iPhone, BlackBerry, che genera password monouso (in effetti, un analogo di Duo Mobile). Il servizio è rivolto alle grandi aziende, quindi è completamente a pagamento.
  • SecurEnvoy(www.securenvoy.com) Consente inoltre di utilizzare un telefono cellulare come secondo strato protettivo. Le chiavi di accesso vengono inviate all'utente tramite SMS o e-mail. Ogni messaggio contiene tre password, ovvero l'utente può accedere tre volte prima di richiedere una nuova porzione. Anche il servizio è a pagamento, ma prevede un periodo gratuito di 30 giorni. Un vantaggio significativo è il gran numero di integrazioni sia native che di terze parti.
  • PhoneFactor(www.phonefactor.com) Questo servizio consente di organizzare l'autenticazione a due fattori gratuitamente per un massimo di 25 utenti, fornendo 500 autenticazioni gratuite al mese. Per organizzare la protezione, dovrai scaricare e installare un client speciale. Se devi aggiungere l'autenticazione a due fattori al tuo sito, puoi utilizzare l'SDK ufficiale, che fornisce documentazione dettagliata ed esempi per i seguenti linguaggi di programmazione: ASP.NET C#, ASP.NET VB, Java, Perl, Ruby, PHP .

Principali articoli correlati