Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 9 Next »

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.

Arquitetura base

A aplicação foi concebida no modelo MVC com modelo stateless, sendo as camadas de backend e frontend desacopladas e um facade com controle de cache para a pool de conexões. As linguagens de programa base são:

  • Java 11 - Kotlin

  • React.JS - Javascript -Angular

  • Swift -IOS

  • Java/Android

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.

Ambiente AWS

A infraestrutura é provida pela Amazon Web Services e possui os melhores e mais atualizados recursos computacionais para garantir a alta disponibilidade e segurança das aplicações.

Certificações e serviços AWS ISO e CSA STAR

A compatibilidade da AWS foi certificada com as normas ISO/IEC 27001:2022, 27017:2015, 27018:2019, 27701:2019, 22301:2019, 20000-1:2018, 9001:2015 e CSA STAR CCM v4.0. Os produtos da AWS que são cobertos pelas certificações estão listados abaixo.

Salvo especificamente excluído, todos os recursos dos produtos estão no escopo. Consulte a documentação da AWS para ver os atributos dos serviços.

Mais informações em https://aws.amazon.com/pt/compliance/iso-certified/

A partir de 1º de abril de 2021, todos os endpoints FIPS da AWS foram atualizados para aceitar apenas um mínimo de conexões TLS (Transport Layer Security) 1.2. Isso garante que os nossos clientes que executam workloads regulamentadas possam atender aos requisitos de conformidade com o FedRAMP, que exigem no mínimo a criptografia TLS 1.2 para dados em trânsito.

Mais informações em https://aws.amazon.com/pt/compliance/fips/

A conformidade da AWS capacita os clientes a entender os controles robustos disponíveis para manter a segurança e a proteção dos dados na Nuvem AWS. Quando os sistemas são criados na Nuvem AWS, a AWS e os clientes compartilham responsabilidades de conformidade. Os ambientes de computação da AWS são continuamente auditados, com certificações de organismos de acreditação em regiões geográficas e verticais, incluindo SOC 1/SSAE 16/ISAE 3402 (anteriormente SAS 70), SOC 2, SOC 3, ISO 9001/ISO 27001, FedRAMP, DoD SRG e PCI DSS Nível 1.i. Além disso, a AWS também tem programas de garantia que fornecem modelos e mapeamentos de controle para ajudar os clientes a estabelecer a conformidade de seus ambientes em execução na AWS. Para obter uma lista completa de programas, consulte Programas de conformidade da AWS.

Mais informações em https://docs.aws.amazon.com/pt_br/whitepapers/latest/introduction-aws-security/compliance.html

Autenticação

Os recursos de autenticação da plataforma podem ser habilitados conforme característica de cada projeto, sendo os mais comuns:

  • Usuário e senha com duplo fator de autenticação

  • AD - Azure e outros

  • OpenID Connect

  • SAML2.0

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.

Restrições de arquitetura

De modo geral não há restrições para instalação da plataforma Privacy Tools. Existem algumas configurações recomendadas como o mínimo necessário para cada instância, tais como:

  • Linux/Ubuntu 64 bits

  • Pelo menos 8Gb de RAM

  • Pelo menos 4vcpu em homologação e 8 vcpu em produção

  • Cache de 5Gb para Nginx - A variar conforme a carga

  • Quantidade de nós/vms correspondente à previsão de carga

Todos os servidores em questão estão configurados com o fuso horário GMT-3, que corresponde ao horário padrão de Brasília (BRT). Essa configuração significa que os servidores mantêm uma sincronização precisa com o horário oficial do Brasil durante todo o ano, sem considerar o horário de verão

  • No labels