Openvpn ignora configuração do cliente

Openvpn ignora configuração do cliente

Eu tenho uma configuração onde emito certificados openvpn para clientes para redirecionar seu tráfego para sites específicos. É importante restringir os sites para os quais cada cliente é redirecionado.

Cada cliente possui os IPs que devem ser roteados no servidor em client-configs/config-dir/ assim: push route 123.123.123.123 255.255.255.255.

Os clientes recebem um arquivo ovpn com suas chaves e configurações para configurar em seus terminais. O problema é que um cliente pode editar seu arquivo ovpn e rotear mais tráfego através da VPN, mesmo que as novas rotas não estejam nas configurações do lado do servidor. Isso lhes permitiria acessar sites que não deveriam.

Existe uma solução para restringir esse comportamento ou talvez outra ferramenta que eu possa usar?

Notas:

  • O servidor OpenVPN possui apenas um IP público anexado e encaminha o tráfego.
  • Bloquear permissões não é uma opção porque este é um cenário BYOD.
  • Restrições de firewall de saída no servidor openvpn também não são uma opção porque cada cliente é roteado para um conjunto diferente de IPs.

Responder1

Você está certo. Um cliente pode editar seu arquivo ovpn local e solicitar que ele ignore as rotas enviadas e, em seguida, configurá-lo para rotear todo o tráfego para o gateway. Eu mesmo tive que fazer isso algumas vezes para testar. O OpenVPN não tem como restringir isso.

Você tem 2 opções:

  1. Bloqueie as permissões do arquivo OVPN do cliente para que ele não possa editá-lo
  2. Implemente regras de firewall no servidor OpenVPN que impeçam o tráfego de saída, exceto para sub-redes específicas

Se você estiver em um ambiente corporativo, provavelmente já possui mecanismos para controlar permissões nos computadores dos usuários. A primeira opção pode ser bem fácil.

Se você não tiver controle das permissões dos usuários para o arquivo, a regra de firewall é a melhor opção. Você já teve que configurar regras para o encaminhamento de um mascaramento funcionar (Exemplo:https://askubuntu.com/a/578550/283173). Você pode inserir regras adicionais de iptables para permitir apenas suas sub-redes específicas.

Atualizar:Com base nas suas notas revisadas, fica ainda mais claro que sua única opção é o firewall no lado do servidor. Você terá que realmente pensar bem sobre seus filtros de saída. O que você provavelmente terá que fazer é criar seu próprio programa que crie regras de firewall de maneira inteligente. Se você souber que cada cliente está sendo roteado para IPs específicos, poderá abrir rotas dinamicamente no firewall quando o cliente se conectar. Você pode conectar-se ao sistema OpenVPN quando os clientes se conectam usando a learn-addressdiretiva na configuração do servidor, para enviar detalhes sobre a conexão do cliente para o seu programa personalizado.

informação relacionada