Direto dos bastidores: Visão geral da arquitetura
O Dropbox é projetado com múltiplas camadas de proteção, incluindo transferência segura de dados, criptografia, configuração de rede e controles em nível de aplicativo, que são distribuídos através de uma infraestrutura segura e escalável.
Infraestrutura de arquivo
Os usuários do Dropbox podem acessar arquivos e pastas a qualquer momento a partir de computadores, navegadores da internet e dispositivos móveis, ou por aplicativos de terceiros conectados ao Dropbox. Cada interface tem configurações e recursos de segurança que processam e protegem dados de usuários, ao mesmo tempo em que permite a facilidade de acesso. Todos esses clientes se conectam a servidores seguros para fornecer acesso a arquivos, permitir o compartilhamento de itens com outras pessoas e atualizar os dispositivos vinculados quando arquivos são adicionados, alterados ou excluídos.
Nossa infraestrutura de arquivo é composta pelos seguintes componentes:
Servidores de metadados
Algumas informações básicas sobre dados de usuário, chamados metadados, são mantidas em seu próprio serviço de armazenamento discreto e funcionam como um índice para os dados das contas de usuários. Os metadados incluem informações básicas sobre contas e usuários, como endereço de e-mail, nome e nomes de dispositivos. Os metadados também incluem informações básicas sobre arquivos, incluindo nomes e tipos de arquivos, que ajudam a dar suporte a recursos como histórico de versões, recuperação e sincronização.
Bancos de dados de metadados
Os metadados de arquivos são armazenados em serviços protegidos de banco de dados MySQL e são fragmentados e replicados conforme necessário para atender aos requisitos de desempenho e alta disponibilidade.
Servidores de blocos
Por padrão, o Dropbox fornece um mecanismo de segurança único que vai além da criptografia tradicional para proteger dados do usuário. Os servidores de blocos processam arquivos dos aplicativos do Dropbox dividindo-os em blocos, criptografando cada bloco de arquivos usando uma cifra forte e sincronizando somente blocos que foram modificados entre as revisões. Quando um aplicativo do Dropbox detecta um novo arquivo ou alterações em um arquivo existente, o aplicativo notifica os servidores de blocos das alterações, e os blocos de arquivos novos ou modificados são processados e transferidos para os servidores de armazenamento de blocos. Além disso, os Servidores de blocos são usados para entregar arquivos e visualizações prévias aos usuários.
Servidores de armazenamento de blocos
O conteúdo real dos arquivos dos usuários é armazenado em blocos criptografados nos servidores de armazenamento de blocos. O conteúdo real dos arquivos dos usuários é armazenado em blocos criptografados nos servidores de armazenamento de blocos. Antes da transmissão, o cliente Dropbox divide os arquivos em blocos de arquivos em preparação para o armazenamento. Os Servidores de armazenamento de blocos funcionam como um sistema CAS (Content-Addressable Storage), com cada bloco de arquivo criptografado individual recuperado com base em seu valor de hash.
Servidores de visualizações prévias
Os servidores de visualizações prévias são responsáveis pela criação de visualizações prévias de arquivos. As visualizações prévias são uma renderização do arquivo de um usuário em um formato de arquivo diferente, mais adequado para exibição rápida no dispositivo de um usuário final. Servidores de visualização prévia recuperam blocos de arquivos dos Servidores de armazenamento de blocos para gerar visualizações prévias. Quando a visualização prévia de um arquivo é solicitada, os servidores de visualização prévia recuperam a visualização em cache dos servidores de armazenamento de visualização prévia e a transferem para os servidores de blocos. As visualizações são enfim apresentadas aos usuários pelos servidores de blocos.
Servidores de armazenamento de visualizações prévias
As visualizações prévias no cache estão armazenadas em um formato criptografado nos Servidores de armazenamento de visualizações prévias.
Serviço de notificações
Esse é um serviço à parte, dedicado ao monitoramento de alterações feitas em contas do Dropbox. Não há armazenamento ou transferência de metadados ou dados de arquivos aqui. Cada cliente estabelece uma conexão Long Poll com o serviço de notificação e aguarda. Quando ocorre alguma alteração de qualquer arquivo no Dropbox, o serviço de notificação sinaliza uma mudança para os clientes relevantes, fechando a conexão Long Poll. O encerramento da conexão indica que o cliente deve se conectar aos servidores de metadados de forma segura para sincronizar as alterações.
Infraestrutura do Dropbox Paper
Os usuários do Dropbox podem acessar os documentos do Paper a qualquer momento a partir de navegadores da internet e clientes de dispositivos móveis, ou por aplicativos de terceiros conectados ao aplicativo do Dropbox Paper. Todos esses clientes se conectam a servidores seguros para fornecer acesso aos documentos do Paper, permitir o compartilhamento de documentos com outras pessoas e atualizar os dispositivos vinculados quando documentos são adicionados, alterados ou excluídos.
A infraestrutura do Dropbox Paper é composta dos seguintes componentes:
Servidores de aplicativo do Paper
Os servidores de aplicativo do Paper processam as solicitações dos usuários, bem como a saída de documentos do Paper editados de volta para os usuários e executam os serviços de notificação. Os servidores de aplicativo do Paper gravam as edições de usuários nos bancos de dados do Paper, onde são colocados em armazenamento persistente. As sessões de comunicação entre os servidores de aplicativo do Paper e os bancos de dados do Paper são criptografadas usando uma cifra forte.
Bancos e dados do Paper
O conteúdo real dos documentos do Paper dos usuários, bem como certos metadados sobre esses documentos, estão criptografados em armazenamento persistente nos bancos de dados do Paper. Isso inclui informações sobre um documento do Paper (como o título, assinatura e permissões compartilhadas, associações em pastas e projetos e outras informações), bem como o conteúdo no próprio documento do Paper, incluindo comentários e tarefas. Os bancos de dados do Paper são fragmentados e replicados conforme necessário para atender a requisitos de desempenho e alta disponibilidade.
Servidores de metadados
O Paper usa os mesmos servidores de metadados descritos no diagrama de infraestrutura do Dropbox para processar informações sobre documentos do Paper, como histórico de revisão de arquivos de documentos e participação em pastas compartilhadas. O Dropbox gerencia diretamente os servidores de metadados, localizados em centros de processamento de dados de terceiros.
Bancos de dados de metadados
O Paper usa os mesmos bancos de dados de metadados descritos no diagrama de infraestrutura do Dropbox para armazenar informações sobre documentos do Paper, como compartilhamento, permissões e associações a pastas. Os metadados de documentos do Paper são armazenados em serviços de banco de dados MySQL e são fragmentados e replicados conforme necessário para cumprir os requisitos de desempenho e alta disponibilidade.
Servidores de armazenamento de imagens do Paper
As imagens enviadas para os documentos do Paper são armazenadas e criptografadas em repouso nos servidores de armazenamento de imagens do Paper. A transmissão de dados de imagem entre o aplicativo do Paper e os servidores de armazenamento de imagem do Paper ocorrem em uma sessão criptografada.
Servidores de visualização prévia
Os servidores de visualização prévia geram visualizações prévias de imagens enviadas a documentos do Paper, bem como hyperlinks incorporados em documentos do Paper. No caso de imagens enviadas a documentos do Paper, os servidores de visualização prévia buscam dados de imagens armazenados nos servidores de armazenamento de imagens do Paper por um canal criptografado. No caso de hyperlinks incorporados em documentos do Paper, os servidores de visualização prévia buscam os dados da imagem e renderizam uma visualização prévia da imagem usando criptografia, conforme especificado pelo link da origem. As visualizações são enfim apresentadas aos usuários pelos servidores de blocos.
Servidores de armazenamento de visualizações prévias
O Paper usa os mesmos servidores de armazenamento de visualizações prévias descritos no diagrama de infraestrutura do Dropbox para armazenar visualizações prévias de imagens em cache. As visualizações prévias em cache são armazenadas em um formato criptografado nos servidores de armazenamento de visualizações prévias.
Tanto a equipe de segurança interna específica quanto os especialistas em segurança terceirizados protegem esses serviços por meio da identificação e mitigação de riscos e vulnerabilidades. Esses grupos realizam testes de segurança regulares e auditorias em aplicativos, redes e outros parâmetros de segurança para garantir a segurança de nossa rede back-end. Além disso, nossa política de divulgação responsável promove a identificação e a divulgação de vulnerabilidades de segurança.
Centros de processamento de dados
Os sistemas corporativos e de produção do Dropbox estão alojados em centros de processamento de dados de empresas terceirizadas e provedores de serviços gerenciados localizados nos Estados Unidos. Esses provedores de serviços terceirizados são responsáveis pelos controles de segurança físicos, ambientais e operacionais nas fronteiras da infraestrutura do Dropbox. O Dropbox é responsável pela segurança lógica, de rede e do aplicativo de nossa infraestrutura alojada em centros de processamento de dados de terceiros.
Criptografia
Os arquivos do Dropbox e os documentos do Paper em repouso são criptografados usando o padrão de criptografia AES de 256 bits. Para proteger os dados em trânsito entre os aplicativos do Dropbox (para desktop, dispositivos móveis, API ou na web) e nossos servidores, o Dropbox usa criptografia Secure Sockets Layer (SSL)/Transport Layer Security (TLS) para transferência de dados, criando um túnel seguro protegido por padrões avançados de criptografia AES de 128 bits ou superior. Do mesmo modo, os dados em trânsito entre um cliente do Paper (dispositivo móvel, API ou web) e os serviços hospedados são criptografados via SSL/TLS.
Atribuição de certificados
O Dropbox usa atribuição de certificados para os clientes de desktop e dispositivos móveis na sincronização e no compartilhamento de arquivos. A atribuição de certificado é uma verificação extra para garantir que os clientes façam conexão somente com servidores com certificados digitais de uma lista autorizada de autoridades de certificação. O objetivo é a proteção contra ataques de estado-nação que controlam uma autoridade de certificação não autorizada e proteger você contra malware local que pode causar o sequestro de suas conexões.
Perfect Forward Secrecy
Para as extremidades que controlamos (desktop e dispositivos móveis) e para os navegadores modernos, usamos cifras fortes com suporte a criptografia Perfect Forward Secrecy (PFS). Com a implementação dessa criptografia, não é permitido usar a chave privada de nosso certificado para descriptografar tráfego passado na internet. Essa medida aumenta a proteção das comunicações criptografadas do Dropbox, basicamente desconectando cada sessão de todas as sessões anteriores. Além disso, na web, indicamos que todos os cookies de autenticação são seguros e habilitamos a opção HTTP Strict Transport Security (HSTS).
Gerenciamento de chaves
A infraestrutura de gerenciamento de chaves do Dropbox é desenvolvida com controles de segurança operacionais, técnicos e processuais, com um acesso direto bastante limitado às chaves. A geração, a troca e o armazenamento de chaves de criptografia são distribuídos em processos descentralizados.
O Dropbox administra a criptografia de arquivos em nome dos usuários para remover a complexidade, possibilitar recursos de produtos avançados e permitir um forte controle de criptografia. As chaves de criptografia de arquivos são criadas, armazenadas e protegidas por controles de segurança de infraestrutura do sistema de produção e por políticas de segurança. O acesso a sistemas de produção é restrito a pares únicos de chaves SSH. Os procedimentos e as políticas de segurança exigem a proteção das chaves SSH. Um sistema interno gerencia o processo seguro de troca de chaves públicas, e as chaves privadas são armazenadas em segurança.
Saiba mais sobre os recursos de controle e visibilidade no Whitepaper de segurança do Dropbox.