
Continuiamo a esplorare la nuova piattaforma cloud Check Point Management Platform per gestire le soluzioni di protezione dei computer degli utenti — SandBlast Agent. abbiamo descritto i componenti principali di SandBlast Agent, ci siamo familiarizzati con l'architettura Check Point Infinity e abbiamo registrato l'applicazione SandBlast Agent Management Platform nel portale Infinity. Oggi esamineremo in dettaglio l'interfaccia web del sistema di gestione degli agenti — questo articolo servirà da guida completa per tutte le funzioni e le possibilità della console cloud. E come preparazione al prossimo articolo, installeremo SandBlast Agent e ci familiarizzeremo con la sua interfaccia.
Struttura della console cloud di gestione Management Platform
L'interfaccia di SandBlast Agent Management Platform può essere suddivisa in tre componenti:
- Pannello di controllo — situato nella parte superiore dell'interfaccia, consente di eseguire le operazioni di base di amministrazione: gestire gli account, contattare il supporto tecnico di Check Point e configurare il profilo dell'amministratore;
- Pannello di navigazione — situato a sinistra, consente di navigare tra i principali componenti del pannello di controllo, come la sezione delle impostazioni delle politiche, visualizzare i log, ecc.;
- Area di lavoro — occupa la maggior parte della console di gestione e include la possibilità di configurare le sezioni del pannello di navigazione, visualizzare informazioni grafiche (log, report) e configurare i parametri globali del sistema.
Esaminiamo più in dettaglio ciascun elemento del sistema SandBlast Agent Management Platform. Le aree di lavoro saranno descritte in dettaglio per tutti i componenti del pannello di navigazione, ma iniziamo con le funzionalità del pannello di controllo.
Pannello di controllo
Il pannello di controllo comprende 6 componenti, esaminiamoli da sinistra a destra. Il primo è il pulsante "Menu", che, se premuto, mostra i tuoi attuali servizi del portale e consente di aggiungere nuovi servizi dalle categorie Cloud Protection, Network Protection ed Endpoint Protection al tuo account. Il secondo è il nome dell'applicazione attualmente in uso — in questo caso, SandBlast Agent Management Platform. Facendo clic sull'icona dell'applicazione, puoi sempre accedere alla sezione "OVERVIEW" del pannello di navigazione. Il terzo elemento è l'icona di gestione degli account, che consente di passare rapidamente tra gli account delle aziende di cui sei amministratore.
Il quarto componente del pannello di controllo è il pulsante di aiuto, che consente di contattare il supporto tecnico di Check Point direttamente dalla console e di passare a per monitorare lo stato delle risorse cloud e web di Check Point, oltre ad accedere ai "Manuali per l'amministratore" della SandBlast Agent Management Platform e di Infinity Portal. Il successivo elemento è il tuo profilo su Infinity Portal, cliccando sul quale puoi "entrare" nelle impostazioni del profilo o uscire dal profilo attuale. Infine, l'ultimo elemento del pannello di controllo è il pulsante per accedere al sito .
Impostazioni del profilo Infinity Portal
Cliccando sul nome del tuo profilo Infinity Portal si apre un'area di lavoro per configurare il profilo: puoi modificare il nome utente visualizzato e il numero di telefono, cambiare la lingua dell'interfaccia (attualmente sono disponibili l'inglese e il giapponese) e selezionare l'account a cui è collegato il profilo. Inoltre, puoi cambiare la password attuale del profilo e abilitare l'autenticazione a due fattori utilizzando Google Authenticator o Twilio Authy per accedere al portale. Il processo di configurazione dell'autenticazione a due fattori è estremamente semplice: con l'app viene scansionato un codice QR, dopodiché viene inserito il token di accesso generato e confermata l'attivazione del 2FA.
Pannello di navigazione
La console di gestione della SandBlast Agent Management Platform è composta da 9 sezioni nel pannello di navigazione, come mostrato nella figura sottostante, che consentono di svolgere molte attività di distribuzione e amministrazione degli agenti, oltre a gestire le impostazioni della console web. Esaminiamo brevemente ciascuna delle sezioni e per ulteriori informazioni clicca sul riquadro con il nome della sezione di tuo interesse. Iniziamo:
- PANORAMICA è una sezione composta da vari cruscotti che mostrano lo stato attuale delle macchine client e degli agenti dal punto di vista dell'operatività (numero di macchine protette, versioni dei sistemi operativi, stato degli agenti, messaggi di errore ecc.) e della sicurezza (dati su macchine attaccate e infettate, attacchi attivi e bloccati, cronologia degli attacchi ecc.);
Sezione PANORAMICA: dettagliata
Questa sezione è composta da due sottosezioni: Panoramica operativa e Panoramica sulla sicurezza. Nel primo, Operational Overview, viene visualizzata l'informazione sullo stato dei computer e degli agenti degli utenti: il numero di computer protetti, le caratteristiche dei computer degli utenti (tipo di dispositivo — computer personale / laptop, tipo di sistema operativo — Windows / MacOS), le statistiche del processo di distribuzione degli agenti, lo stato di salute dei computer, informazioni sull'aggiornamento delle basi di dati antivirus sui computer, le versioni di SandBlast Agent installate e le versioni dei sistemi operativi utilizzati, e un'area con eventi attivi (Alerts). Da questa sezione è possibile scaricare il client SandBlast Agent.
La seconda sezione, Security Overview, visualizza informazioni sul livello di protezione dei computer degli utenti e sugli attacchi (attivi e bloccati). Questa sezione consente di filtrare le informazioni visualizzate per tempo e di impostare parametri di ricerca per oggetti specifici. Ogni blocco della sezione Security Overview può essere configurato individualmente — è possibile aggiungere grafici di vari tipi, che visualizzeranno informazioni in base al filtro impostato. La sezione può essere esportata come report in formato Excel / PDF. Da questa sezione è possibile scaricare anche il client SandBlast Agent.
- POLICY — sezione del pannello di navigazione, dove vengono configurati i parametri della politica di sicurezza unificata (nota come Unified Policy), e vengono definiti le regole di distribuzione degli agenti e le impostazioni globali delle politiche;
Sezione POLICY: dettagliata
Prima sezione, Prevenzione delle minacce, consente di configurare le regole della politica di sicurezza specificando gli oggetti a cui verrà applicata la politica e di impostare dettagliatamente il funzionamento dei blade. Ogni regola può contenere impostazioni per tre componenti logici della politica Threat Prevention: Web & Files Protection, Behavioral Protection, Analysis & Remediation. Il componente Web & Files Protection include impostazioni per URL Filtering, Download protection, Credential protection, Files Protection. Il componente Behavioral Protection è composto dai blade Anti-Bot, Behavioral Guard & Anti-Ransomware, Anti-Exploit. Il componente Analysis & Remediation comprende Automated attack analysis (forensics), Remediation & Response.
Esistono 3 profili preimpostati che regolano le impostazioni dei componenti di sicurezza: Tuning (tutte le blade sono impostate in modalità Detect), Recommended (alcune blade in modalità Detect) e Default (solo il URL Filtering in modalità Detect). Inoltre, nella sezione Threat Prevention è possibile aggiungere eccezioni (nell'Exclusions Center) per bypassare le regole della politica.
Il secondo sotto-insieme — Protezione dei Dati, include le impostazioni di crittografia del disco Full Disk Encryption. La crittografia Check Point e la crittografia BitLocker per Windows, File Vault per MacOS sono supportate. Inoltre, è possibile configurare ulteriormente le impostazioni di crittografia, l'autenticazione Pre-Boot e le impostazioni avanzate di autenticazione di Windows.
Il successivo sotto-insieme — Deployment, in cui vengono impostate le opzioni di installazione dei componenti SandBlast Agent sui computer degli utenti. In questo sotto-insieme è possibile separare, tramite regole politiche, l'installazione di diverse blade per macchine e versioni di agenti differenti.
L'ultimo sotto-insieme, Impostazioni della Politica Globale, consente di impostare una password per rimuovere SandBlast Agent dal computer dell'utente, modificare le impostazioni dei dati da inviare a Check Point e definire le caratteristiche della password per la Full Disk Encryption.
- GESTIONE COMPUTER — un'area della barra di navigazione che mostra informazioni dettagliate su tutte le macchine client e consente anche di gestire gruppi logici di computer, eseguire azioni forzate (Push Operation) e configurare la crittografia del disco (Full Disk Encryption Actions);
Sezione GESTIONE COMPUTER: dettagliato
Nella sezione GESTIONE COMPUTER ci sono tre componenti principali: le icone delle impostazioni, il campo di visualizzazione delle informazioni sui computer degli utenti e i filtri per impostare le opzioni di visualizzazione. Diamo un'occhiata alle icone delle impostazioni in ordine da sinistra a destra: aggiornamento delle informazioni; esportazione del report sulla macchina selezionata in formato CSV; creazione di uno Scanner di Directory per ottenere informazioni su utenti, macchine e gruppi da Active Directory; gestione dei gruppi (creazione/modifica/eliminazione); creazione di un nuovo gruppo virtuale; aggiunta di una macchina utente a un gruppo virtuale esistente; aggiunta di un'azione forzata dalla categoria Push Operation (trattato nei dettagli nella sezione corrispondente); creazione di attività per il recupero dei dati da un disco crittografato in caso di problemi di accesso (Full Disk Encryption Actions).
Gruppi virtuali consentono di raggruppare le macchine degli utenti in gruppi logici per una gestione flessibile. Questi gruppi possono essere utilizzati come alternativa a Active Directory o insieme ad AD. Ci sono diversi gruppi virtuali che vengono assegnati automaticamente alle macchine degli utenti, come Desktops, Laptops, Servers e altri.

Il campo di visualizzazione delle macchine degli utenti può essere configurato in base ai filtri mostrati nell'immagine sopra. Il primo filtro (per proprietà dei computer) ha molteplici criteri incorporati e consente di visualizzare i computer degli utenti in base alle loro caratteristiche, allo stato della macchina o ai componenti di SandBlast Agent. Il secondo filtro (per gruppo virtuale) offre la possibilità di filtrare per gruppi virtuali, e il terzo (per unità organizzativa) — in base ai parametri di Active Directory.
- LOGS — pannello di visualizzazione dei log, che mostra statistiche su molti parametri (blade, criticità dell'evento, macchine degli utenti, ecc.) e fornisce informazioni dettagliate su ogni log;
Sezione LOGS: dettagli
Questa sezione fornisce un'interfaccia comoda per esplorare i log con molteplici strumenti di filtraggio. In questa sezione LOGS, si possono distinguere 4 componenti: la barra di ricerca superiore per le query e la selezione dell'intervallo di tempo; il pannello sinistro con statistiche sui vari criteri; l'area centrale con la visualizzazione di tutti i log e delle informazioni principali su di essi; il pannello destro con la visualizzazione delle informazioni dettagliate sul log selezionato. È supportata la possibilità di visualizzare i log senza informazioni su utenti e macchine (Hide Identities) ed esportarli in un file Excel.
- OPERAZIONI PUSH — sezione in cui vengono create e monitorate le attività eseguite forzatamente sulla macchina client (raccolta log, riavvio o spegnimento della macchina, scansione per malware/file dannosi, ecc.);
Sezione OPERAZIONI PUSH: dettagli
In questa sezione ci sono due aree di lavoro principali: nella parte superiore si configurano e visualizzano le attività forzate per le macchine client, mentre nella parte inferiore viene mostrata l'informazione dettagliata sull'attività selezionata.
Ci sono tre categorie di operazioni forzate, ognuna delle quali contiene diverse attività: nella categoria Anti-Malware ci sono Scansione per Malware, Aggiornamento del database delle firme malware, Ripristino di file dalla quarantena; nella categoria Ricerca e Risoluzione Analizza per Indicatore, Rimediatura File; nella categoria Impostazioni Agente Raccoglie i Log del Cliente, Ripara il Cliente, Spegni Computer, Riavvia Computer. È possibile assegnare un orario preciso per ognuna delle attività forzate e aggiungere un commento descrittivo.
- IMPOSTAZIONI DEGLI ENDPOINT — sezione del pannello di navigazione dove si configura l'integrazione con Active Directory, le impostazioni dei messaggi di sistema (Avvisi), si attiva l'esportazione dei log tramite Syslog e si ha anche la possibilità di monitorare lo stato delle licenze e scegliere il tipo di politica attiva (basata su utente o basata su computer);
Sezione IMPOSTAZIONI DEGLI ENDPOINT: dettagliato
Prima sezione, Scanner AD, consente la configurazione della sincronizzazione completa del portale con Active Directory della tua organizzazione per ottenere informazioni su tutti gli utenti e macchine. Di default è attivata la modalità Scan Distribuito dell'Organizzazione, in cui le macchine con SandBlast Agent installato inviano dati sul loro percorso al pannello di controllo per la visualizzazione successiva nella sezione GESTIONE COMPUTER. Puoi anche cambiare la modalità in Sincronizzazione Completa di Active Directory, per cui tutti i dati da Active Directory saranno trasferiti nel pannello di controllo. Per una scansione riuscita è necessaria un'account con pieni diritti di lettura per: root di Active Directory, tutti i contenitori figlio e oggetti, contenitore degli oggetti rimossi.
Il secondo sottosezione è Avvisi, dove si configura le impostazioni per le notifiche sulle situazioni critiche, ad esempio, per l'infezione di una macchina o problemi con il dispiegamento dell'agente. Nella parte destra dell'area di lavoro si configurano le impostazioni per 12 situazioni critiche preimpostate, compresi i valori soglia di attivazione e disattivazione delle notifiche. In questa sottosezione è anche possibile configurare le impostazioni del server di posta per inviare notifiche via email.
Segue poi la sottosezione Esporta Eventi, che consente di configurare la trasmissione dei log in vari formati (Syslog, CEF, LEEF, Generico) al tuo server di log. Questa opzione consente anche di impostare la trasmissione dei log al tuo sistema SIEM, su cui può essere eseguito l'agente Syslog.
Il successivo sotto-insieme — Licenze, in cui viene visualizzata l'informazione sulle licenze: chiave unica, stato della licenza, numero di agenti attivi e dimensione della quota. La gestione delle licenze avviene nelle impostazioni IMPOSTAZIONI GLOBALI.
L'ultima sottosezione è Modalità Operativa della Politica, in cui viene selezionato il tipo di politica attiva: Users based Policy o Computers based Policy. Come si può vedere dalla descrizione delle politiche nell'immagine qui sotto, differiscono per l'applicazione delle politiche, sia esclusivamente nei confronti delle macchine, sia tramite una combinazione in relazione agli utenti e alle macchine.
- GESTIONE DEI SERVIZI — area del pannello di navigazione che consente di gestire il servizio Endpoint Management Platform e utilizzare SmartView per visualizzare report dettagliati sugli eventi di sicurezza, oltre a scaricare i file di installazione per l'applicazione della console SmartConsole e il client SandBlast Agent da questa sezione;
Sezione GESTIONE DEI SERVIZI: dettagli
L'area di lavoro della sezione GESTIONE DEI SERVIZI è composta da tre componenti: gestione del servizio e visualizzazione dei dati sul servizio, oltre all'accesso a SmartView (l'interfaccia è mostrata nell'immagine qui sotto) per l'analisi dei log e dei report; un pannello per scaricare SmartConsole R80.40 — il programma di gestione dei prodotti Check Point, incluso SandBlast Agent; un pannello per scaricare il client SandBlast Agent.
- RICERCA MINACCE — sezione in cui vengono configurate le regole per la ricerca proattiva delle minacce (attualmente in versione Beta);
Sezione RICERCA MINACCE: dettagli
L'approccio alla Ricerca Minacce consente di eseguire ricerche proattive su attività anomale o dannose su macchine utente dotate di SandBlast Agent — ad esempio, accessi a domini considerati malevoli da Check Point, processi avviati tramite WMI, ecc. È possibile utilizzare filtri preimpostati per la ricerca o crearne di propri. Questa tecnologia utilizza Check Point ThreatCloud — un servizio costantemente aggiornato che rappresenta una rete globale di sensori di rilevamento delle minacce e aziende che inviano informazioni sulle minacce a Check Point. Attualmente, la Ricerca Minacce è in fase di sviluppo e l'accesso alla versione Beta è fornito su richiesta a Check Point. Esamineremo sicuramente questo strumento in uno dei prossimi articoli del ciclo.
- IMPOSTAZIONI GLOBALI — sezione delle impostazioni globali per tutte le tue applicazioni nel portale Infinity Portal, che consente di modificare le impostazioni dell'account aziendale nel portale, gestire gli account degli amministratori e monitorare le loro azioni, visualizzare lo stato dei contratti per varie applicazioni dell'account, nonché gestire le chiavi API ed esportare i log da CloudGuard SaaS sul tuo server di log locale.
Sezione IMPOSTAZIONI GLOBALI: dettagliata
Prima sezione, Impostazioni dell'Account, mostra il nome del tuo account e l'Account ID, e consente di configurare le impostazioni di autenticazione forzata e il timeout di inattività. Inoltre, in questa sottosezione puoi indicare le impostazioni per l'autenticazione SSO e modificare il tipo di account (cliente, partner di categoria Distributor/Reseller o partner di categoria MSSP).
La sottosezione successiva, Utenti, mostra le informazioni sugli amministratori del tuo portale — dati di contatto, così come la data e l'ora di registrazione e dell'ultimo accesso al portale. In questa sezione è possibile aggiungere utenti di due tipi — amministratore e utente in sola lettura.
Segue poi la sottosezione Audit, che consente di monitorare le attività degli amministratori del portale. Come mostrato nell'immagine qui sotto — i log delle attività degli amministratori includono il nome utente, la data e l'ora dell'evento, il servizio, la categoria e il tipo di evento, nonché una breve descrizione del log. Ad esempio, nei log sottostanti sono registrati eventi di accesso al portale (Login), modifica del tipo di account (Account Updated) a “Distributor”, e aggiunta della autenticazione a due fattori per l'accesso al portale a un utente specifico (User Updated).
La quarta sottosezione è Contratti, che mostra le informazioni sui contratti per le tue applicazioni nel portale — la data di scadenza del contratto, il numero di contratti e l'utilizzo delle quote (se disponibili). Inoltre, in questa sottosezione puoi gestire gli account Check Point associati del punto ACCOUNT ASSOCIATI.
Il successivo sotto-insieme — Chiavi API, in cui si gestiscono le chiavi API per tutte le applicazioni disponibili di Infinity Portal. Alla generazione di una chiave, vengono creati il Client ID e la Secret Key, che possono essere utilizzati in seguito per accedere al portale tramite applicazioni di terze parti.
Le ultime due sottosezioni — Esporta Eventi e Impostazioni Partner, il primo dei quali descrive il processo di esportazione dei log da CloudGuard SaaS al tuo server di log locale, mentre il secondo consente di visualizzare le informazioni sugli account e di aggiungere nuovi account (solo per account della categoria Partner).
SandBlast Agent: installazione e familiarizzazione con l'interfaccia
Opzioni di distribuzione degli agenti
Check Point descrive due modi per distribuire gli agenti sui computer degli utenti: automatico e manuale. Distribuzione automatica — avviene tramite l'installazione del cliente iniziale (Initial Client) utilizzando soluzioni di terze parti (ad esempio, criteri di gruppo Active Directory) e successivamente caricando le politiche sull'agente in modo automatico. Distribuzione manuale — il cliente viene scaricato con politiche integrate di Threat Prevention e/o Data Protection, che viene successivamente distribuito sui computer degli utenti utilizzando soluzioni di terze parti. Il primo metodo è più conveniente poiché la versione del Cliente Iniziale occupa decine di volte meno spazio rispetto alla versione completa con tutte le politiche, il che consente di distribuire l'agente, ad esempio, tramite email come allegato. D'altra parte, la distribuzione manuale non richiede tempo per il caricamento delle politiche e dei blade nell'agente dopo l'installazione: tutti i componenti sono già inclusi nel pacchetto SandBlast Agent.
Utilizziamo la distribuzione automatica dell'agente. La versione del Cliente Iniziale può essere scaricata da due sezioni della console: Service Management e Overview. Nella sezione Service Management, selezionando l'opzione Download Initial Client, viene scaricato il cliente iniziale. Quando si scarica dalla sezione Overview sono disponibili tre varianti della raccolta SandBlast Agent: Installazione rapida (Initial), Agenzia di prevenzione delle minacce e Protezione dei dati & Threat Prevention. La seconda e la terza opzione sono adatte per la distribuzione manuale, mentre la prima rappresenta una raccolta del Cliente Iniziale.
Il file scaricato EPS.msi viene trasferito sulla macchina dell'utente, dopodiché è necessario avviare il processo di installazione. Al termine di un'installazione riuscita, appare un'icona Check Point Endpoint Security nella barra delle applicazioni, che segnala che l'agente è disconnesso dal server di gestione.
In questo momento, il client sta tentando automaticamente di collegarsi al server di gestione cloud all'indirizzo predefinito. Questo è un processo piuttosto veloce e dopo un paio di minuti una nuova notifica indica l'installazione programmata dell'agente. Questo messaggio attesta una connessione riuscita dell'agente al server di gestione cloud.
Se si fa clic con il tasto destro sull'icona di Endpoint Security, è possibile ottenere informazioni più dettagliate sulla connessione stabilita con il server di gestione, ad esempio il nome del server di gestione a cui è connesso il client e lo stato attuale della connessione.
Dopo un collegamento riuscito al server di gestione, inizia il processo di download dei componenti necessari (secondo le policy di sicurezza) sulla macchina dell'utente. L'amministratore può monitorare lo stato del processo di installazione dell'agente nella sezione Computer Management della console web di gestione: dopo un collegamento riuscito, lo stato della macchina dell'utente nella sezione Computer Management cambia da Scheduled a Downloading. Dopo il download e il controllo di tutti i componenti, viene offerta all'utente la possibilità di installare immediatamente l'agente o posticipare l'installazione. Se l'agente non viene installato dall'utente entro 2 giorni dall'inizio del processo, l'agente verrà installato forzatamente, come indicato nella finestra che propone di avviare l'installazione.
Dopo l'inizio dell'installazione dell'agente, la macchina dell'utente nella sezione Computer Management della console di gestione passa allo stato Deploying. Al termine del processo di installazione dell'agente, è possibile aprire la sua interfaccia facendo clic con il tasto destro sull'icona di Endpoint Security e selezionando l'opzione Display Overview.
Dopo l'installazione, si consiglia di fare clic su "Update now" per avviare il processo di aggiornamento delle policy e dei database sull'agente. Il primo aggiornamento del database Anti-Malware potrebbe richiedere del tempo. Non appena tutti i database saranno aggiornati, verrà avviata automaticamente la prima scansione del sistema. In questo momento, la macchina del cliente nella console di gestione dovrebbe essere visualizzata con lo stato Completed, il che attesta il successo dell'installazione dell'agente.
Iniziamo a esplorare l'interfaccia dell'agente. Nell'angolo in basso a sinistra viene visualizzato lo stato dell'agente (Online/Disconnected) e il nome del server di gestione cloud — in questo caso, lo stato è "Online" e il nome del server di gestione è "matssolution". Nell'angolo in basso a destra è indicata la versione attuale dell'agente — abbiamo installato la versione E83.11 (83.11.2702). Il pannello di navigazione dell'agente è composto da diverse sezioni:
- Overview — la sezione principale, che mostra informazioni sullo stato di tutte le blade e sulla conformità del computer dell'utente alle politiche di sicurezza. Da questa sezione è anche possibile "approfondire" ogni blade per ottenere maggiori dettagli sullo stato e sugli eventi di sicurezza;
- Aggiorna ora — consente di avviare il processo di verifica della validità delle politiche di sicurezza e dei database attuali sull'agente;
- Scansiona il sistema ora — avvia il processo di scansione del sistema per la presenza di malware o file pericolosi;
- Avanzato — impostazioni avanzate dell'agente, che consentono di visualizzare la politica installata, visualizzare o raccogliere i log, oltre a utilizzare il computer dell'utente come Deployment Agent.
Poiché non sono state apportate modifiche alla policy iniziale — attualmente l'agente contiene solo le blade della policy di Threat Prevention con valori predefiniti. Il contenuto dettagliato della policy iniziale di Threat Prevention sarà trattato nel nostro prossimo articolo del ciclo.
Conclusione
È tempo di tirare le somme del lavoro svolto: in questo articolo ci siamo familiarizzati in dettaglio con l'interfaccia della console web della SandBlast Agent Management Platform, abbiamo installato l'agente sulla macchina dell'utente e abbiamo esaminato la sua interfaccia.
Nel nostro prossimo articolo del ciclo esploreremo la policy di Threat Prevention predefinita e la testeremo per valutarne l'efficacia contro gli attacchi più comuni. Creeremo anche regole personalizzate della policy per aumentare il livello di sicurezza della macchina dell'utente.
. Per non perdere i prossimi articoli sulla SandBlast Agent Management Platform - segui gli aggiornamenti sui nostri social network (, , , , ).
Fonte: habr.com
