# Segurança e Privacidade

Este capítulo fornece uma visão geral sobre as perguntas frequentes relativas à segurança da informação, privacidade e garantia de qualidade.

## Processamento de Dados e Permissões <a href="#data-processing-and-permissions" id="data-processing-and-permissions"></a>

### 1. A partir de que centro de dados a RealmJoin opera?

* Região do Azure Europa Ocidental (primária)&#x20;
* Região do Azure Norte da Europa (backup)

### 2. Que dados são processados pela RealmJoin?

* Estado do computador
* Dados de utilizador/dispositivo/grupo do Entra ID (isto contém dados de UPN / endereço de e-mail, nome próprio, apelido, imagem de perfil)
* Dados do Intune
* Dados do ATP
* Ficheiros de registo

### 3. Que dados são armazenados de forma persistente pela/em nome da RealmJoin e como?

* Estado do computador
* Referências de utilizador/dispositivo do Entra ID (isto contém dados de UPN / endereço de e-mail)
* Informações para gestão de aplicações
* Ficheiros de registo

&#x20;Os dados são armazenados numa combinação de armazenamento de blobs e bases de dados.

### 4. Existe um mecanismo de arquivo para os registos?

O estado do computador é arquivado durante 90 dias; depois, as políticas de retenção removem os dados.

### 5. A que permissões de tenant os utilizadores que acedem ao portal Web da RealmJoin têm de consentir?

Consulte [Permissões necessárias](https://docs.realmjoin.com/pt/implementacao-do-realmjoin/required-permissions).

### 6. Que dados são disponibilizados ao conceder os consentimentos da Pergunta 5?

Consulte [Permissões necessárias](https://docs.realmjoin.com/pt/implementacao-do-realmjoin/required-permissions).

### 7. Que endpoints acessíveis externamente a RealmJoin expõe?

1. RealmJoin Portal
   * Um portal web que facilita a administração do serviço.
2. RealmJoin Client-API
   * API para as aplicações cliente (uso interno).
3. RealmJoin Customer-API
   * API para clientes.
4. RealmJoin Internal-API
   * API para operações de backend relacionadas (uso interno).
5. RealmJoin CDN
   * Dados binários com suporte BranchCache.
6. RealmJoin Package Server
   * Registo de pacotes nuget personalizado.

### 8. Como é que os endpoints da Pergunta 7 estão protegidos?

1. RealmJoin Portal
   * Protegidos através de autenticação OAuth 2.0 com Microsoft Entra ID (Azure AD).
2. RealmJoin Client-API
   * Protegidos através de autenticação OAuth 2.0 com Microsoft Entra ID (Azure AD).
   * Autenticação personalizada usando Entra-Device-Certificate.
3. RealmJoin Customer-API
   * Chave pré-partilhada por cliente.
4. RealmJoin Internal-API
   * Chave pré-partilhada por cliente.
5. RealmJoin CDN
   * Sem autenticação por definição; pode ser protegido usando ficheiros encriptados.
6. RealmJoin Package Server
   * Chave pré-partilhada por cliente.

### 9. Que portas e protocolos são usados pelos endpoints da Pergunta 7?

1. Todos os endpoints usam TLS por predefinição.
   * HTTPS (TCP / 443).
2. RealmJoin CDN
   * Permite HTTP (TCP / 80) para fins de resolução de problemas.
   * Os URLs configurados usam exclusivamente HTTPS (TCP / 443).

## Identidade

### 1. Que esquemas de autorização são usados para obter acesso à RealmJoin?

O acesso administrativo é realizado através de autenticação OAuth 2.0 com Microsoft Entra ID (Azure AD) para utilizadores registados na plataforma.

### 2. Existem controlos de acesso condicional / baseados em funções para proteger a RealmJoin?

Sim. O portal de administração da RealmJoin fornece funcionalidades para atribuir [funções](https://docs.realmjoin.com/pt/definicoes-do-realmjoin/permission) a cada utilizador.&#x20;

Funções predefinidas disponíveis:

* Administrador
* Auditor
* Suporte
* Executante de Runbook
* Agente de Software
* Solicitante de Software
* Solicitante Orgânico de Software
* Agente de Notificação

Além disso, a RealmJoin permite criar Funções Personalizadas.

### 3. As credenciais de acesso podem ser recuperadas? Em caso afirmativo, como?

A RealmJoin utiliza SSO e está sujeita às políticas do Microsoft Entra ID (Azure AD) no tenant do cliente.

## Proteção de Dados

### 1. Como é que *os dados em repouso* são protegidos contra acesso não autorizado?

* Acesso administrativo restrito de acordo com as melhores práticas.
* Utilização de MFA com Passkey.
* As bases de dados estão restritas a IPs de VPN para acesso externo.

### 2. Como é que *os dados em trânsito* são protegidos contra acesso não autorizado?

A comunicação entre o RealmJoin Service (Backend) e o RealmJoin Agent (Cliente) é protegida com Transport Layer Security (TLS) 1.2 ou superior.

Além disso, algum conteúdo (por exemplo, pacotes de software) é assinado pelo RealmJoin Service, para que o RealmJoin Agent possa garantir que os dados não foram alterados durante o transporte.

### 3. Como é que os tenants dos clientes são separados uns dos outros?

Dependendo das restrições do serviço e de considerações de desempenho, seja por grupos/contentores separados ou por particionamento de tabelas.

Os caminhos de código usam contexto de cliente baseado no ambiente para separação.

## Segurança por Conceção

### Estamos empenhados em elevados padrões de segurança

* As nossas equipas de desenvolvimento e operações têm certificação ISO 27001.
* Trabalhamos com as mais recentes ferramentas de desenvolvimento na cloud (por exemplo, GitHub) e o código é armazenado em repositórios seguros.
* Estamos comprometidos com metodologias de desenvolvimento, construção e operações de última geração (por exemplo, CI/CD).
* Os membros da nossa equipa usam identidades Entra ID e são obrigados a utilizar autenticação multifator.
* Endpoints, identidades e serviços são protegidos pelas tecnologias mais recentes (por exemplo, Microsoft Sentinel e M365 Defender Suite, incluindo EDR) e monitorizados por um Security Operations Center.
* Todos os sistemas são atualizados continuamente.

### 1. Que tecnologias, stacks e plataformas foram utilizadas para conceber a RealmJoin?

* `Azure`

## Disponibilidade

### 1. Como garantem a disponibilidade da RealmJoin?

Para manter uma elevada disponibilidade da RealmJoin, são implementadas várias estratégias principais, cada uma concebida para proporcionar um acesso robusto e ininterrupto ao serviço. Estas medidas incluem:

* **Infraestrutura Redundante**: Implementação em vários centros de dados para garantir serviço contínuo em caso de falha num local. A RealmJoin tira partido do Azure IaaS em vários datacenters do Azure.
* **Processos Automatizados de Failover**: Existem sistemas para redirecionar automaticamente o tráfego para servidores operacionais durante uma interrupção, minimizando o tempo de inatividade.
* **Arquitetura Escalável**: A capacidade de aumentar ou reduzir rapidamente os recursos com base na procura ajuda a manter o desempenho durante períodos de pico de utilização.
* **Atualizações e Patches Regulares**: São aplicadas manutenções e atualizações de rotina para corrigir vulnerabilidades e melhorar o desempenho, garantindo que a plataforma se mantém segura e eficiente.
* **Monitorização e Alertas**: Monitorização contínua da saúde do sistema e alertas automatizados para quaisquer problemas que possam afetar a disponibilidade do serviço.
* **Planos de Recuperação**: Implementámos várias camadas de medidas de recuperação: conseguimos recuperar o estado principal do sistema nas últimas semanas porque as nossas bases de dados têm recuperação point-in-time. Além disso, no improvável caso de uma falha completa do sistema, os principais serviços da RealmJoin podem ser recuperados usando uma abordagem de IaC (Terraform), o que reduz significativamente o tempo de recuperação.

## RGPD e residência dos dados

### 1. Os dados saem da Europa?

Não.

### 2. Em que fornecedores cloud de terceiros a RealmJoin confia e porquê?

<table><thead><tr><th>Empresa</th><th>Serviços</th><th width="221.671875">Contacto</th><th>Finalidade</th></tr></thead><tbody><tr><td>Microsoft Corporation</td><td>Serviços de Cloud (Azure)</td><td>Building 3, Carmanhall Road Sandyford,<br>Industrial Estate 18, Dublin,<br>Ireland</td><td>Serviços de cloud (Azure)</td></tr><tr><td>GitHub B.V.</td><td>repositório de código git, integração, testes e automatização de lançamentos</td><td>Prins Bernhardplein 200, Amsterdam, 1097JB<br>Países Baixos</td><td>Repositório de código, pipeline CI/CD.</td></tr><tr><td>GitLab, Inc.</td><td>repositório de código git, integração, testes e automatização de lançamentos</td><td>268 Bush Street #350, San Francisco, CA 94104-3503, <br>Estados Unidos</td><td>Pipeline de empacotamento</td></tr></tbody></table>

## Diversos

### 1. A RealmJoin faz parte de um programa de bug bounty?

Não.

### 2. Que medidas de QA estão em vigor?

* Executamos binários assinados.
* Os nossos pacotes de aplicações são construídos de forma consistente, aproveitando repositórios de código e metodologias CI/CD de última geração para garantir o máximo de integridade.
* Os pacotes de aplicações são assinados durante o processo de construção e verificados pelo agente RJ antes da instalação no cliente.

### 3. Realizam regularmente testes de penetração?

Não.

Como parte das nossas práticas de desenvolvimento seguro, utilizamos ferramentas (por exemplo, análise estática de código) que analisam a base de código em busca de CVEs e outros exploits comuns (incluindo dependências, como bibliotecas de terceiros) que possam afetar a segurança dos endpoints expostos pela RealmJoin. Antes de qualquer lançamento, quaisquer resultados relevantes são avaliados e corrigidos, para garantir que a RealmJoin se mantém sem vulnerabilidades conhecidas. Não realizamos testes de penetração nós próprios, nem utilizamos ferramentas de terceiros de "Penetration Test-as-a-Service". No primeiro caso, vemos um conflito de interesses inerente. No segundo, como os serviços típicos de teste de penetração normalmente apenas verificam os endpoints expostos contra CVEs e outros exploits conhecidos, não vemos qualquer valor acrescentado em relação às verificações que já efetuamos utilizando análise estática de código. Se desejar realizar os seus próprios testes de penetração, por favor [contacte-nos](https://www.realmjoin.com/help/) e informe-nos sobre os seus requisitos.

### 4. Existe um processo de aplicação de patches?

Sim, são aplicadas manutenções e atualizações de rotina para corrigir vulnerabilidades e melhorar o desempenho, garantindo que a plataforma se mantém segura e eficiente.

### 5. Quais são os SLAs para patches?

* Patches para CVEs / vulnerabilidades de segurança: Assim que a vulnerabilidade se torne do conhecimento público ou assim que identifiquemos uma vulnerabilidade no nosso próprio código, será fornecida uma correção urgente no prazo máximo de 24 horas após termos tomado conhecimento da vulnerabilidade.
* Outros patches: Sem SLA.

### 6. A RealmJoin faz backups?

A RealmJoin utiliza tecnologia de restauro point-in-time em todos os dados críticos. O GitLab (que aloja o pipeline e o repositório PACKaaS) é submetido a backup regularmente.&#x20;

### 7. Existem testes de restauro de backup?

Não. Consulte [Disponibilidade](#id-1.-how-do-you-ensure-the-availability-of-realmjoin) para obter detalhes.

### 8. O que torna os pacotes da RealmJoin mais seguros do que as soluções da comunidade?

Ao contrário das soluções da comunidade, mantemos controlo total sobre qualquer pacote e qualquer binário em todos os momentos. Várias verificações implementadas garantem que nenhum dado corrompido é executado em dispositivos.&#x20;

* **Sem repositórios públicos**: Alojamos as nossas instâncias de GitLab, nuget e cdn. Embora o agente RealmJoin utilize atualmente uma versão modificada do motor Chocolatey, a origem dos pacotes está limitada aos servidores de pacotes da glueckkanja AG.&#x20;
* **Repositórios divididos**: Os pacotes específicos de clientes estão localizados numa secção específica para clientes dos nossos servidores e não podem ser acedidos por outros clientes.&#x20;
* **Versionamento completo**: Todas as ferramentas, assim como o repositório de pacotes da RealmJoin, fornecem informações de commit e auditoria. É sempre transparente quem alterou o quê em qualquer pacote em qualquer momento.&#x20;
* **Evitar dados específicos**: Separar o código do pacote e os binários permite-nos, de forma geral, remover informações sensíveis dos binários, de modo que mesmo binários intercetados não possam ser usados de forma maliciosa.&#x20;
* **Encriptação e hashes**: Os scripts dos pacotes são armazenados num servidor encriptado, com acesso altamente restrito. O agente RealmJoin descarrega os scripts através de uma ligação encriptada. Para segurança adicional, todos os binários são verificados contra um hash codificado antes de qualquer ação ser efetuada.
* **Pentest**: Nos últimos anos, o agente RealmJoin fez parte de vários pentests de clientes bem-sucedidos.
* **Testes**: Todos os pacotes da RealmJoin são instalados várias vezes durante a QA do PACKaaS em dispositivos Windows com Defender em execução. As análises de malware fazem parte dos processos automatizados de build e deploy. Os pacotes mantidos usam fontes oficiais do fornecedor.&#x20;
