Firewall/UTM open appliance para Ubuntu 24.04 — painel web completo, IDS, WAF, VPNs, filtro de conteúdo, SIEM e assistente de IA, com instalação desatendida via ISO e menu de console de recuperação estilo pfSense.
Mundix Security 360 — Projeto de Lucieliton Mundim · +55 62 98438-4774 Licença: uso não comercial livre e comercial gratuito em appliances com até 50 usuários cada — leia LICENSE. É proibido remover os créditos do autor.
⚠️ Estado do projeto: FASE INICIAL. O Mundix Security 360 está em desenvolvimento ativo — bugs estão sendo reportados e corrigidos continuamente, e comportamentos podem mudar entre versões. Use com cautela: teste antes de implantar, mantenha backups e avalie o risco antes de colocar em produção crítica. Encontrou um problema? Abra uma issue.
- O que é
- Funcionalidades
- Arquitetura
- Requisitos
- Instalação
- Primeiro acesso
- Ferramentas de operação
- Estrutura do repositório
- Gerando os artefatos (build)
- Notas de segurança
- Licença e créditos
O Mundix Security 360 transforma um computador comum (minipc, servidor ou VM) com Ubuntu 24.04 LTS em um firewall de borda completo, administrado por um painel web moderno e por um menu de console para situações de emergência. Ele nasceu para ser prático: a ISO instala tudo de forma desatendida e, ao final do primeiro boot, o appliance já está roteando, filtrando e com o painel no ar.
Rede e firewall
- Firewall nftables com política restritiva por padrão e eventos de bloqueio visíveis no painel
- Zonas, interfaces, VLANs, rotas e aliases gerenciados pela UI (netplan por baixo)
- Multi-WAN com failover e PPPoE (discagem, status do link e IP negociado)
- DNS + DHCP (dnsmasq) com leases, reservas e resolvedor local
- Gestão de acesso remoto SSH com liberação integrada ao firewall
Segurança
- IDS Suricata (af-packet) com atualização automática de regras (timer)
- WAF Nginx + ModSecurity (OWASP CRS)
- Filtro de conteúdo por DNS (categorias, curingas, proteção contra DoH/DoT)
- SIEM próprio: ingestão de eventos em ClickHouse, triagem automática (timer) e resposta ativa (bloqueio de IPs)
- Threat intelligence e consulta de ameaças
VPN
- WireGuard server (road-warrior e site-to-site, com QR code)
- OpenVPN server com PKI por cliente,
.ovpnsob demanda e CCD por cliente - Cliente OpenVPN (importa
.ovpne disca) e cliente Fortinet SSL-VPN (openfortivpn)
Gestão
- Painel web (React + FastAPI) com visão geral, KPIs, logs e configuração completa
- Assistente de IA integrado (OpenRouter, opcional) com ferramentas de operação e geração de código assistida
- Backup e restore completos pela UI e por CLI (
mundix-restore.sh) - Menu de console estilo pfSense (
mundix-menu) para recuperação quando a web não responde - Atualização empacotada: pacote
.debe repositório APT assinado (GPG)
| Camada | Componentes |
|---|---|
| Base | Ubuntu Server 24.04 LTS, systemd, netplan |
| Firewall | nftables (inet filter, drop por padrão) |
| Serviços de rede | dnsmasq (DNS/DHCP), Suricata (IDS) |
| Borda web | Nginx (proxy reverso + TLS) + ModSecurity CRS |
| Painel | Frontend React (Refine/AntD) · Backend FastAPI (venv em /opt/venv) |
| Dados/SIEM | ClickHouse (localhost), Valkey (cache/filas) |
| IA | Agente próprio com ferramentas, via OpenRouter (chave opcional) |
Código em /opt/mundix360, configurações de estado em /etc/mundix e
/var/lib/mundix. As units systemd do projeto ficam em installer/units/.
- CPU x86_64 — o ClickHouse atual exige AVX (verifique com
grep -o avx /proc/cpuinfo); em CPU sem AVX o instalador pina automaticamente o ClickHouse na série legada 22.3 (SIEM em versão legada) - 2+ interfaces de rede (WAN + LAN); mais NICs permitem DMZ/WAN2
- 4 GB RAM mínimo (8 GB recomendado), 20 GB de disco
- Ubuntu Server 24.04 LTS (a ISO já inclui a base)
- Grave
installer/dist/mundix-appliance-<versão>-amd64.isonum pendrive (dd, Rufus, Ventoy...) e dê boot no hardware de destino. - A instalação é 100% desatendida e APAGA O DISCO: particiona, instala o Ubuntu e agenda o setup do Mundix para o primeiro boot.
- No primeiro boot, o serviço
mundix-firstinstallinstala o appliance offline a partir do bundle embarcado (log em/var/log/mundix-firstinstall.log).
tar -xf mundix-appliance-<versão>.tar.zst -C /opt/
cd /opt/mundix-appliance/installer
sudo ./install.sh --offlineO bundle carrega todos os .deb necessários — não precisa de internet.
# Pacote único (dependências precisam estar acessíveis):
sudo apt install ./mundix360_<versão>_all.deb
# Ou repo APT autocontido e assinado (installer/dist/repo/):
sudo cp repo/mundix-repo.gpg /usr/share/keyrings/
echo "deb [signed-by=/usr/share/keyrings/mundix-repo.gpg] file:///caminho/para/repo ./" \
| sudo tee /etc/apt/sources.list.d/mundix360.list
sudo apt update && sudo apt install mundix360git clone https://github.com/k0k4/mundix360.git /opt/mundix360
cd /opt/mundix360/installer
sudo ./install.sh --online # baixa os pacotes da internet (requer Ubuntu 24.04 online)
# sem a flag, o padrão é --offline e exige o bundle (.tar.zst) descompactado
# flags úteis: --skip-apt (só reconfigura) | --upgrade | --yes (não interativo)- LAN de gestão:
192.168.1.1/24na primeira NIC detectada, com DHCP ativo (faixa.50–.150). Plugue um notebook e acesse https://192.168.1.1. - Painel: usuário
admin+ senha mestra definida na instalação (no modo desatendido ela é gerada e impressa no log do first-install e no console). - Console/SO: a ISO cria o usuário local
mundixcom senha inicialmundix360, expirada de fábrica — o primeiro login exige definir senha nova. - Depois refine WAN/LAN, PPPoE, VPNs e regras pelo painel.
O appliance tem um canal de atualizações estáveis: um repositório APT
assinado, hospedado em GitHub Pages (https://k0k4.github.io/mundix360-repo),
que publica apenas o pacote mundix360 quando sai uma release nova
(instalação nova continua via ISO/bundle/instalador online). Instalações novas
já nascem com o canal configurado.
- Pelo painel: Sistema → Atualizações → "Verificar atualizações" (verificação manual) e, havendo versão nova, "Atualizar agora".
- Pela CLI:
sudo scripts/ops/mundix-upgrade.sh --check(só verifica) ousudo scripts/ops/mundix-upgrade.sh(aplica; log em/var/log/mundix-upgrade.log). - Máquinas antigas (instaladas antes do canal existir): uma única vez,
sudo scripts/ops/mundix-upgrade.sh --setup-channel.
| Comando | O que faz |
|---|---|
mundix-menu |
Menu de console estilo pfSense: status, rede, senha mestra, logs, restore, energia. Abre sozinho no login root do console local. |
mundix-export start|stop|status |
Sobe/derruba um servidor HTTP temporário (porta 8642) expondo installer/dist/ para download, abrindo e fechando a regra no nftables automaticamente. |
scripts/ops/mundix360-healthcheck.sh |
Verifica serviços, portas e integridade do appliance. |
scripts/ops/mundix-upgrade.sh [--check|--setup-channel] |
Canal de atualizações estáveis: verifica/aplica a versão publicada no repo APT assinado. |
scripts/ops/mundix-restore.sh <backup.tar.gz> |
Restaura backup por CLI (config, estado e, opcionalmente, dados). |
scripts/reset-master-password.sh |
Reseta a senha mestra do painel. |
configs/ Configurações-modelo (dnsmasq, nftables, akvorado, vector...)
dashboard/ Painel web — backend FastAPI (app/) + frontend React (src/)
installer/ Instalador, build de ISO/bundle/.deb/repo APT, units systemd
├── lib/ Fases da instalação (apt, app, python, frontend, config, first-boot)
├── iso/ Autoinstall (cloud-init) + serviço de primeira instalação
├── deb/ Metadados do pacote .deb (control, postinst, prerm, postrm)
└── manifest.env Manifesto: pacotes, units e caminhos (fonte única da verdade)
scripts/ SIEM (ingest/triage), active-response, ops, setup (menu/export)
dashboards/ Dashboards exportáveis (ex.: SIEM)
ARQUITETURA.md Decisões de arquitetura
Todos os builds gravam em installer/dist/:
cd installer
sudo ./build-bundle.sh # bundle offline (.tar.zst com todos os .deb)
sudo ./build-deb.sh # pacote mundix360_<versão>_all.deb
sudo ./build-repo.sh # repositório APT autocontido, assinado via GPG
sudo ./build-repo.sh --light # repo enxuto (só mundix360) — canal de updates
sudo ./build-iso.sh # ISO autoinstall (Ubuntu 24.04 + bundle embarcado)A versão e a lista de pacotes/units vêm de installer/manifest.env.
- A senha inicial do console (
mundix360) expira no primeiro boot — troca obrigatória no 1º login. - Chaves de host SSH e machine-id são regenerados no first-boot; nenhum segredo do ambiente de desenvolvimento vai nos artefatos.
- O painel escuta apenas na LAN de gestão; ClickHouse e Valkey escutam somente em
127.0.0.1. - O firewall aplica drop por padrão na entrada; liberações são explícitas.
- A integração de IA (OpenRouter) é opcional e desativada sem chave em
configs/openrouter.env. - Credenciais locais de serviço (ex.: usuário
akvoradodo ClickHouse) são restritas a localhost; ao expor serviços, troque-as.
Contribuições são bem-vindas! Leia CONTRIBUTING.md antes de abrir issues e pull requests. Na primeira contribuição, o CLA Assistant (bot) pedirá a assinatura do Acordo de Licença de Contribuidor — basta comentar a frase indicada no próprio PR.
Este projeto é source-available sob licença própria — veja LICENSE:
- Uso não comercial: livre e gratuito, sem limite de appliances nem usuários.
- Uso comercial: gratuito em cada appliance que atenda até 50 usuários; appliances com mais de 50 usuários exigem licença comercial — fale com o autor.
- Créditos obrigatórios: é proibido remover ou ocultar a identificação "Mundix Security 360 — Projeto de Lucieliton Mundim · +55 62 98438-4774" do código, da documentação e das interfaces do software.
Componentes de terceiros (Ubuntu, Suricata, Nginx, ClickHouse etc.) seguem suas próprias licenças.
Autor: Lucieliton Mundim · Contato: +55 62 98438-4774 Repositório: https://github.com/k0k4/mundix360