2 pontos por GN⁺ 2023-08-18 | 1 comentários | Compartilhar no WhatsApp
  • O Netmaker é uma plataforma que conecta dispositivos, nuvens, escritórios e ambientes de edge por meio de túneis baseados em WireGuard e adiciona controle de acesso granular para oferecer acesso à rede com zero trust
  • Destaca que é de 10 a 20 vezes mais rápido que as alternativas com WireGuard no kernel e relays co-localizados, e que é possível manter a privacidade dos dados com implantação on-premises e relays dedicados
  • Seus principais casos de uso incluem acesso para equipes remotas, unificação de redes de escritório, gerenciamento de dispositivos de edge, substituição de VPNs legadas, hospedagem na própria infraestrutura e conexão de workloads de IA distribuídos
  • Com recursos de Mesh VPN, gerenciamento de nós, roteamento de tráfego, ACL e gerenciamento de usuários, é possível operar várias redes virtuais separadas e aplicar políticas de OIDC, 2FA e expiração de sessão
  • Como configura o WireGuard e as regras de roteamento por meio de dashboard, CLI, API e do agente Netclient, permite gerenciar redes overlay distribuídas no estado desejado

Como o Netmaker faz rede segura

  • O Netmaker é uma plataforma de rede zero trust que reduz a complexidade de configurações de VPN e permite que equipes se conectem de qualquer lugar em poucos minutos
  • Com base na simplicidade e velocidade do WireGuard, o foco é conectar com segurança dispositivos, nuvens e sites
  • Afirma ser usado por mais de 500 empresas no mundo
  • Há três vantagens principais
    • Velocidade: afirma ser de 10 a 20 vezes mais rápido que as alternativas com WireGuard no kernel e relays co-localizados
    • Privacidade: com opções on-premises e de relays dedicados, os dados podem permanecer no próprio ambiente
    • Controle: oferece uma plataforma flexível para implantar, configurar e automatizar redes e endpoints

Principais casos de uso

  • Acesso seguro para equipes remotas

    • Dá suporte para que equipes distribuídas acessem recursos da empresa com confiabilidade
    • O foco é reduzir a complexidade operacional das VPNs tradicionais
  • Unificação de redes de escritório

    • Conecta vários locais com rede segura e bom desempenho
    • Pode escalar de acordo com a expansão do negócio
  • Gerenciamento de frotas e dispositivos de edge

    • Permite implantar, monitorar e proteger centralmente milhares de dispositivos de edge distribuídos em vários locais
    • Dá suporte à automação de conexões e à manutenção de políticas de segurança consistentes em um único dashboard
  • Substituição de VPNs legadas

    • Oferece rede mesh que supera as limitações das VPNs existentes
    • Destaca melhor desempenho, gestão mais simples e segurança mais forte
  • Hospedagem do Netmaker na própria infraestrutura

    • A implantação on-premises permite controle total da infraestrutura de rede
    • Dados sensíveis podem permanecer no próprio ambiente, e requisitos rígidos de compliance podem ser atendidos em hardware próprio
  • Segurança de rede para infraestrutura de IA

    • Conecta workloads de IA distribuídos entre nuvens e GPUs on-premises com segurança zero trust
    • É adequado para equipes de ML que executam tarefas de treinamento em múltiplos provedores de nuvem ou ambientes híbridos
    • Inclui usos como transferência de modelos, treinamento distribuído e proteção de inferência em larga escala

Mesh VPN e segmentação de rede

  • O design multi-rede do Netmaker permite criar várias redes virtuais isoladas e gerenciá-las em um só lugar
  • Empresas B2B podem gerenciar vários clientes em uma única conta enquanto separam e protegem o tráfego
  • Também é possível separar por caso de uso
    • acesso seguro à internet
    • gerenciamento de dispositivos de edge
    • configuração de mesh de servidores em nuvem
    • acesso remoto a escritórios

Nós, roteamento e controle de acesso

  • Há três opções de cliente VPN para adicionar endpoints à rede
    • Instalar o netclient como agente headless em Linux, Docker, Windows e Mac para configurar nós peer-to-peer
    • Integrar dispositivos compatíveis com WireGuard, incluindo roteadores, à rede com arquivos simples de configuração do WireGuard
    • Executar o Remote Access Client no desktop ou no celular para fornecer um aplicativo de acesso remoto para usuários com autenticação e expiração de sessão
  • O roteamento de tráfego e as ACLs controlam caminhos de rede e permissões
    • É possível definir um nó como Hub para retransmitir conexões
    • É possível definir um nó como Forwarder para fornecer acesso remoto a redes externas como escritório, nuvem e internet
    • É possível configurar ACLs na rede para definir permissões entre dispositivos e implementar uma arquitetura zero trust
  • O gerenciamento de usuários inclui onboarding de usuários finais, atribuição de papéis e permissões e concessão de acesso à rede
    • Pode ser integrado a provedores de autenticação compatíveis com OIDC
    • É possível ativar 2FA
    • É possível definir regras de expiração de sessão

Fluxo operacional e forma de expansão

  • Operadores fazem login no dashboard ou na CLI, criam redes e adicionam hosts com o Netclient
  • Recursos como Egress, Ingress, Relays e ACL são usados para definir o estado desejado da rede
  • O estado definido é enviado aos agentes Netclient em execução nos dispositivos e servidores
  • O Netclient configura o WireGuard e as regras de roteamento de acordo com o estado final desejado
  • Depois que a configuração é concluída, a rede overlay distribuída entra em operação
  • Pela API, é possível adicionar rede de nível enterprise à plataforma
  • A opção open source é voltada a indivíduos e pequenas equipes, com uso pessoal ilimitado e recursos centrais de segurança

1 comentários

 
GN⁺ 2023-08-18
Opiniões no Hacker News
  • Post relacionado publicado no início deste ano: https://news.ycombinator.com/item?id=35584533
    O autor comparou Yggdrasil, tinc, Tailscale, Zerotier, Netmaker e Nebula, e acabou preferindo o Yggdrasil. Mas foi justamente essa comparação que me levou a olhar o Netmaker e, depois de rodá-lo experimentalmente sem problemas, passei a preferi-lo mais. Seria bom ver o Netmaker ser abordado de novo
    O projeto avança rápido, então é preciso acompanhar mudanças de configuração a cada release, mas como ainda está em releases 0.xx, isso é algo esperado
    O Netmaker é basicamente WireGuard comum com ajustes de rotas e STUN/TURN por cima, então é razoável para entender a arquitetura; e a documentação também parece escrita pensando em usuários de self-hosting, o que me parece um bom sinal

    • É bom que a documentação seja voltada a usuários de self-hosting, mas, no momento em que foi escrita, o Netmaker não era FOSS: https://github.com/gravitl/netmaker/blob/16d5b5807/LICENSE.txt
    • Eu também acrescentaria o Netbird a essa lista. Depois de testar todos os produtos acima, foi o Netbird que acabei usando
      https://netbird.io/
    • Ao se conectar a uma VPN em ambientes como redes corporativas, onde só é permitido tráfego de saída em 80/443, o uso de relay é comum. Mesmo que você não use relay o tempo todo, pode usá-lo em algumas conexões ao longo do dia; e, se houver uma vulnerabilidade, uma única conexão pode ser suficiente para comprometer a segurança
    • Mesmo lendo o README no GitHub, ainda não fica claro se o ajuste de rotas faz proxy de todo o tráfego pelo próprio servidor
  • A lista de recursos me lembrou o Tailscale, então fui procurar e encontrei esta comparação no site: https://www.netmaker.io/resources/tailscale-vs-zerotier
    Na tabela comparativa no final, eles apontam como diferenciais em relação ao Tailscale o fato de não ser possível fazer self-hosting (ignorando a existência do headscale) e o suporte limitado a WireGuard. Este último parece se referir à configuração padrão do Tailscale, em que todos os nós se conectam entre si, enquanto o NetMaker permitiria outras configurações de rede
    Mas também é possível reconfigurar a rede no formato desejado usando as ACLs do Tailscale, então não sei se essa crítica ainda é válida. A afirmação de que “os dados passam com bastante frequência pelos servidores de relay DERP” também me parece suspeita. Isso só se aplica a redes em que, apesar de STUN/TURN, o tráfego UDP entre clientes não flui — o que, na prática, é bem raro
    As vantagens que consigo encontrar são que o plano gratuito do NetMaker é mais generoso e que, quando possível, ele usa o módulo de kernel do WireGuard. Não sei por que eles não destacaram isso

    • Pela comparação, WireGuard agora é o ponto de partida, e a alegação de que o Netmaker é mais rápido por usar WireGuard no kernel não vale para todas as configurações de sistema, especialmente no macOS
      A flexibilidade parece semelhante à do Tailscale, e dá a impressão de que estão apenas fazendo marketing diferente para casos de uso comuns, como gateways de entrada/saída. No Tailscale também é possível criar a topologia de rede usando ACLs
      Quanto ao preço, a oferta do Tailscale também é suficiente para a maioria dos usuários, e os limites são relativamente “soft”. Pago US$ 45 por ano porque quero sustentabilidade, não porque seja grátis. Estou procurando um motivo para trocar, mas ainda não encontrei
    • Pelo que sei, o Tailscale não oferece um servidor de controle self-hosted oficial. Isso parece ser uma vantagem do NetMaker
      Dito isso, pelo que vejo, ele não tem um recurso equivalente ao tailnet lock
    • Fico curioso se a base da alegação do Netmaker de ter 5 vezes mais desempenho que o Tailscale é o módulo de kernel. Não medi corretamente o desempenho do Tailscale, mas, se não for diferença de desempenho de infraestrutura, não vejo muito como fazer esse tipo de afirmação
    • O Netmaker tem Client Gateways, que permitem gerar e modificar arquivos de configuração WireGuard brutos. Isso é muito útil ao integrar com configurações WireGuard customizadas
      Por exemplo, você pode criar um arquivo de configuração, editá-lo e colocá-lo em um roteador, e a conexão site-to-site funciona imediatamente: https://www.netmaker.io/features/ingress
    • Vale a pena investigar diretamente com que frequência o tráfego no Tailscale passa por relay. Não tenho números, mas já houve um usuário com latência muito alta no Tailscale que, após analisar o tráfego, descobriu que ele estava sendo encaminhado por relay até o outro lado do país
      A travessia de NAT do Tailscale é excelente, mas ainda é um fator a considerar
  • Talvez seja uma pergunta boba, mas fico curioso sobre quais são as vantagens desses produtos em comparação a configurar diretamente um servidor WireGuard comum em algo como OpenBSD. Não sou especialista em redes, mas a configuração manual também foi bem simples. Se esses produtos oferecem mais recursos, gostaria de saber quais são

    • Se você tentar criar uma rede mesh só com WireGuard, logo esbarra em um problema de explosão combinatória
      Se há 10 nós e você quer adicionar o 11º, precisa atualizar todos os 10 nós existentes
      Esses projetos automatizam a configuração dos nós. Você configura apenas o novo nó, e os demais passam a saber da existência dele
    • Em resumo, você não precisa configurar o WireGuard manualmente, e isso também ajuda a cumprir vários acrônimos de conformidade
  • Não seria melhor as empresas investirem mais em melhorar o WireGuard e outras soluções open source?
    Não entendo como dá para confiar a outra empresa um serviço de segurança tão importante quanto uma VPN. E se alguém entre os funcionários dessa empresa vender você para quem oferecer mais?
    Ao decidir entre fazer internamente ou comprar, parece que muita gente esquece que, se você não é dono da chave da porta da sua casa, corre o risco de alguém trancá-lo do lado de fora

    • A pessoa que criou o WireGuard já disse claramente que recursos de gerenciamento como autenticação de usuários, configuração e ajustes automáticos, ACLs etc. estão fora do escopo do projeto WireGuard
      A ideia é mantê-lo o mais simples possível e deixar que terceiros criem plataformas de VPN usando WireGuard
    • Sobre a pergunta de como confiar a outra empresa um serviço de segurança de VPN tão importante, há também a abordagem de olhar o Gartner Magic Quadrant e escolher o que está no canto superior direito
      Qualquer solução de VPN pode ter vulnerabilidades, e a própria empresa provavelmente a manterá atualizada. Muitos firewalls de hardware têm ASICs para acelerar tráfego de VPN, e talvez isso seja necessário para lidar com o volume de tráfego da empresa
    • WireGuard é um protocolo que criptografa e transmite bits diretamente na camada L3. Faz sentido fazê-lo executar bem uma tarefa simples
  • Ainda há uma inconveniência no WireGuard que não consegui resolver. No celular, quero acessar meu homelab por meio do servidor WireGuard de casa e mandar o restante do tráfego para uma VPN WireGuard externa
    A faixa de IPs do homelab é algo como 10.10.0.0/24, e a VPN externa usa outra faixa, mas o WireGuard parece não gostar muito desse tipo de configuração
    A alternativa é enviar todo o tráfego do celular para casa e fazer o roteador de casa sair pela VPN externa, mas minha internet residencial não é boa e não quero que ela vire um gargalo
    Dei uma olhada rápida na documentação do NetMaker, mas não encontrei uma parte que mostrasse claramente como configurar a VPN ou como se chama a configuração para fazer bridge entre várias redes WireGuard

    • Fico curioso para saber como está a configuração atual
      É uma estrutura com uma interface/configuração WireGuard no celular e dois peers? Algo como o peer WireGuard de casa com AllowedIPs em 10.10.0.0/24 e o peer da VPN remota com 0.0.0.0/24?
      Também queria saber se já tentou excluir o CIDR do WireGuard de casa dos AllowedIPs da VPN remota. Seria uma configuração com várias entradas excluindo o CIDR local, em vez de uma única 0.0.0.0/24
    • Deveria ser possível com dois peers. Mas talvez seja preciso definir explicitamente o roteamento
      Para o primeiro peer, é fácil deixar AllowedIPs como 10.10.0.0/8; para o segundo peer, como ele precisa rotear todo o tráfego restante, será necessária mais configuração
      Para um exemplo listando todas as faixas que não são RFC1918, veja esta resposta: https://serverfault.com/a/304791
      Imagino que essas faixas devam ser colocadas em AllowedIPs do peer que fará o roteamento para a internet pública
    • O Netmaker pode ajudar. Dentro da rede Netmaker 10.10.0.0/24, basta configurar um Egress Gateway para 0.0.0.0/0 apontando para a VPN de internet
      O Netmaker trata as regras de roteamento de forma diferente e foi feito para ser compatível com esse tipo de configuração. Dito isso, mesmo no WireGuard comum essa configuração costuma ser bastante estável pela minha experiência, então é um pouco surpreendente que isso esteja dando problema
    • Se o servidor WireGuard de casa estiver rodando em Linux, dá para implementar adicionando uma segunda tabela de roteamento e regras de política de roteamento
    • Não daria para manter uma conexão WireGuard permanente entre a casa e o servidor WireGuard externo, e conectar o celular apenas ao servidor externo?
      Assim, o tráfego para casa seria roteado pela conexão WireGuard de casa, e o restante do tráfego sairia diretamente pelo servidor externo
  • Uso o Netmaker há alguns meses e ele é excelente. Uso para gerenciar VPNs bastion em todos os ambientes
    O que ainda não consegui fazer funcionar é o encaminhamento completo de 0.0.0.0. A documentação diz que é possível, mas não parece ser um caso de uso comum, e sempre que tento acabo tendo travamentos. Normalmente precisei usar sshuttle
    Fora isso, é realmente muito bom

    • Fico curioso sobre sua configuração de hospedagem dos servidores. Você expõe o bastion Netmaker à internet pública para todas as VPCs e deixa o bastion fora da VPC?
      Quando configurei, me recomendaram fazer assim, mas também considerei colocar o bastion dentro da VPC e expô-lo à internet
    • Ao usar 0.0.0.0, você acessa por external clients ou usa o netclient comum?
    • Fico curioso se é para rede de escritório ou para infraestrutura de servidores
      Também queria saber se você comparou com outros produtos e por que escolheu o Netmaker
    • Seria bom tentar MSS clamping
  • O Netmaker é um produto decente e também tem apoio da Y Combinator. Assim como o Tailscale, é baseado em WireGuard, e parece focar principalmente no uso com Kubernetes
    Na minha opinião, ele é melhor do que outras soluções de rede zero trust porque oferece, em conjunto, ACLs integradas, recursos tradicionais de WireGuard/VPN e uma sobreposição mesh P2P criptografada
    Zerotier ou Tailscale podem ser mais fáceis de lidar, mas vale continuar acompanhando o NetMaker. Conheci o fundador na KubeCon do ano passado; ele era acessível e boa pessoa. Se houver perguntas ou preocupações específicas, dá para entrar em contato diretamente

    • O Tailscale é bem bom
      Fico curioso sobre como conectar as duas redes, tailnet e netmaker-net
  • Fuçando o repositório no GitHub, fiquei bem decepcionado com a falta de arquivos _test.go. É um produto de segurança, então fico com medo de algo ruim acontecer

    • A maior parte dos testes é feita por testes de integração que ficam em outro repositório
  • Assinei algumas ferramentas desse tipo e gosto mais do Netmaker. Posso ser enviesado, mas sinto que a forma de configuração é apresentada de um jeito fácil de entender

    • Quais você testou e qual foi sua impressão de cada uma?
      Eu só testei um produto que pessoas em quem confio mencionaram várias vezes no HN e em outros lugares, mas tenho curiosidade sobre as experiências de usuários do HN com outros serviços
  • Dentro de um cluster Kubernetes, usa Netmaker e netclient para acessar todos os pods k8s por meio de túneis WireGuard seguros
    Não é preciso se preocupar com certificados SSL em dashboards administrativos como Longhorn, Pihole, Portainer e Linkerd. Também não é necessário fazer port forwarding do k8s toda vez que quiser acessar um serviço específico dentro da rede do cluster
    Acho difícil superar a combinação de Netmaker e Kubernetes para acesso seguro e gerenciável à rede do cluster