Editado 3 Semanas atrás por ExtremeHow Equipe Editorial
DebianOpenVPNConfiguração do ServidorRedesSegurançaLinuxVPNAdministração de SistemasCódigo AbertoInterface de Linha de Comando
Tradução atualizada 3 Semanas atrás
Configurar um servidor OpenVPN no Debian pode parecer complicado, mas ao seguir cuidadosamente alguns passos, você pode configurar uma VPN segura. Este guia presume que você tem um conhecimento básico de como usar a linha de comando e que o Debian está instalado. Analisaremos cada etapa em detalhe, fornecendo todos os comandos e configurações necessários para colocar seu servidor OpenVPN em funcionamento. Isso incluirá configuração, ajuste e teste do seu servidor VPN.
Antes de começar, certifique-se de que:
sudo apt update && sudo apt upgrade -y
Após certificar-se de que seu sistema está atualizado, o próximo passo é configurar o firewall.
Uncomplicated Firewall (UFW) é uma maneira simples de gerenciar configurações de firewall. Se UFW não estiver instalado, use o seguinte comando para instalá-lo:
sudo apt install ufw
Em seguida, permita conexões SSH através do firewall (se ainda não estiver permitido) usando isto:
sudo ufw allow OpenSSH
Permita conexões OpenVPN:
sudo ufw allow 1194/udp
Ative o firewall:
sudo ufw enable
Verifique o status do UFW para garantir que as regras estejam configuradas corretamente:
sudo ufw status
Instale o pacote OpenVPN no Debian com o seguinte comando:
sudo apt install openvpn
Após a instalação, é hora de configurar o servidor. Você precisará do pacote easy-rsa para ajudá-lo a criar uma autoridade certificadora e certificados de cliente/servidor.
Baixe o pacote easy-rsa, que contém scripts para gerenciar a infraestrutura de chave pública (PKI):
sudo apt install easy-rsa
Em seguida, copie o script easy-rsa para um novo diretório que será usado para armazenar todas as chaves e certificados:
make-cadir ~/openvpn-ca
Vá para o novo diretório:
cd ~/openvpn-ca
Edite o arquivo 'vars' neste diretório para configurar as variáveis necessárias para a criação de certificados:
nano vars
Aqui estão algumas variáveis-chave para editar:
export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Example" export KEY_EMAIL="email@example.com" export KEY_OU="MyOrganizationalUnit"
Salve e saia do editor pressionando CTRL + X, depois Y e pressione Enter.
Inicie o diretório de Infraestrutura de Chave Pública (PKI):
./easyrsa init-pki
Crie uma Autoridade Certificadora (CA) fazendo o seguinte:
./easyrsa build-ca
Você será solicitado a inserir outros detalhes, como senha e nome comum para a CA. Defina-os conforme sua preferência.
A seguir, crie o certificado e a chave do servidor. Execute:
./easyrsa gen-req server nopass
Este comando gera uma chave privada do servidor chamada 'server.key'.
Agora assine o certificado com a CA:
./easyrsa sign-req server server
Você será solicitado a confirmar a solicitação de assinatura. Digite "yes" e pressione Enter.
Da mesma forma, prepare os certificados para os clientes:
./easyrsa gen-req client1 nopass
Assine o certificado do cliente:
./easyrsa sign-req client client1
Repita estas etapas para criar mais certificados de cliente conforme necessário.
Gere o arquivo Diffie-Hellman:
./easyrsa gen-dh
E gere uma assinatura HMAC estática para fortalecer as capacidades de verificação de integridade TLS do servidor:
openvpn --genkey secret ta.key
Crie um novo arquivo de configuração para o servidor OpenVPN:
sudo nano /etc/openvpn/server.conf
Cole a seguinte configuração no arquivo:
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 10 120 tls-auth ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
Certifique-se de que todos os caminhos dos arquivos apontem para os arquivos corretos. Agora salve o arquivo e saia do editor.
Você precisa fazer alterações na rede para permitir o encaminhamento de tráfego. Abra `/etc/sysctl.conf`:
sudo nano /etc/sysctl.conf
Descomente a linha:
net.ipv4.ip_forward=1
Aplique as alterações:
sudo sysctl -p
Adicione a regra UFW:
sudo nano /etc/ufw/before.rules
Adicione ao topo do arquivo:
# START OPENVPN RULES *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES
Permita o mascaramento de IP:
sudo nano /etc/default/ufw
Altere `DEFAULT_FORWARD_POLICY` para:
DEFAULT_FORWARD_POLICY="ACCEPT"
Finalmente, aplique as regras do UFW:
sudo ufw allow 1194/udp
Reinicie o UFW:
sudo ufw disable
sudo ufw enable
Inicie e ative o serviço OpenVPN:
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
Verifique o status para garantir que ele esteja funcionando sem erros:
sudo systemctl status openvpn@server
A última etapa é configurar o cliente. Instale o cliente OpenVPN executando o comando de instalação específico para o sistema operacional do seu cliente. Em seguida, crie um arquivo de configuração do cliente, geralmente um arquivo `.ovpn` que contém todas as informações do servidor, o certificado do cliente e a chave privada para autenticação.
Crie um novo arquivo de configuração do cliente em sua máquina (client1.ovpn):
client dev tun proto udp remote your-server-ip 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server cipher AES-256-CBC auth SHA256 auth-nocache tls-auth ta.key 1 verb 3 # paste ca.crt content here # paste client1.crt content here # paste client1.key content here # paste ta.key content here
Transfira os certificados e configure a configuração do cliente na sua máquina cliente.
Finalmente, é hora de testar. Execute o cliente OpenVPN em sua máquina, usando o arquivo de configuração que você criou. Se tudo estiver configurado corretamente, você deve se conectar sem problemas e seu tráfego de rede será agora roteado pela sua VPN!
Uma vez conectado, verifique seu endereço IP externo para garantir que ele reflete o IP do servidor e não o IP original do seu cliente.
Seguindo estas etapas detalhadas, você instalou com sucesso um servidor OpenVPN em uma máquina Debian. Esta configuração garante comunicação segura para seus dados em uma rede potencialmente insegura. Sempre lembre-se de manter seu servidor e cliente atualizados e monitore constantemente à procura de atualizações de segurança.
Se você encontrar algo errado com o conteúdo do artigo, você pode