lab-pki/README.md

125 lines
5.6 KiB
Markdown

# Infraestrutura HTTPS para Laboratórios de Redes
## Implementação de PKI interna utilizando XCA
(Vou apagar tudo o que está abaixo daqui)
# Uso do "XCA" (Windows 11)
O XCA é uma escolha excelente para quem quer o poder do OpenSSL sem a "tortura" da linha de comando para gerenciar PKI. Ele é muito visual e organiza tudo em abas (Certificates, Certificate Signing Requests e Private Keys).
Como você vai instalar no Windows 11, aqui estão as 3 dicas de ouro para não ter erro na hora de exportar para o seu NAS:
1. A Base de Dados: Ao abrir o XCA, a primeira coisa a fazer é File > New DataBase. Salve esse arquivo .xdb em um local seguro e coloque uma senha. Ele guardará todas as suas chaves privadas.
2. Exportação da Chave Privada: Quando terminar de criar o certificado do NAS, na hora de exportar a Private Key, escolha o formato "PEM (.key)" e certifique-se de que a opção de criptografar a chave (passphrase) esteja desmarcada ou que você exporte como "unencrypted". Isso evita o erro de "bad decrypt" que você teve com o MikroTik.
3. Extensões (Template): Ao criar o certificado para o NAS, use o template "[default] HTTPS Server". Não esqueça de ir na aba "Subject Alternative Name" e adicionar o IP:192.168.x.x ou o DNS:nome.local. Sem isso, o Chrome no Windows 11 continuará reclamando.
O XCA facilita muito a visualização da hierarquia: você verá o certificado do NAS "pendurado" logo abaixo da sua AC Raiz.
---
## Configuração Inicial do XCA assim que se instalar
Ocorre um aviso de incompatibilidade no início porque o XCA, por padrão, tenta manter compatibilidade com sistemas muito antigos, mas o Windows 11 e as versões modernas do OpenSSL já consideram o SHA1 e o 3DES (Triple DES) obsoletos e vulneráveis.
Como você está começando uma infraestrutura nova, o ideal é não ignorar e configurar para os padrões modernos.
O que fazer no XCA:
1. Vá em File > Options (ou Arquivo > Opções).
2. Procure a aba ou seção PKCS#12 / PFX.
3. Altere os algoritmos para:
Encryption (Criptografia): AES-256-CBC ou AES-256-GCM.
MAC Algorithm (Hash): SHA256.
Isso garantirá que, se você precisar exportar um arquivo .p12 no futuro, ele será aceito por sistemas modernos sem alertas de segurança.
### Por que isso é importante?
Navegadores modernos e sistemas operacionais atualizados (como o seu Windows 11) estão começando a bloquear a importação de certificados que utilizam "Legacy Encryption". Se você mantiver o padrão antigo (PBE-SHA1-3DES), poderá enfrentar erros de importação semelhantes aos que teve com o MikroTik.
Dica para a criação da AC:
- Ao criar sua AC Raiz agora no XCA, na aba "Signature Algorithm", certifique-se de selecionar SHA256 ou superior. Evite o SHA1 a todo custo, pois ele é o motivo principal de muitos certificados serem marcados como "Não Seguros" mesmo estando dentro da validade.
---
# 1. Criando a AC Raiz (O seu "Cartório")
1. Vá na aba Certificates e clique em New Certificate.
2. Na aba Source:
- Selecione -- [default] CA -- no campo Template.
- Clique em Apply all.
3. Na aba Subject:
- Internal Name: MWS_CA_Raiz
- Distinguished name: BR, SP, Sorocaba, MAISWEBSITES, LAB
- Common Name: MWS Rede Local CA (Este nome aparecerá na lista de certificados do Windows).
- Clique em Generate a new key -> Escolha RSA 2048 ou 4096 e clique em Create.
4. Na aba Extensions:
- Type: Deve estar como Certification Authority.
- Validity: Recomendo colocar 10 anos (3650 dias), para você não ter que reinstalar em todos os PCs tão cedo.
5. Na aba Key Usage:
-Certifique-se de que Certificate Sign e CRL Sign estão marcados.
-Clique em OK. Sua CA está pronta!
---
# 2. Criando o Certificado para o NAS (Assinado pela sua CA)
1. Clique novamente em New Certificate.
2. Na aba Source:
- Selecione -- [default] HTTPS Server -- no Template.
- Se não tiver -- [default] HTTPS Server -- no Template, use [default] TLS_server.
#### Obs.: O que define um "HTTPS Server" para o navegador é o Extended Key Usage (serverAuth) e o Subject Alternative Name (SAN). Se esses dois estiverem configurados, o Chrome e o Windows aceitarão o certificado sem problemas. Detalhes em https://git.maiswebsites.com/onei/MMS_CA_Raiz/src/branch/main/novo-template.md
- Clique em Apply all.
- IMPORTANTE: Em Use this Certificate for signing, selecione a sua AC Raiz que acabou de criar.
3. Na aba Extensions:
- Procure a linha que diz X509v3 Subject Alternative Name.
- Ao lado dessa linha, clique no botão Edit (Editar).
- Na nova janela que abrir:
- Crie o campo Type (Tipo), selecione DNS.
- Crie o campo Content (Conteúdo), digite o nome do seu NAS (ex: meu-nas.local).
- Clique em Add.
- Crie o campo Type para IP.
- No campo Content, digite o IP fixo do seu NAS (ex: 192.168.88.10).
- Clique em Add.
4. Na aba Subject:
- Common Name: O IP ou DNS do seu NAS (ex: 192.168.1.50 ou nas.local).
- Generate a new key (Crie uma nova chave para o NAS, não use a da CA).
5. Subject Alternative Name (CRUCIAL):
- Clique em Add.
- Adicione o IP (ex: IP: 192.168.1.50).
- Clique em Add de novo e adicione o DNS (ex: DNS: nas.local).
- Sem isso, o Chrome dará erro de "Sua conexão não é privada" mesmo com a CA instalada.
5. Clique em OK.
---
# 3. Como Exportar corretamente:
- Para o NAS: Vá na aba Certificates, selecione o certificado do NAS, clique em Export. Escolha o formato PEM (.crt). Depois vá na aba Private Keys, selecione a chave do NAS e exporte como PEM (.key) sem senha.
- Para o Windows: Exporte apenas o certificado da AC Raiz em PEM (.crt). No Windows, clique com o botão direito no arquivo > Instalar > Máquina Local > Colocar em: Autoridades de Certificação Raiz Confiáveis.