Dois fluxos de pacotes atravessam um gateway Shorewall que termina o OpenVPN, e apenas um deles é cifrado. O primeiro é o transporte do cliente até o ouvinte VPN na interface voltada para a internet. O segundo é o pedido decifrado que sai da interface do túnel para um servidor de escritório ou um serviço no gateway. Mapeie os dois antes de editar a política, porque uma regra que satisfaz o primeiro não faz nada pelo segundo.

Desenhe os dois fluxos antes de editar a política

Escreva os fluxos como linhas com origem, destino, protocolo e porta. No caminho externo, a origem é o endereço público do cliente e o destino é a porta de escuta do gateway; o Shorewall trata isso como tráfego da internet para a firewall. No caminho interno, a origem é o intervalo de endereços do túnel e o destino é o serviço aprovado. As duas linhas têm proprietários diferentes mesmo quando um único administrador mantém as duas.

FlowZone relationshipWhat to constrain
Encrypted OpenVPN transportInternet to the firewall hostThe listener's actual protocol and port
Decrypted request to a LAN serviceVPN clients to the LAN zoneOne approved server and service
Decrypted request to the gatewayVPN clients to the firewall hostOnly the local services required
Request to another VPN clientVPN clients to VPN clientsDenied unless deliberately required

Acrescente uma linha apenas se o pedido terminar no próprio gateway, como o acesso ao resolver ou à administração. Um serviço no host segue a política de entrada do host, não o caminho encaminhado. Misturar os dois é como uma regra estreita de túnel acaba expondo uma interface de administração.

Atribua a zona do túnel e o âmbito da interface

A zona do viajante é declarada em /etc/shorewall/zones, a interface do túnel é associada em /etc/shorewall/interfaces e a ligação externa é descrita em /etc/shorewall/tunnels. Ajuste-se à sintaxe da versão instalada, porque a ordem das colunas e os nomes das opções mudaram entre versões principais. A porta de exemplo do guia não é motivo para permitir uma porta diferente daquela em que o daemon realmente escuta. TCP e UDP não são intercambiáveis só porque os números coincidem.

O guia agrupa as interfaces com tun+. Num host com mais de um túnel, esse curinga pode colocar uma segunda VPN de nível de confiança diferente na mesma zona. Reveja o âmbito face às interfaces que existem realmente e mantenha a nomenclatura sob o ciclo de vida do gestor de ligações em vez de editar os nomes das interfaces à mão.

O guia histórico contém exemplos de configuração do OpenVPN muito mais antigos, e os seus conselhos criptográficos não devem ser copiados para uma implantação atual. Empreste antes o modelo de zonas e fluxos. Tire a base criptográfica da política OpenVPN mantida no gateway.

Permita apenas o caminho que classificou

Uma aceitação ampla da zona VPN para a LAN é um esquema inicial, não uma política terminada. Escreva a origem de cliente permitida, o endereço real do serviço, o protocolo e a porta. Depois leia as regras acima e o valor predefinido da zona, porque uma adição estreita não anula uma permissão ampla que já coincide. O tráfego para o host do gateway é uma relação separada do tráfego encaminhado através dele.

O tráfego entre clientes precisa da sua própria decisão. O client-to-client do OpenVPN e o routeback do Shorewall afetam ambos se os clientes conseguem alcançar-se, e nenhum deles deve ser ativado só para fazer funcionar uma aplicação da LAN. Decida onde o isolamento é imposto antes de o testar.

Mantenha o caminho de resposta no mesmo plano. O serviço ou o seu router tem de saber como devolver o tráfego ao intervalo do túnel, ou o desenho tem de traduzir a origem de forma deliberada e dentro do âmbito previsto.

Valide e depois prove os dois caminhos

Valide a configuração antes de reiniciar o que quer que seja e mantenha aberta uma sessão administrativa independente caso a nova política esteja errada.

shorewall check

Depois de uma verificação limpa, aplique a configuração e releia o que o Shorewall carregou. Estas leituras descrevem a política em execução e não o que um ficheiro parece dizer.

shorewall show zones
ip route get 192.168.10.20

Teste um pedido permitido novo e um pedido negado de propósito a partir do mesmo cliente. Um aperto de mão OpenVPN bem-sucedido só prova a troca externa; o serviço permitido e o recurso negado provam a política interna que pretendia. Depois reconecte o cliente e repita, porque o nome e o endereço da interface do túnel podem mudar entre sessões. Se o resultado diferir, corrija o âmbito da zona em vez de alargar a regra.

Artigos relacionados