Sumário... 1 1 ARQUITETURA... 3 1.1 Arquitetura Gerenciamento... 3 1.1.1 Arquitetura - API... 4 1.1.2 Arquitetura - Interface... 4 1.1.3 Arquitetura Dados... 5 1.1.4 Arquitetura Serviços... 5 1.1.5 Arquitetura Sistema Operacional... 6 1.2 Arquitetura - Visão Logica... 6 1.3 Arquitetura - Fluxo de Pacotes... 7 1.3.1 Modo Firewall... 7 1.3.2 Modo Passivo... 8
1 ARQUITETURA A arquitetura do BLOCKBIT UTM é composta por um conjunto de camadas integradas, que definem os aspectos técnicos relativos aos serviços oferecidos pelo sistema. A imagem abaixo representa a integração dos módulos. Figura 1 Arquitetura do Sistema BLOCKBIT UTM. A seguir os módulos da arquitetura serão detalhados. 1.1 Arquitetura Gerenciamento A arquitetura é dividida nos seguintes modelos de componentes:
Interface; Data; Services; Operating System. A seguir explicaremos estes modelos. 1.1.1 Arquitetura - API Camada de gerenciamento WEB através de uma API, que segue a especificação RESTful com transferência de dados em formato JSON. Essa API pode ser utilizada para promover a integração com outros produtos da BLOCKBIT, como por exemplo o BLOCKBIT GSM (Global Security Management) e o BLOCKBIT EPS (End Point Security), ou a ferramentas de terceiros. Todas as requisições são autenticadas usando uma chave habilitada para o usuário de administração do sistema. A autenticação é realizada pelo do método BASIC do protocolo HTTP. 1.1.2 Arquitetura - Interface Frontend é a camada de desenvolvimento que disponibiliza a interface de apresentação e controles do sistema. Por meio dos recursos de Frontend é possível acessar qualquer tipo de informação e executar comandos de configurações nos serviços do BLOCKBIT UTM. As interfaces da camada de Frontend garantem que o usuário final não tenha acesso direto aos demais componentes disponibilizados em outras camadas da arquitetura do sistema. O sistema foi projetado para oferecer dois tipos de interface na camada de Frontend: Manager: é uma aplicação WEB para administração dos dispositivos. Nela, o administrador define todos os parâmetros de configuração do sistema, os Scans e realiza a gestão de vulnerabilidades;
Console: a console CLI (Command Line Interface) disponibiliza acesso a diversos comandos para configuração e diagnósticos. Esta interface pode ser acessada por meio de conexão por um terminal SSH e serial. 1.1.3 Arquitetura Dados No sistema, o Database é dividido em: Settings: camada intermediária que oferece os recursos para armazenamento e transferência de informações entre os componentes de Frontend e de Backend. Por meio do sistema de banco de dados, a Frontend escreve configurações e parâmetros do sistema que serão aplicados nos componentes de Backend e Sistema Operacional; Reports: base onde são gravados os relatórios de todo o sistema após a realização de um scan. 1.1.4 Arquitetura Serviços Services é a camada que disponibiliza os comandos e programas que aplicam as configurações solicitadas através das interfaces aos serviços de Sistema Operacional. Como o sistema possui uma característica modular com serviços independentes entre si, as informações entre os recursos da Interface e do Service são transportadas por dois caminhos criptografados e autenticados por chave: Banco de Dados ou Conexão SSH. Apply Queue: a execução de comandos entre as Interface e o Service é realizada através de uma fila de comandos dentro do banco de dados. Esta fila prioriza os comandos e garante que as configurações dos serviços sejam aplicadas na ordem correta pelo sistema; ApplyScripts: lê os parâmetros de configurações armazenados no banco de dados e reescrever essas configurações nos serviços e sistema operacional; Daemons: são os principais programas que implementam os serviços de inspeção de tráfego de rede no produto. São processos executados em background pelo sistema;
Helpers: são programas que são acoplados aos daemons e complementam as suas funções. Na maioria das vezes, esses programas são executados através de PIPE; Reporter: são programas que coletam informações de logs do sistema e sumarizam as estatísticas para armazenar nos bancos de dados de relatórios. Devido ao alto fluxo de informações coletadas pelo sistema, esses programas são programados para serem executados a cada 5 minutos. 1.1.5 Arquitetura Sistema Operacional O Sistema Operacional do BLOCKBIT UTM também é mantido pela equipe de pesquisa e desenvolvimento da BLOCKBIT. Para simplificar a compatibilidade com os Appliances e garantir o desempenho na execução dos serviços, o BLOCKBIT UTM é executado em um Sistema Operacional com Kernel Linux baseado em arquitetura Intel x86_x64. 1.2 Arquitetura - Visão Lógica Figura 2 Arquitetura Lógica BLOCKBIT UTM.
1.3 Arquitetura - Fluxo de Pacotes Ao receber um pacote, o BLOCKBIT UTM o encaminha para várias etapas de inspeção de acordo com a política de segurança, dessa forma o sistema poderá realizar análise profunda no modo Firewall ou no modo passivo. No modo passivo o sistema somente gera alertas de ataques e ameaças detectados pelo sensor de inspeção profunda. Abaixo, o fluxograma demostra de forma completa a passagem do pacote pelo sistema. 1.3.1 Modo Firewall Figura 3 Arquitetura Fluxo de Pacote Modo Firewall BLOCKBIT UTM.
1.3.2 Modo Passivo Figura 4 Arquitetura Fluxo de Pacote Modo Passivo BLOCKBIT UTM. O BLOCKBIT UTM realiza inspeção integral de todos os pacotes independente do fluxo.