Openvpn ignora a configuração do cliente

1

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

Cada cliente tem 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. A questão é que um cliente poderia editar seu arquivo ovpn e direcionar mais tráfego através da VPN, mesmo que as novas rotas não estejam nas configurações do servidor. Isso permitiria que eles acessassem 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 tem apenas um IP público conectado e está encaminhando o tráfego.
  • O bloqueio de permissões não é uma opção porque esse é um cenário de BYOD.
  • As 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.
por rwms 16.02.2018 / 16:49

1 resposta

1

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

Você tem duas opções:

  1. Bloqueie as permissões do arquivo OVPN do cliente para que elas não possam 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á tem mecanismos para controlar as 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 do firewall é o melhor caminho a seguir. Você já tinha que configurar regras para o encaminhamento de um mascaramento para o trabalho (Exemplo: link ). Você pode inserir regras adicionais do iptables para permitir apenas suas sub-redes específicas.

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

    
por 16.02.2018 / 17:32