106 lines
3.7 KiB
Markdown
106 lines
3.7 KiB
Markdown
# 🧪 Configuração de Rede Segura (VPN WireGuard) - VPS 4 (Desenvolvimento / Staging)
|
|
|
|
Este diretório contém os arquivos de configuração necessários para que a **VPS 4** (`10.99.0.4`) entre na rede privada criptografada do **Clube67** de forma totalmente segura.
|
|
|
|
---
|
|
|
|
## 🗺️ Visão de Conexão da VPS 4
|
|
```mermaid
|
|
graph LR
|
|
VPS4["🧪 VPS 4 (Staging) <br> IP: 10.99.0.4"]
|
|
VPS1["🖥️ VPS 1 (Hub Central) <br> IP: 10.99.0.1"]
|
|
VPS3["🗄️ VPS 3 (Banco de Dados) <br> IP: 10.99.0.3"]
|
|
|
|
VPS4 <== Canal Seguro VPN (Porta UDP 51820) ==> VPS1
|
|
VPS4 -- Replicação PostgreSQL (Porta 5432) --> VPS3
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 Arquivos de Configuração Disponíveis
|
|
|
|
1. **[wg0.conf](file:///home/deploy/instrucoes/VPS-0.4/wg0.conf)**: Arquivo completo de configuração do WireGuard para ser colocado em `/etc/wireguard/wg0.conf` na **VPS 4**.
|
|
2. **[hub_peer_vps4.conf](file:///home/deploy/instrucoes/VPS-0.4/hub_peer_vps4.conf)**: Snippet de peer para ser adicionado à configuração do Hub (**VPS 1**).
|
|
|
|
---
|
|
|
|
## 🛠️ Passo a Passo para Configuração
|
|
|
|
### Passo 1: Configurar o Peer no Hub Central (VPS 1)
|
|
Antes de ativar a conexão na VPS 4, o servidor central (**VPS 1**) precisa autorizar a sua chave pública.
|
|
|
|
1. Acesse o terminal da **VPS 1**.
|
|
2. Abra o arquivo `/etc/wireguard/wg0.conf` para edição:
|
|
```bash
|
|
sudo nano /etc/wireguard/wg0.conf
|
|
```
|
|
3. Adicione o seguinte bloco de peer ao final do arquivo:
|
|
```ini
|
|
[Peer]
|
|
# VPS 4 (Desenvolvimento / Staging)
|
|
PublicKey = ln7phEfm4w//jZJqqlkGAjsXKWQnOw2kYc64ni5PXX0=
|
|
AllowedIPs = 10.99.0.4/32
|
|
PersistentKeepalive = 25
|
|
```
|
|
4. Salve e recarregue as configurações do WireGuard na VPS 1 de forma viva (sem derrubar as conexões existentes):
|
|
```bash
|
|
sudo wg syncconf wg0 <(wg-quick strip wg0)
|
|
```
|
|
|
|
### Passo 2: Configurar o Cliente WireGuard na VPS 4
|
|
1. Acesse o terminal da **VPS 4**.
|
|
2. Instale o WireGuard caso ainda não esteja instalado:
|
|
```bash
|
|
sudo apt-get update && sudo apt-get install -y wireguard
|
|
```
|
|
3. Crie o arquivo `/etc/wireguard/wg0.conf` e cole o seguinte conteúdo:
|
|
```ini
|
|
[Interface]
|
|
Address = 10.99.0.4/24
|
|
PrivateKey = 4PAIHMPhK0RSs878Lc275hCu2lluzm0QTY9x7T25XEQ=
|
|
DNS = 1.1.1.1, 8.8.8.8
|
|
|
|
[Peer]
|
|
# VPS 1 (Hub Central / Gateway de Entrada)
|
|
PublicKey = jUWnuc+82vQ6kLMSI7W1i7hBRBgQKcaSZ8yJy56QSUw=
|
|
AllowedIPs = 10.99.0.0/24
|
|
Endpoint = 158.220.109.237:51820
|
|
PersistentKeepalive = 25
|
|
```
|
|
4. Ajuste as permissões do arquivo para segurança máxima (somente leitura para o root):
|
|
```bash
|
|
sudo chmod 600 /etc/wireguard/wg0.conf
|
|
```
|
|
5. Inicie a interface VPN e configure para iniciar automaticamente no reboot:
|
|
```bash
|
|
sudo systemctl enable wg-quick@wg0.service
|
|
sudo systemctl start wg-quick@wg0.service
|
|
```
|
|
|
|
### Passo 3: Testar e Validar a Conexão
|
|
Para verificar se a VPS 4 está inserida na rede com sucesso:
|
|
1. Veja o status do link:
|
|
```bash
|
|
sudo wg show
|
|
```
|
|
2. Realize um ping teste para o Hub central e para a VPS 3 (banco de dados):
|
|
```bash
|
|
ping -c 3 10.99.0.1
|
|
ping -c 3 10.99.0.3
|
|
```
|
|
3. Teste a conexão segura de replicação com o PostgreSQL da VPS 3:
|
|
```bash
|
|
pg_isready -h 10.99.0.3 -p 5432
|
|
```
|
|
|
|
---
|
|
|
|
## 🔒 Diretrizes de Segurança (Hardening) para a VPS 4
|
|
|
|
* **Firewall UFW**: Mantenha o UFW ativo na VPS 4, liberando a porta SSH pública apenas para a VPN ou desativando o SSH público inteiramente caso queira operá-la 100% Zero-Trust (acessível apenas pelo link WireGuard `10.99.0.4` do notebook do Rui).
|
|
* **Non-local Bind**: Ative o nonlocal bind para que serviços dependentes da VPN possam iniciar no boot sem falhar se a interface wg0 demorar alguns milissegundos para subir:
|
|
```bash
|
|
echo "net.ipv4.ip_nonlocal_bind=1" | sudo tee -a /etc/sysctl.conf
|
|
sudo sysctl -p
|
|
```
|