Bem Vindo ao nosso Journal

Aqui compartilhamos um pouco da nossa rotina falando de nossos desafios e conquistas.

LISTA DOS ÚLTIMOS ARTIGOS
PROCURE UM ARTIGO
  • DESAFIO INSTALANDO VPN SERVER NO WINDOWS SERVER ATRÁS DE NAT

    Boa tarde meus caros consagrados! Hoje surgiu um pedido de um cliente um pouco ambicioso, mas aceitamos o desafio e implantamos uma VPN no Window Server 2022 com uso de Certificado, Chave Privada, Criptografia e controle de Integridade! Vamos ao desafio! CENÁRIO DO CLIENTE SERVIDOR1 = Windows Server 2022 SERVIDOR2 = Windows Server 2019 INTERNET…


  • COMPRANDO UM SERVIDOR DELL

    Aqui vamos mostrar como foi a nova aquisição de um cliente.


  • NASCE UM WORDPRESS SEM CUSTO!

    Boa noite meus caros consagrados! Esse é meu primeiro post e vou reservar para contar como criei uma infraestrutura gratuita para instalar esse WordPress aqui. Começamos com a hospedagem dos arquivos do site. Como todo site o WordPress pede um local pra ficarem os dados.


NOVIDADES

NA ÍNTEGRA

  • Boa tarde meus caros consagrados! Hoje surgiu um pedido de um cliente um pouco ambicioso, mas aceitamos o desafio e implantamos uma VPN no Window Server 2022 com uso de Certificado, Chave Privada, Criptografia e controle de Integridade!

    Vamos ao desafio!

    CENÁRIO DO CLIENTE

    SERVIDOR1 = Windows Server 2022

    SERVIDOR2 = Windows Server 2019

    INTERNET = Modem da Vivo roteador (NAT)

    IP VÁLIDO = Dinâmico

    EXIGÊNCIA: Seguro e criptografado

    VPN NATIVA DO WINDOWS SERVER COM RRAS

    O maior de todos os desafios em usar o Windows Server como Servidor de VPN é que este está atrás de uma infraestrutura com NAT. E nativamente o Windows não funciona atrás de NAT. Alguns ajustes precisam ser feitos, como uso de NAT-Traversal. Isso porque o VPN trabalha com NAT e ele precisa negociar NAT no NAT, logo o NAT-T contorna esse problema negociando a VPN com a origem e destino atrás de NAT encapsulando de novo o pacote ESP dentro da porta UDP 4500. É um ajustão.

    Segundo, o cliente Windows 11 e 10 não consegue se conectar em um Windows Server atŕas de um NAT mesmo com a porta 4500 negociando e encapsulando o ESP. Um ajuste no Registro do Windows precisa ser feito.

    Resumo da ópera, tentei usar o L2TP com IPSec pela segurança exigida e para não usar protocolos antigos e inseguros. Não funcionou.

    O Wireshark até detectou os pacotes de negociação com a porta UDP 500 e UDP 4500, mas não fecha o túnel.

    Muito ajuste pra usar a forma nativa.

    Minha conclusão

    O Modem da Vivo não apresenta claramente suporte a L2TP ou PPTP, e possivelmente não estavam passando tudo que precisaria. É necessário um L2TP ou PPP passthrough para funcionar.

    Configurar uma VPN em uma infraestrutura que está atrás de um NAT (Network Address Translation) é muito complexo, apesar de possível.

    Fui atrás de uma solução que atenda tanto o Servidor atrás de um NAT como também para os usuários que com certeza também estarão atrás de NAT.

    ESTUDANDO ALTERNATIVAS

    WireGuard

    Eu gostei muito dele por ser uma solução mais focada em Linux. A documentação é incrível com vídeos explicativos e com passo a passo. Apesar de difundido e mais fácil de configurar, achei pouco suporte para Windows. Ah! Ele também usa NAT e Firewall Traversal Persistence. Não escolhi esse.

    SoftEther VPN

    Esse seria uma solução segura quanto à criptografia, pois usa o HTTPS que faz uso do TLS/SSL. E ele se passa tudo pela porta 443. Seria fácil redirecionar a 443 no modem da Vivo. Mas eu fui atrás de documentação (Eu amo documentação de solução!) e esse este tem boa documentação, bastante texto e poucas imagens, mas elucida, porém a comunidade da Internet se mostra mais ativa sobre o OpenVPN.

    O SoftEther VPN Manual fala uma parte importante quando trabalhando com infraestrutura atrás de NAT, basicamente ele fala que apenas fazendo o Port Forwarding da 443 resolve. Achei legal:

    11.2.6 Installing VPN Server Behind a NAT Enabled Router

    If you are installing VPN Server behind a consumer or small business targeted generic broadband router or a router with a built-in firewall that contains NAT functionality, you will have to configure it properly for VPN Server to work. You can enable static NAT or port mapping on the router so that traffic from the Internet will be forwarded to a port on the VPN Server, allowing it to be accessed from the Internet. Please refer to your broadband router’s instruction manual for more information on how to achieve this.

    OpenVPN

    Eu achei esse aqui demais! É meio dia para configurar esse cara, mas tudo que é bom exige determinação. A instalação dele é simples de tudo, o que pega mesmo é o arquivo de configuração e a Shell de criação do Ambiente PKI (o CA e os Certificados com Chave Privada).

    Firewall de Borda / Roteador de Borda / Proxy Gateway

    Um firewall seria interessante para prover tudo que eles não têm de gestão de rede local e segurança geral, mas inclui custos.

    Escolhido OpenVPN vamos fazer!

    Baixado o OpenVPN

    OpenVPN-2.6.14-I001-amd64.msi

    Instalado

    OpenVPN Service

    Serviço principal do OpenVPN.

    OpenVPN GUI

    OpenVPN TAP Virtual Ethernet Adapter

    A NIC virtual necessária.

    OpenSSL Utilities

    Linha de comando OpenSSL.

    Easy-RSA

    Gerenciar os certificados.

    Gerado arquivo de configuração

    Essa parte é um critério que só!

    CURIOSIDADE

    # = comentário

    ; = comentário

    port 1194
    proto udp
    dev tun
    server 10.10.10.0 255.255.255.0
    push “redirect-gateway def1 bypass-dhcp”
    push “dhcp-option DNS 192.168.15.212”
    client-to-client
    tls-server
    ca ca.crt
    cert server.crt
    key server.key
    dh dh2048.pem
    keepalive 10 120
    data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-256-CBC
    auth SHA256
    user nobody
    group nobody
    user openvpn
    group openvpn
    persist-key
    persist-tun
    status openvpn-status.log
    log openvpn.log
    verb 3

    Preparado o Ambiente PKI

    O que é um Ambiente PKI (Public Key Infrastructure)?

    PKI é Infraestrutura de Chaves Públicas, um sistema que usa criptografia de chave pública. Garante autenticidade e confidencialidade.

    Os principais componentes de um PKI incluem:

    • Autoridade de Certificação (CA): A entidade confiável que emite e gerencia certificados digitais. Ela assina os certificados atestando a identidade do titular do certificado.
    • Certificado Digital: Associa uma identidade a uma chave pública. Contém informações sobre o titular, sua chave pública, o período de validade e é assinado digitalmente pela CA. É tipo o “crachá com chip” emitido pela empresa para o funcionário usar.
    • Chaves Públicas e Privadas: Pares de chaves criptográficas. A chave pública como o nome diz, pública, enquanto a chave privada o proprietário a mantém. Dados criptografados com a chave pública só podem ser descriptografados com a chave privada correspondente, e vice-versa (para assinaturas digitais).
    • Autoridade de Registro (RA): Uma entidade que verifica a identidade dos solicitantes de certificados antes que a CA os emita. Nesse caso aqui sou eu 😀
    • Políticas de Certificados (CP) e Declarações de Práticas de Certificação (CPS): Documentos que definem as regras e procedimentos para a operação do PKI. Não temos ainda. Processos são importantes. No meu caso é só para um usuário.

    POLÍTICA DE BYOD

    Estamos falando de um notebook de um usuário que usa ele em casa sem nossa supervisão.

    E SE O NOTEBOOK DO USUÁRIO FOR COMPROMETIDO? Se o invasor tiver acesso onde a Chave Privada SEM SENHA (usuario.crt e usuario.key) está, ele poderá copiar ela e usar para se autenticar como o cliente sem precisar saber de nenhuma senha. Usando um cliente OpenVPN configurado com esses arquivos, o invasor poderá tentar estabelecer uma conexão VPN com o servidor se passando pelo usuário legítimo. #POLÍTICADEBYOD

    CA

    Chave TLS-AUTH

    Aqui deu ruim

    O tls-crypt é uma alternativa mais recente e geralmente recomendada porque oferece maior proteção contra metadados. Mas esse processo de configurar eles é muito complexo no Windows. Mesmo assim tentei e erros…

    O script Bash Shell Linux no Prompt de Comando do Windows. As configurações simples de geração de CA e Certificados funcionam bem nesse script, porḿ quando solicitado binários da pasta anterior, o Prompt de Comando gerado não os encontra. Ele vai insistir no erro “Cannot find an OpenVPN binary” quando tentar executar gen-tls-auth server pois ele deveria usar apenas o openssl, mas o script parece ter uma verificação interna que falha. Mesmo tentando manipular o PATH e definir OPENSSL dentro do shell falham, e considerando que o script é um script shell Unix, talvez a melhor abordagem seja tentar executá-lo usando um ambiente mais nativo para ele. No meu caso tentei Shell do Git e mesmo assim outros erros de temp file.

    Certificado e Chave para o Servidor

    E os parâmetros Diffie-Hellman (o tal do dh)

    UM POUCO DE WIKIPDIA

    A troca de chaves de Diffie-Hellman é um método de criptografia para trocas de chaves de maneira segura em canal público. Desenvolvido por Whitfield Diffie e Martin Hellman, foi um dos primeiros exemplos práticos de métodos de troca de chaves implementado dentro do campo da criptografia, tendo sido publicado em 1976. Fonte: https://pt.wikipedia.org/wiki/Troca_de_chaves_de_Diffie–Hellman acessado em 05-04-2025 20:07

    Certificado e a Chave do Usuário

    Achei a validade dos certificados padrão de 865 dias muito alta.

    Achei 825 dias muito. Alterado e recomecei…

    Limpa o ambiente PKI !

    Gerar a CA de novo…

    Agora sim…

    Criar dos usuários

    Copiado tudo pro Servidor

    MANTIDO O server.key EM SEGREDO

    Configurado OpenVPN de novo

    server.ovpn

    Firewall liberado

    Iniciado serviço de OpenVPN

    Port forward no modem

    Gerado o arquivo do client

    OpenVPN Client

    Instalado o OpenVPN Client.

    Copiado os arquivos do Usuário.

    Posicionado os arquivos no OpenVPN Connect:

    Configurado o OpenVPN Connect

    Teste revelou senha errada. Revogar.

    A Blacklist de revogados (CRL)

    Bora criar de novo o usuário com senha certa

    FASE FINAL

    ROTEAMENTO VPN <> LAN

    Questionamentos

    O Servidor VPN é um Windows Server e está atrás de uma rede NAT e não é o servidor DHCP da rede?

    Se a resposta for sim, um grande problema pode existir. O RRAS para VPN nativo do Windows server tem muita dificuldadee limitação para uso de protocolos e cifras de autenticação, criptografia e integride dos dados. Resumindo, ou adere uma solução de baixa segurança ou recorre para aplicativos de terceiros que tenham boa documentação e compatibilidade. É o meu caso aqui.

    O Servidor VPN é o roteador da rede?

    Se a resposta for não, saiba que os clientes VPN não vão conhecer as rotas para a rede interna, mas uma rota default deve ser configurada para enviar para o servidor. E sendo assim, se é um Windows server, precisaremos ativar o RRAS para informar a esse servidor que existe uma nova LAN VPN acontecendo dentro dele e ele vai passar a encaminhar trafegao entre as redes. E mesmo assim, o modem ou roteador da rede Local remota, no meu caso Modem da Vivo, não vai conhecer a rede VPN isolada dentro do servidor Windows, a menos que configuramos uma Rota Estática dentro dele informando que o caminho para a nova rede VPN é no Windws Server.

    Em fim, vários desafios quando o servidor VPN não é o roteador principal da rede local. Não significa que não funciona, mas vai exigir algumas customizações.

    Se o servidor VPN for o firewall, o gateway ou o roteador principal, seria ser bem simples!

    DESAFIO

    O cliente no meu caso é também um cliente da Operadora Vivo! Já sabemos no que isso leva!

    CASA DO USUÁRIO 192.168.15.1 <> 172.16.15.2 TUNEL VPN 172.16.15.1 <> 192.168.15.1 EMPRESA

    O usuário da Vivo usa um modem da Vivo com rede 192.168.15.0/24.

    Ele vai fechar uma VPN que recebe o endereço 172.16.15.1/24 para acessar os servidores da empresa.

    Que por suas vezes estão na rede 192.168.15.0/24.

    É isso!

    RESOLVENDO

    Servidor VPN configurado para receber o 172.16.15.1/24.

    Servidor Windows configurado LAN para 192.168.15.212/24.

    Servidor 2 configurado LAN para 192.168.15.213/24.

    VPN Client com IP 172.16.15.2/24.

    Usuário conectado na Wi-Fi com 192.168.15.115/24.

    SOLUÇÃO APLICADA NOS SERVIDORES

    Servidor Windows configurado RRAS para trabalhar com roteamento estático.

    No Servidor Windows criado rota estática para a NIC TAP com a rede 172.16.15.0/24

    No Servidor Windows criado rota estática para a NIC LAN com a rede 192.168.15.0/24

    No Servidor Windows 2 criado rota estática no Prompt de Comando para ele saber chegar na rede 172.16.15.0/24.

    SOLUÇÃO APLICADA NO LADO DO CLIENTE

    Alterado arquivo hosts para configurar DNS Fixo para o SERVIDOR1 e SERVIDOR2.

    Calculado e criado a rota para uma subnet que contenha os dois números 212 e 213. 192.168.15.212/30.

    Agora sim quando o usuário requisita o ServidorX ele manda para a placa de rede certa.

    Arquivos Mapeados com Sucesso!

    RESOLVIDO!

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


  • Aqui vamos mostrar como foi a nova aquisição de um cliente.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *


  • Boa noite meus caros consagrados!

    Esse é meu primeiro post e vou reservar para contar como criei uma infraestrutura gratuita para instalar esse WordPress aqui.

    Começamos com a hospedagem dos arquivos do site. Como todo site o WordPress pede um local pra ficarem os dados.

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *