chore(infra): bump submódulos (staging->dev) + docs restantes
Aponta scoreodonto.com, mercado.clube67.com, instrucoes_gerais e newwhats.local.wiki para os commits de renomeação staging->dev. Inclui os 2 docs locais restantes (arquitetura_vlan_proposta.md, clube67/newwhats.local/arquitetura.md). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,7 @@ graph TD
|
|||||||
subgraph "Túnel VPN WireGuard (10.99.0.0/24)"
|
subgraph "Túnel VPN WireGuard (10.99.0.0/24)"
|
||||||
VPS1["🖥️ VPS 1 (Gateway/App) <br> IP: 10.99.0.1"]
|
VPS1["🖥️ VPS 1 (Gateway/App) <br> IP: 10.99.0.1"]
|
||||||
VPS3["🗄️ VPS 3 (Data Appliance) <br> IP: 10.99.0.3"]
|
VPS3["🗄️ VPS 3 (Data Appliance) <br> IP: 10.99.0.3"]
|
||||||
VPS4["🧪 VPS 4 (Staging/Replica) <br> IP: 10.99.0.4"]
|
VPS4["🧪 VPS 4 (Dev/Replica) <br> IP: 10.99.0.4"]
|
||||||
VPS5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.99.0.5"]
|
VPS5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.99.0.5"]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ graph TD
|
|||||||
subgraph "Rede Privada Física (VLAN: 10.0.0.0/22) - Alta Performance"
|
subgraph "Rede Privada Física (VLAN: 10.0.0.0/22) - Alta Performance"
|
||||||
v1["🖥️ VPS 1 (Gateway/App) <br> IP: 10.0.0.1"]
|
v1["🖥️ VPS 1 (Gateway/App) <br> IP: 10.0.0.1"]
|
||||||
v3["🗄️ VPS 3 (Data Appliance) <br> IP: 10.0.0.3"]
|
v3["🗄️ VPS 3 (Data Appliance) <br> IP: 10.0.0.3"]
|
||||||
v4["🧪 VPS 4 (Staging/Replica) <br> IP: 10.0.0.4"]
|
v4["🧪 VPS 4 (Dev/Replica) <br> IP: 10.0.0.4"]
|
||||||
v5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.0.0.5"]
|
v5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.0.0.5"]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ Mapeamos os IPs da nova rede de forma simétrica com a sua estrutura antiga, tor
|
|||||||
| :--- | :--- | :--- | :--- |
|
| :--- | :--- | :--- | :--- |
|
||||||
| **VPS 1 (Gateway / Apps)** | `158.220.109.237` | `10.99.0.1` (Hub) | **`10.0.0.1/22`** |
|
| **VPS 1 (Gateway / Apps)** | `158.220.109.237` | `10.99.0.1` (Hub) | **`10.0.0.1/22`** |
|
||||||
| **VPS 3 (Banco de Dados)** | (Trancado) | `10.99.0.3` | **`10.0.0.3/22`** |
|
| **VPS 3 (Banco de Dados)** | (Trancado) | `10.99.0.3` | **`10.0.0.3/22`** |
|
||||||
| **VPS 4 (Staging / Dev)** | (Trancado) | `10.99.0.4` | **`10.0.0.4/22`** |
|
| **VPS 4 (Dev / Dev)** | (Trancado) | `10.99.0.4` | **`10.0.0.4/22`** |
|
||||||
| **VPS 5 (CRM / newwhats)** | (Trancado) | `10.99.0.5` | **`10.0.0.5/22`** |
|
| **VPS 5 (CRM / newwhats)** | (Trancado) | `10.99.0.5` | **`10.0.0.5/22`** |
|
||||||
| **Notebook Rui (Admin)** | Dinâmico | `10.99.0.10` | *Não aplicável* (Apenas VPN) |
|
| **Notebook Rui (Admin)** | Dinâmico | `10.99.0.10` | *Não aplicável* (Apenas VPN) |
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ Como o objetivo principal era sanar as **oscilações graves de ping (bouncing d
|
|||||||
### 🛠️ O que foi realizado:
|
### 🛠️ O que foi realizado:
|
||||||
Sincronizamos a MTU da interface `wg0` para **`1360`** em toda a malha ativa:
|
Sincronizamos a MTU da interface `wg0` para **`1360`** em toda a malha ativa:
|
||||||
* **VPS 3 (Data Appliance)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado.
|
* **VPS 3 (Data Appliance)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado.
|
||||||
* **VPS 4 (Staging)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado via SSH.
|
* **VPS 4 (Dev)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado via SSH.
|
||||||
* **VPS 1 (Hub/Gateway)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado via SSH (túnel).
|
* **VPS 1 (Hub/Gateway)**: Atualizado `/etc/wireguard/wg0.conf` -> `MTU = 1360` e reiniciado via SSH (túnel).
|
||||||
|
|
||||||
### 📈 Resultados Obtidos:
|
### 📈 Resultados Obtidos:
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ graph TD
|
|||||||
subgraph "Rede Privada VPN (10.99.0.0/24)"
|
subgraph "Rede Privada VPN (10.99.0.0/24)"
|
||||||
VPS1["🖥️ VPS 1 (Produção) <br> IP: 10.99.0.1 <br> (Traefik / Apps)"]
|
VPS1["🖥️ VPS 1 (Produção) <br> IP: 10.99.0.1 <br> (Traefik / Apps)"]
|
||||||
VPS3["🗄️ VPS 3 (Banco de Dados) <br> IP: 10.99.0.3 <br> (PostgreSQL Dedicado)"]
|
VPS3["🗄️ VPS 3 (Banco de Dados) <br> IP: 10.99.0.3 <br> (PostgreSQL Dedicado)"]
|
||||||
VPS4["🧪 VPS 4 (Desenvolvimento) <br> IP: 10.99.0.4 <br> (Staging / Builds)"]
|
VPS4["🧪 VPS 4 (Desenvolvimento) <br> IP: 10.99.0.4 <br> (Dev / Builds)"]
|
||||||
VPS5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.99.0.5 <br> (Bots / APIs)"]
|
VPS5["💬 VPS 5 (CRM WhatsApp) <br> IP: 10.99.0.5 <br> (Bots / APIs)"]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -77,15 +77,15 @@ graph TD
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🧪 3. VPS 4: Servidor de Desenvolvimento e Homologação (Staging)
|
### 🧪 3. VPS 4: Servidor de Desenvolvimento e Homologação (Dev)
|
||||||
* **Função Principal**: Testar novos recursos, hospedar containers de staging e realizar builds de desenvolvimento.
|
* **Função Principal**: Testar novos recursos, hospedar containers de dev e realizar builds de desenvolvimento.
|
||||||
* **IP Privado VPN**: `10.99.0.4`
|
* **IP Privado VPN**: `10.99.0.4`
|
||||||
* **Políticas do Firewall (UFW)**:
|
* **Políticas do Firewall (UFW)**:
|
||||||
* **Porta 22 (SSH)**: **Bloqueada publicamente**. Apenas acessível via VPN.
|
* **Porta 22 (SSH)**: **Bloqueada publicamente**. Apenas acessível via VPN.
|
||||||
* **Portas de teste (ex: 3002, 8080)**: **Bloqueadas publicamente** ou atreladas apenas ao IP privado da VPN para acesso exclusivo dos desenvolvedores autorizados.
|
* **Portas de teste (ex: 3002, 8080)**: **Bloqueadas publicamente** ou atreladas apenas ao IP privado da VPN para acesso exclusivo dos desenvolvedores autorizados.
|
||||||
* **Tecnologias**: Docker, Docker Compose, PostgreSQL 18 (Standby Replica em Container).
|
* **Tecnologias**: Docker, Docker Compose, PostgreSQL 18 (Standby Replica em Container).
|
||||||
* **Vantagens de Segurança & Performance**:
|
* **Vantagens de Segurança & Performance**:
|
||||||
* **Replicação Streaming Real-Time (Staging)**: Hospeda um container PostgreSQL 18 configurado como réplica de leitura (Standby) do banco de dados nativo de produção da VPS 3. Isso permite testar queries pesadas e validar migrações com dados reais em tempo de desenvolvimento de forma 100% segura e com zero impacto no banco principal.
|
* **Replicação Streaming Real-Time (Dev)**: Hospeda um container PostgreSQL 18 configurado como réplica de leitura (Standby) do banco de dados nativo de produção da VPS 3. Isso permite testar queries pesadas e validar migrações com dados reais em tempo de desenvolvimento de forma 100% segura e com zero impacto no banco principal.
|
||||||
* **Isolamento de Riscos**: Compilações de código (`npm run build`, `docker build`) e testes pesados de carga rodam aqui e consomem CPU sem comprometer os servidores de produção e banco de dados.
|
* **Isolamento de Riscos**: Compilações de código (`npm run build`, `docker build`) e testes pesados de carga rodam aqui e consomem CPU sem comprometer os servidores de produção e banco de dados.
|
||||||
* **Ambiente Espelho**: Homologação idêntica à produção para validações precisas antes de aplicar modificações em produção.
|
* **Ambiente Espelho**: Homologação idêntica à produção para validações precisas antes de aplicar modificações em produção.
|
||||||
|
|
||||||
@@ -205,15 +205,15 @@ graph TD
|
|||||||
A rede VPN WireGuard (`10.99.0.0/24`) deixa de ser tratada como uma zona de confiança irrestrita. Implementa-se uma política de privilégio mínimo na comunicação entre os servidores da VPN.
|
A rede VPN WireGuard (`10.99.0.0/24`) deixa de ser tratada como uma zona de confiança irrestrita. Implementa-se uma política de privilégio mínimo na comunicação entre os servidores da VPN.
|
||||||
|
|
||||||
* **O Problema de Movimentação Lateral**:
|
* **O Problema de Movimentação Lateral**:
|
||||||
Se a máquina de desenvolvimento/staging (VPS 4) for comprometida por um script malicioso, o atacante não pode ter permissão para escaneá-la ou conectar-se ao banco de dados de produção (VPS 3), exceto para o fluxo estritamente necessário de replicação de dados.
|
Se a máquina de desenvolvimento/dev (VPS 4) for comprometida por um script malicioso, o atacante não pode ter permissão para escaneá-la ou conectar-se ao banco de dados de produção (VPS 3), exceto para o fluxo estritamente necessário de replicação de dados.
|
||||||
|
|
||||||
* **Regras de Isolamento Lateral (Exemplo no Firewall da VPS 3)**:
|
* **Regras de Isolamento Lateral (Exemplo no Firewall da VPS 3)**:
|
||||||
```text
|
```text
|
||||||
# Bloquear por padrão toda conexão vinda da VPN exceto as estritamente autorizadas:
|
# Bloquear por padrão toda conexão vinda da VPN exceto as estritamente autorizadas:
|
||||||
- Permitir VPS 1 (Produção) -> Porta 5432 (PostgreSQL) [ACEITAR]
|
- Permitir VPS 1 (Produção) -> Porta 5432 (PostgreSQL) [ACEITAR]
|
||||||
- Permitir VPS 5 (CRM) -> Porta 5432 (PostgreSQL) [ACEITAR]
|
- Permitir VPS 5 (CRM) -> Porta 5432 (PostgreSQL) [ACEITAR]
|
||||||
- Permitir VPS 4 (Staging) -> Porta 5432 (PostgreSQL - Apenas 'replicator') [ACEITAR]
|
- Permitir VPS 4 (Dev) -> Porta 5432 (PostgreSQL - Apenas 'replicator') [ACEITAR]
|
||||||
- Permitir VPS 4 (Staging) -> VPS 3 (Produção - Outras portas / serviços) [BLOQUEAR]
|
- Permitir VPS 4 (Dev) -> VPS 3 (Produção - Outras portas / serviços) [BLOQUEAR]
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
+1
-1
Submodule instrucoes_gerais updated: 5398006ec8...e93f0edbe9
+1
-1
Submodule mercado.clube67.com updated: 7fbc5a66e8...78d2a4b00e
Submodule newwhats.clube67.com/newwhats.local.wiki updated: a9b573e022...94ff0fde2b
+1
-1
Submodule scoreodonto.com updated: 92a0ec3917...0824810c4d
Reference in New Issue
Block a user