Esse documento é uma versão pública do documento de arquitetura da informação da Privacy Tools e tem como objetivo apresentar nosso plano de escalabilidade da plataforma de privacidade.
Segurança e Escalabilidade
Os recursos de escalabilidade da Privacy Tools na modalidade SAAS contam com uma estrutura de balanceamento com “round-and-robin” através de Nginx e mecanismo de auto-scaling com instâncias Docker em máquinas virtuais Ubuntu. A arquitetura simplificada abaixo se aplica a cada ambiente (teste, desenvolvimento, demo e produção).
Por se tratar de um documento público alguns elementos da arquitetura foram suprimidos como componentes de orquestração, portas específicas e VPN.
Como funciona o balanceamento e as decisões de carga
A Privacy Tools não utiliza cluster mas sim uma arquitetura dinâmica de balanceamento de carga onde todas as instância atuam para atender a demanda. Quando a demanda aumenta aloca-se mais instância para atender as requisições (horários de pico) e quando reduz existe um número menor de máquinas virtuais.
A base de cálculo é a carga de requisições e a utilização de recursos computacionais (load usage, cpu, memory and storage). A balanceadora baseada em Nginx foi configurada para trocar de instância em caso de “connect timeout” superior a 2seg. Caso ocorram sucessivas trocas o administrador é alertado para investigar possível inconsistência de balanceamento.
Comunicação TLS
A versão do Java (Java Runtime Environment) utilizado pela Privacy Tools é a 11 ou 12 em um dos componentes. Essa versão já utiliza TLS 1.3 por padrão na maior parte das comunicações entre servidores e bancos de dados. Para comunicação com HTTPS de alguns sites e para executar testes de compatibilidade com Selenium a plataforma executa em modo de compatibilidade com TLS 1.2.
Criptografia. Os dados pessoais são criptografados durante a transmissão através do protocolo TLS V1.2/1.3. Todos os canais de comunicação da aplicação trafegam dados pessoais de maneira criptografada. O armazenamento dos dados pessoais em banco de dados oferece recursos de pseudo-anonimização para exclusão completa de dados pessoais e inviabiliza que mesmo equipes internas da Privacy Tools consiga obter dados pessoais acessando diretamente o repositório de dados. As chaves de criptografia não são menores do que 20 dígitos e contém caracteres especiais, números e letras maiúsculas e minúsculas e utilizam AES (Advanced Encryption Standard) com blocos de 128 bits.
Auditoria
As auditorias de segurança do cliente devem corresponder a todos os sistemas e locais onde são armazenados dados exclusivos do cliente. Em ambiente compartilhados SAAS onde dados do cliente podem estar eventualmente compartilhando a mesma infraestrutura lógica e física com outros clientes da Privacy Tools então o acesso deverá ser moderado e com filtros preparados pela Privacy Tools de modo a garantir a confidencialidade, segurança e integridade dos demais clientes da Privacy Tools.
Todo acesso com a finalidade de auditoria será concedido permissão de “apenas leitura” e poderá ser um acesso permanente ou temporário a depender do recurso sendo solicitado.
Os testes de penetração podem ser realizados em ambiente de produção, contudo, testes de carga só podem ser executados de forma independente pelo cliente caso a aplicação esteja em uma infraestrutura exclusiva e mantida pelo cliente, não se aplicando ao formato SAAS onde a Privacy Tools é responsável pelo custo de sustentação da infraestrutura junto aos provedores de cloud.
As demais auditorias, inclusive de segurança, intrusão e integridade o cliente tem total liberdade para executar e conta com apoio irrestrito do time técnico da Privacy Tools.