Repositorio onde Ficará todos os arquivos de configuraçao do nosso proxy com atualização automatica aqui assim que for mudado qualquer coisa nele.
Go to file
João Pedro cd1a164114 feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL
Major infrastructure upgrade implementing:
1. Architecture
   - Containerized NGINX with custom Alpine build (Brotli + Headers More)
   - ModSecurity WAF (OWASP CRS) as a sidecar/frontend service
   - Fail2ban service monitoring logs for bot/attack mitigation

2. SSL Automation
   - Integrated Certbot with custom daily validation scripts
   - Automatic 3-day expiry detection and renewal
   - Smart ACME challenge injection for all sites

3. Configuration
   - Migrated 28 site configs to modular structure (conf.d/)
   - Created reusable snippets (Rate Limiting, Security Maps, Caching)
   - Fixed deprecated HTTP/2 syntax and ModSecurity directives

4. Documentation
   - Added GEMINI.md with full architectural overview
   - Cleanup of legacy files
2026-01-22 13:14:18 -03:00
.gemini feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
conf.d feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
fail2ban feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
legacy feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
scripts feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
snippets feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
ssl [Auto-Sync] Atualização das configurações em srvproxy001.itguys.com.br - 2025-09-17 10:25:40 2025-09-17 10:25:40 -03:00
.dockerignore feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
.gitignore feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
Dockerfile feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
README.md Atualizar README.md 2025-09-16 21:46:25 +00:00
deploy.sh feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
docker-compose.yml feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
log_debug.txt feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00
nginx.conf feat(infra): Full migration to containerized NGINX with WAF and Auto-SSL 2026-01-22 13:14:18 -03:00

README.md

Serviço de Sincronização de Configurações - Proxy-Sinc

Este repositório contém as configurações e os scripts de automação para o serviço proxy-sinc, desenhado para automatizar o controlo de versões de ficheiros de configuração de servidores Linux para um repositório Git (Gitea).

O objetivo é criar um sistema robusto, auto-documentado e fácil de gerir para o backup e o histórico de alterações de configurações críticas como as do Nginx e do Fail2ban.

Funcionalidades Principais Implementadas pelo Instalador

Gestão de Dependências

  • Verifica e instala automaticamente as dependências necessárias (git, rsync) usando apt.

Configuração Interativa e Segura

  • Pede ao utilizador a URL do repositório, o nome de utilizador do Gitea e um Token de Acesso (que fica oculto durante a digitação) para a autenticação.

  • A URL do repositório é reconfigurada para incluir as credenciais, permitindo que as operações git futuras (como o git push) sejam executadas de forma não-interativa.

Identidade de Commit Automática

  • O nome do autor dos commits é automaticamente definido como o hostname completo do servidor (ex: srvproxy001.itguys.com.br).

  • O email do autor é gerado automaticamente a partir do hostname (ex: srvproxy001@itguys.com.br).

Gestão Inteligente de SSL

  • O script testa automaticamente a conexão com o Gitea. Se detetar um problema de certificado SSL (comum em ambientes internos), ele configura o repositório local para ignorar a verificação SSL, garantindo que a sincronização funcione.

Registo de Deploy

  • Na primeira instalação num novo servidor, o script cria um ficheiro de registo (_deployment_logs/hostname.md) no repositório, documentando quem (utilizador do Gitea) instalou o serviço e quando, criando uma trilha de auditoria.

Instalação como Serviço systemd

  • Gera e instala um serviço systemd (proxy-sinc.service) e um timer (proxy-sinc.timer).

  • Esta abordagem é superior ao cron pois integra-se perfeitamente com o sistema de logs journald, permitindo uma gestão fácil com systemctl status, start, stop, etc.

  • O timer está configurado para executar o script de sincronização a cada minuto.

Sincronização Dinâmica de Ficheiros

  • O script principal de sincronização (commit_configs.sh) agora lê os caminhos a serem versionados a partir de um ficheiro de configuração central (/etc/proxy-sinc/paths.conf).

  • Isto permite que os administradores adicionem ou removam ficheiros e pastas para sincronização no futuro, simplesmente editando este ficheiro de texto, sem precisar de alterar o script.

Auto-Versionamento

  • O script commit_configs.sh foi desenhado para se incluir a si mesmo e a todos os seus ficheiros de configuração e de serviço (.service, .timer, man page, paths.conf) no repositório Git. Desta forma, qualquer alteração na própria automação também é versionada.

Funcionalidade de Auto-Atualização

  • Instala um novo comando no sistema, proxy-sinc-update.

  • Quando executado, este comando baixa a versão mais recente do setup.sh a partir de uma URL pré-definida no repositório Gitea e executa-a, permitindo uma atualização fácil e centralizada de toda a automação.

Documentação Integrada (man page)

  • Gera e instala uma página de manual (man proxy-sinc) no sistema.

  • O manual explica o que o serviço faz, como o gerir, como o atualizar e, o mais importante, como adicionar novos caminhos de ficheiros para serem sincronizados, tornando a ferramenta fácil de usar para qualquer membro da equipa no futuro.