OpenVPN

O OpenVPN é uma solução SSL VPN de código aberto que pode ser usada para clientes de acesso remoto e conectividade site a site. O OpenVPN suporta clientes em uma ampla gama de sistemas operacionais, incluindo todos os BSDs, Linux, Android, Mac OS X, iOS, Solaris, Windows 2000 e mais recentes, e até mesmo alguns telefones VoIP.

Toda conexão OpenVPN, seja acesso remoto ou site a site, consiste em um servidor e um cliente. No caso de VPNs site a site, um firewall atua como servidor e o outro como cliente. Não importa qual firewall possui esses papéis. Normalmente, a localização do firewall principal fornecerá conectividade do servidor para todos os locais remotos, cujos firewalls são configurados como clientes. Isso é funcionalmente equivalente à configuração oposta do local principal configurado como um cliente que se conecta a servidores em execução nos firewalls em locais remotos. Na prática, os servidores são quase sempre executados em um local central.

Existem vários tipos de métodos de autenticação que podem ser usados ​​com o OpenVPN: chave compartilhada, X.509 (também conhecida como SSL/TLS ou PKI), autenticação de usuário via local, LDAP e RADIUS ou uma combinação de X.509 e usuário autenticação. Para chave compartilhada, é gerada uma chave única que será usada nos dois lados. O SSL / TLS envolve o uso de um conjunto confiável de certificados e chaves. A autenticação do usuário pode ser configurada com ou sem SSL / TLS, mas seu uso é preferível sempre que possível devido ao aumento da segurança oferecida.

As configurações para uma instância do OpenVPN são abordadas neste capítulo, bem como uma revisão do assistente do Servidor de Acesso Remoto do OpenVPN, configurações do cliente e exemplos de vários cenários de conexão de site a site.

Embora o OpenVPN seja uma VPN SSL, ele não é uma VPN SSL “sem cliente” no sentido em que os fornecedores de firewall comercial geralmente declaram. O cliente OpenVPN deve ser instalado em todos os dispositivos clientes. Na realidade, nenhuma solução de VPN é realmente “sem cliente”, e essa terminologia nada mais é do que um truque de marketing. Para uma discussão mais aprofundada sobre SSL VPNs, este post da Matthew Grooms, uma ferramenta IPsec e desenvolvedor do pfSense, nos arquivos da lista de discussão fornece algumas informações excelentes.

Para uma discussão geral dos vários tipos de VPNs disponíveis no pfSense e seus prós e contras, consulte VPN.

OpenVPN e Certificados

O uso de certificados é o meio preferido de executar VPNs de acesso remoto, porque permite que o acesso seja revogado para máquinas individuais. Com chaves compartilhadas, um servidor e uma porta exclusivos devem ser criados para cada cliente ou a mesma chave deve ser distribuída para todos os clientes. O primeiro chega a ser um pesadelo gerencial, e o último é problemático no caso de uma chave comprometida. Se uma máquina cliente for comprometida, roubada ou perdida ou precisar ser revogada, a chave compartilhada deverá ser emitida novamente para todos os clientes. Com uma implantação de PKI, se um cliente for comprometido, ou o acesso precisar ser revogado por qualquer outro motivo, basta revogar o certificado desse cliente. Nenhum outro cliente é afetado.

A GUI do pfSense inclui uma interface de gerenciamento de certificados totalmente integrada ao OpenVPN. As autoridades de certificação (CAs) e os certificados do servidor são gerenciados no Gerenciador de Certificados na interface da Web, localizada em Sistema>Gerenciador de certificados. Os certificados de usuário também são gerenciados na interface da Web, como parte do gerenciador de usuários integrado, localizado em Sistema>Gerenciador de usuários. Os certificados podem ser gerados para qualquer conta de usuário criada localmente no firewall, exceto para a conta de administrador padrão. Para obter mais informações sobre como criar uma autoridade de certificação, certificados e listas de revogação de certificados, consulte Gerenciamento de Certificados.