Pré-Requisitos
O participante do b-Cadastros precisa implantar em sua infraestrutura um servidor, chamado de peer, que será membro da rede blockchain e receberá os dados das bases autorizadas. O Serpro fornece uma automação para o provisionamento do peer do participante, mas para isso é necessário que todos os requisitos abaixo sejam atendidos.
Requisitos de segurança
O servidor que hospeda o peer deve estar protegido por firewalls, DMZs, IPS/IDS, conforme as políticas de segurança da rede do participante e não deve estar acessível pela Internet.
Conforme contrato, o peer do participante armazena dados sensíveis e deve ser protegido por políticas de segurança e com acesso restrito. Embora o peer tenha IP público roteável pela Internet, não deve estar acessível para receber conexões que não sejam da intranet do participante, por isso a necessidade de estar protegido contra acessos externos.
O peer deve estar bem protegido de acessos oriundos da Internet, devendo ser permitidas apenas conexões de saída. Equipamentos de segurança, como firewalls devem ser configurados para permitir apenas conexões de saída do peer para a Internet (nunca conexões de entrada).
Durante a instalação e em procedimentos de atualização o peer acessa alguns endereços públicos para obtenção de pacotes, dependências e imagens Docker. Como esses endereços são associados a faixas de IPs dinâmicas, recomendamos que sejam filtrados apenas no caso do uso de filtro de conteúdo. Caso haja apenas utilização de firewall, recomendamos que o acesso seja liberado para toda a Internet pela porta 443 (apenas saída).
Endereços para uso com filtro de conteúdo, acessados durante a instalação e nas atualizações
*.docker.io:443
*.docker.com:443
*.pypi.org:443
files.pythonhosted.org:443
*.github.com:443
galaxy.ansible.com:443
ansible-galaxy.s3.amazonaws.com:443
ansible-galaxy-ng.s3.dualstack.us-east-1.amazonaws.com:443
ifconfig.me
- AlmaLinux (lista disponível em https://mirrors.almalinux.org/)
- Rocky Linux (lista disponível em https://mirror.rockylinux.org/mirrormanager/)
- RedHat Enterprise Linux (contacte o suporte RedHat para obter as informações)
Já durante todo o período de funcionamento do peer é necessário que ele tenha acesso permanente aos endereços a seguir, relativos aos serviços do b-Cadastros no Serpro. Como são ranges de IPs, esses endereços devem ser configurados de maneira fixa nos firewalls existentes. Após finalizada a instalação os acessos à Internet podem ser bloqueados, mas os endereços a seguir devem permanecer liberados.
Endereços para configuração permanente em firewalls
Requisitos de rede
- Endereço IP válido para o peer;
- Endereço DNS (FQDN) registrado para o IP válido do peer;
- Saída para a Internet, com taxa de download mínima de 10 Mbps para recepção dos dados da rede blockchain.
Certificado digital do peer
O peer precisa de um certificado digital de SSL/TLS válido, emitido por uma AC subordinada à ICP-Brasil, com as seguintes especificações:
- O atributo Common Name (CN) do campo Subject deve conter o endereço de DNS do peer;
- A extensão Subject Alternative Name (SAN) deve conter o campo dNSName com o endereço de DNS do peer;
- Certificados do tipo wildcard e e-CNPJ não são compatíveis com a solução;
- O certificado deve ser emitido com, pelo menos, as seguintes extensões:
X509v3 Subject Alternative Name:
DNS Name: nome-do-peer.organizacao.gov.br
X509v3 Key Usage: critical
Digital Signature
Key Encipherment ou Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication (OID 1.3.6.1.5.5.7.3.1)
TLS Web Client Authentication (OID 1.3.6.1.5.5.7.3.2)
- Um número de CNPJ deve constar no certificado em um dos seguintes locais, a depender da política utilizada pela AC emitente:
- Campo Subject, atributo serialNumber (OID 2.5.4.5), ou;
- Extensão Subject Alternative Name, campo otherName, OID 2.16.76.1.3.3.
Referências ao normativo da ICP-Brasil
O certificado do peer deve atender aos seguintes itens do documento de Requisitos Mínimos para as Políticas de Certificado na ICP-Brasil DOC-ICP-04 versão 8.1:
- Item 7.1.2.3 c.1), obrigatório, sobre a definição do dNSName na extensão Subject Alternative Name;
- Item 7.1.2.3 c.2), opcional a depender da política utilizada pela AC emitente, sobre a inclusão do CNPJ no campo otherName da extensão Subject Alternative Name;
- Item 7.1.2.7 b), obrigatório, sobre as extensões Key Usage e Extended Key Usage, sendo ainda obrigatório o propósito client authentication, OID = 1.3.6.1.5.5.7.3.2, para o certificado do peer;
- Item 7.1.4.1 ou item 7.1.4.4, a depender da política utilizada pela AC emitente.
O Serpro é uma Autoridade Certificadora subordinada à ICP-Brasil e o certificado do tipo Equipamento A1 Arquivo compatível com a solução pode ser adquirido em: https://www.loja.serpro.gov.br/certificacao.
Responsabilidade sobre renovação de certificado a expirar e comunicação ao Serpro
Os certificados de SSL/TLS ICP-Brasil geralmente possuem validade de 1 (um) ano e precisam ser substituídos antes de seu vencimento, sob pena de o peer parar de receber as atualizações da rede. Portanto, é responsabilidade do participante a monitoração do vencimento de seu certificado TLS, a emissão de um novo através de uma Autoridade Certificadora e a realização do procedimento de substituição do certificado TLS do peer.
Configurações do peer participante
Servidor físico ou virtual com as seguintes configurações:
- 4 (v)CPUs;
- 8 GB de RAM;
- 1 TB de disco SSD alocado para o
/var
. Utilizar SSD, pois discos rotativos irão causar lentidão; - Sistema Operacional atualizado:
O espaço alocado no /var
pode ser tanto do dispositivo raiz quanto de outro dispositivo, em volumes físicos ou virtuais.
Essa configuração é a recomendada para o funcionamento básico do peer, podendo ser utilizado para consultas simples ou replicação das bases para outro banco.
Sobre o AlmaLinux
AlmaLinux é uma distribuição Linux gratuita e de código aberto, que fornece um sistema operacional corporativo para produção e bináriamente compatível com Red Hat Enterprise Linux®.
Sobre o Rocky Linux
Rocky Linux é um sistema operacional corporativo de código aberto projetado para ser 100% compatível, bug por bug, com o Red Hat Enterprise Linux®.