chore(ops): cleanly purge old clube67 folder references
continuous-integration/webhook Falha no deploy de clube67_newwhats.local (VPS 4)

This commit is contained in:
VPS 4 Deploy Agent
2026-05-18 03:27:37 +02:00
parent 0dc5eefa06
commit 52f73753e7
387 changed files with 0 additions and 234641 deletions
@@ -1,121 +0,0 @@
# 📅 Guia de Implementação: Alertas de SSH no Google Calendar & Telegram
Este guia fornece o instalador automatizado, scripts de configuração dinâmica e documentação técnica para implantar o sistema de monitoramento, auditoria de logins e alertas em tempo real em qualquer servidor da sua rede (ex: VPS 4, VPS 1, etc.).
---
## 🏗️ Como o Sistema Funciona
Para garantir que **100% de todos os acessos** sejam auditados (incluindo acessos de túneis de portas `-N`, SFTP, conexões VS Code e logins interativos) de forma robusta e assíncrona, o sistema é dividido em dois módulos integrados:
```text
[Login SSH Concluído]
├─► [Gatilho do PAM: /etc/pam.d/sshd] (Intercepta todas as sessões: túneis, VS Code, shell, etc.)
│ │
│ └─► [Executa em Background: /usr/local/bin/ssh_pam_trigger.sh]
│ │
│ └─► [Chama: /usr/local/bin/ssh_gcal_alert.py]
│ │
│ ├─► [Busca GeoIP & ISP] (Cidade, Estado, País e Operadora)
│ │
│ ├─► [Rate-Limiting / Debounce] (Evita enchentes de alertas em curto tempo)
│ │
│ ├─► [Local Syslog] (Salva logs localmente em caso de falha de rede)
│ │
│ ├─► [Telegram Push] ──► Mensagem instantânea no Celular
│ │
│ └─► [Google Calendar API] ──► Registra Bloco Visual na Agenda
└─► [Sourced: /etc/profile.d/ssh_alert.sh] (Apenas em shells de login interativos)
└─► Exibe Banner de Auditoria Amarelo no Terminal do Usuário
```
---
## ⚡ Método Rápido (Recomendado - Instalação em 10 segundos)
Se você já possui o repositório de instruções em seu servidor, a instalação é totalmente automatizada através do script `install.sh`.
### Passo 1: Executar o Instalador Automático
Acesse a pasta de instruções e execute o instalador como `root` especificando o IP/Prefixo desta nova VPS (ex: `10.99.0.4`):
```bash
sudo ./install.sh --vps "10.99.0.X"
```
*(O script irá baixar e configurar todas as dependências, permissões, scripts integradores, PAM e o banner visual do terminal automaticamente).*
### Passo 2: Vincular o seu Chat do Telegram ao Bot
Para receber as notificações instantâneas no seu celular através do bot `@AcessosVPSbot`, execute o assistente de emparelhamento automático:
```bash
sudo /usr/local/bin/ssh_alert_setup_telegram.py
```
1. Abra o Telegram no seu celular.
2. Pesquise por **`@AcessosVPSbot`** (ou acesse [t.me/AcessosVPSbot](https://t.me/AcessosVPSbot)) e clique em **"Começar"** ou envie `/start`.
3. O terminal detectará instantaneamente a sua mensagem, capturará o seu Chat ID, atualizará a configuração do servidor e enviará uma confirmação no seu chat!
---
## 🛠️ Detalhamento Técnico e Estrutura de Arquivos
Caso queira entender a estrutura ou realizar alterações manuais, o ecossistema é formado pelos seguintes componentes:
### 1. Arquivo de Configuração Centralizada (`/etc/ssh/ssh_alerts_config.json`)
Guarda as chaves e credenciais de forma segura, com permissões restritas apenas para leitura (`chmod 640` para `root:deploy`).
```json
{
"telegram_token": "8641435108:AAGL3rOiVj1GpYAyUi4D-pdeDJ9K_JUdlgM",
"telegram_chat_id": "SEU_CHAT_ID_CAPTURADO_AQUI",
"calendar_id": "385857c79ef3aed0f4923b29007637a8b7764d6f8359959500bce27611833f5d@group.calendar.google.com"
}
```
### 2. Script de Integração e Decisão (`/usr/local/bin/ssh_gcal_alert.py`)
Escrito em Python 3, realiza a chamada da API do Google Calendar e do Telegram, com tratamento de erros integrado no `syslog` local, controle de frequência (Rate-Limiting de 120s para o mesmo usuário/IP) e enriquecimento de GeoIP/ISP.
### 3. Script de Gatilho do PAM (`/usr/local/bin/ssh_pam_trigger.sh`)
Intercepta no nível de kernel/autenticação cada abertura de sessão SSH e envia os dados para o script Python em segundo plano.
```bash
#!/bin/bash
if [ "$PAM_TYPE" = "open_session" ] && [ "$PAM_SERVICE" = "sshd" ]; then
USER_LOGIN="$PAM_USER"
IP_LOGIN="$PAM_RHOST"
DATE_LOGIN=$(date "+%Y-%m-%d %H:%M:%S")
if [ -z "$IP_LOGIN" ]; then
IP_LOGIN="127.0.0.1"
fi
if [[ ! "$IP_LOGIN" =~ ^10\.99\.0\. ]]; then
AVISO_INDEVIDO="🚨 ALERTA: Acesso fora da rede VPN segura detectado!"
else
AVISO_INDEVIDO="✅ Acesso autorizado através da rede VPN segura."
fi
/usr/local/bin/ssh_gcal_alert.py --vps "10.99.0.X" --user "$USER_LOGIN" --ip "$IP_LOGIN" --status "$AVISO_INDEVIDO" > /dev/null 2>&1 &
fi
```
### 4. Configuração do PAM (`/etc/pam.d/sshd`)
Garante que o gatilho acima seja executado. É adicionada a seguinte linha ao final do arquivo:
```text
session optional pam_exec.so type=open_session /usr/local/bin/ssh_pam_trigger.sh
```
### 5. Banner de Terminal (`/etc/profile.d/ssh_alert.sh`)
Exibe o banner amarelo chamativo de auditoria apenas para usuários conectando de forma convencional via shell de terminal interativo.
---
## 🧪 Como Testar
Para certificar-se de que tudo está rodando adequadamente e simular o disparo direto do PAM com busca de GeoIP externa:
```bash
sudo PAM_TYPE=open_session PAM_SERVICE=sshd PAM_USER=deploy PAM_RHOST=8.8.8.8 /usr/local/bin/ssh_pam_trigger.sh
```
O evento correspondente deverá aparecer na sua agenda imediatamente (em vermelho intenso indicando fora da VPN), e uma mensagem push de alerta chegará instantaneamente no seu Telegram!