Configurar Remote Access do Sophos Firewall em Linux
Para Windows e macOS existe, com o Sophos Connect, um cliente próprio para IPsec e SSL VPN. Para Linux, a Sophos não oferece um cliente Sophos Connect próprio. Quem quiser ligar-se a partir de Linux ao Sophos Firewall Remote Access utiliza, em vez disso, ferramentas padrão: o cliente OpenVPN normal para SSL VPN ou o NetworkManager com o plugin strongSwan para IPsec.
Este artigo descreve ambos os caminhos e situa quando cada um faz sentido. Para a decisão fundamental entre IPsec e SSL VPN, o mais indicado primeiro é Sophos Connect ou SSL VPN: qual solução de Remote Access é a mais adequada?. Para a configuração do lado do firewall do SSL VPN Remote Access, a base adequada é configurar Sophos Firewall SSL VPN Remote Access.
Comparação com outros clientes
- Windows ou macOS com Sophos Connect: instalar o cliente Sophos Connect no Windows ou instalar o cliente Sophos Connect no macOS.
- iOS ou Android com OpenVPN Connect: configurar Sophos SSL VPN no iPhone e iPad ou configurar Sophos SSL VPN no Android.
- Linux com OpenVPN ou NetworkManager-strongSwan: este artigo.
O Linux não é, assim, um caso especial no sentido negativo, mas segue o mesmo padrão das plataformas móveis: em vez de um cliente próprio do fabricante, são usadas ferramentas padrão estabelecidas, que trabalham com o ficheiro de configuração fornecido pelo firewall.
Pré-requisitos
- Sophos Firewall com SSL VPN Remote Access ou IPsec Remote Access já configurado.
- Conta de utilizador com permissão VPN e, se ativado, MFA a funcionar.
- Para SSL VPN: o pacote do cliente OpenVPN no sistema Linux, por exemplo
openvpnem Debian/Ubuntu ou a respetiva fonte de pacotes específica da distribuição. - Para IPsec: NetworkManager com o plugin strongSwan, por exemplo
network-manager-strongswanem Debian/Ubuntu. - Acesso ao VPN Portal ou a um ficheiro de configuração fornecido administrativamente.
⚠️ Não existe um cliente Sophos Connect oficial para Linux. Tutoriais ou downloads que promovam um “Sophos Connect para Linux” não fazem parte da oferta oficial da Sophos e não devem ser instalados sem verificação.
Configurar SSL VPN com OpenVPN
O caminho oficialmente documentado pela Sophos para Linux é o SSL VPN Remote Access com o cliente OpenVPN clássico.
1. Instalar o cliente OpenVPN
Na maioria das distribuições, basta o pacote padrão do gestor de pacotes, por exemplo:
sudo apt install openvpn
Quem preferir uma interface gráfica pode adicionalmente instalar o plugin NetworkManager-OpenVPN, por exemplo network-manager-openvpn-gnome, e importar a ligação por essa via, em vez de a iniciar pelo terminal.
2. Descarregar o ficheiro de configuração
- Abrir o VPN Portal do Sophos Firewall no browser.
- Iniciar sessão com o utilizador VPN.
- Na seleção de configuração, escolher Linux.
- Descarregar o ficheiro
.ovpne guardá-lo em local seguro.
3. Iniciar a ligação pelo terminal
sudo openvpn --config sophos-vpn.ovpn
Depois do arranque, o OpenVPN pede, conforme a configuração, o nome de utilizador e a palavra-passe, e depois, se aplicável, um código de verificação MFA. A ligação mantém-se enquanto o processo estiver em execução. Se a janela do terminal for fechada, o túnel também é interrompido.
Para uma operação mais duradoura sem terminal aberto, o OpenVPN pode ser configurado como serviço systemd ou a ligação pode ser gerida pelo NetworkManager.
4. Importar a ligação através do NetworkManager (opcional)
- Abrir as definições de rede.
- Adicionar uma nova ligação VPN e escolher Importar de ficheiro.
- Selecionar o ficheiro
.ovpndescarregado. - Guardar o nome de utilizador, se desejado; não guardar a palavra-passe em texto simples de forma permanente se o MFA estiver ativo.
- Iniciar a ligação através da interface gráfica e introduzir as credenciais ou o código MFA.
Esta variante é mais prática no dia a dia, porque pode ser ligada e desligada como qualquer outra ligação de rede, sem necessidade de manter um terminal aberto.
IPsec com NetworkManager-strongSwan (alternativa)
Se se pretender usar IPsec em vez de SSL VPN, em Linux o caminho comum é o plugin NetworkManager-strongSwan. Esta variante é menos padronizada em Linux do que o caminho OpenVPN e deve ser considerada sobretudo para cenários de Remote Access IKEv2.
1. Instalar o plugin
sudo apt install network-manager-strongswan
O nome exato do pacote pode variar consoante a distribuição.
2. Verificar o tipo de ligação no firewall
O plugin strongSwan para NetworkManager suporta IKEv2. No firewall, o perfil IPsec de Remote Access tem de estar configurado de acordo, para IKEv2, e não para o IKEv1 mais antigo. Para a autenticação, o plugin suporta tanto métodos baseados em certificado como EAP, por exemplo nome de utilizador e palavra-passe. Com autenticação por Preshared Key, o plugin exige um segredo suficientemente forte; PSKs curtas ou simples devem, por princípio, ser evitadas.
3. Criar a ligação
- Abrir as definições de rede.
- Adicionar uma nova ligação VPN do tipo IPsec/IKEv2 (strongswan).
- Inserir o endereço de gateway do Sophos Firewall.
- Escolher o método de autenticação adequado à configuração do firewall: certificado ou nome de utilizador/palavra-passe (EAP).
- Na autenticação baseada em certificado, guardar o certificado do servidor ou a CA usada pelo firewall.
- Guardar e testar a ligação.
Como este caminho depende mais fortemente da distribuição, da versão do plugin e da configuração IPsec exata no firewall, é mais suscetível a erros do que o caminho OpenVPN. Para a maioria dos ambientes, o SSL VPN via OpenVPN é, por isso, a abordagem inicial mais robusta para clientes Linux.
Verificar após a configuração
- O estado da ligação no OpenVPN ou no NetworkManager mostra uma sessão ativa.
- Os nomes DNS internos resolvem através do túnel VPN.
- Um destino interno permitido está acessível, um destino não permitido continua bloqueado.
- No Log Viewer do firewall aparece tráfego da zona
VPNcom a regra de firewall esperada. - Com MFA: o código de verificação é pedido corretamente em cada nova ligação.
- Depois de reiniciar o cliente Linux, a ligação é restabelecida de forma limpa automaticamente ou iniciada manualmente de forma consciente, consoante a forma como foi configurada.
Se a ligação estiver estabelecida, mas não passar tráfego, ajuda testar regras de firewall com Log Viewer, Policy Test e Packet Capture.
Erros típicos
- Procurado um tutorial de terceiros de “Sophos Connect para Linux”: este cliente não existe oficialmente. Usar antes OpenVPN ou NetworkManager-strongSwan.
- Janela do terminal fechada e ligação perdida: com uma chamada direta a
openvpn --config, fechar o terminal desliga o túnel. Para operação contínua, usar a importação pelo NetworkManager ou um serviço systemd. - Ficheiro
.ovpnantigo continuado a usar após alteração no firewall: depois de alterações no gateway, no certificado, na porta do VPN Portal ou na autenticação, o ficheiro de configuração tem de ser descarregado de novo. - IKEv1 configurado no firewall em vez de IKEv2: o plugin NetworkManager-strongSwan só suporta IKEv2. Verificar e, se necessário, ajustar o perfil do lado do firewall.
- Preshared Key demasiado curta: versões mais recentes do plugin exigem um comprimento mínimo de PSK. Um segredo demasiado curto provoca um erro de ligação, não uma ligação insegura mas funcional.
- Certificado ou CA errados guardados: na autenticação IPsec baseada em certificado, tem de ser guardada exatamente a CA também usada pelo firewall. Um certificado ligeiramente diferente ou expirado provoca uma falha de ligação sem mensagem de erro esclarecedora no cliente.
- Código MFA associado de forma errada: com OpenVPN e MFA, o código de verificação tem de ser introduzido no campo certo e no momento certo. Em caso de dúvida, comparar a sequência de login com um cliente Windows ou macOS que funcione.
FAQ
Existe um cliente Sophos Connect oficial para Linux?
Qual caminho é mais simples em Linux: SSL VPN ou IPsec?
Porque se desliga a ligação VPN quando fecho o terminal?
sudo openvpn --config, a ligação corre como processo em primeiro plano do terminal. Para uma operação independente da sessão de terminal, a ligação deve ser importada pelo NetworkManager ou configurada como serviço.