Uma plataforma web completa para gerenciamento centralizado de firewalls baseados em nftables. Oferece dashboard em tempo real, visualização de configurações de firewall e análise avançada de logs com suporte a busca por expressões regulares.
O Firewall Wizard é uma aplicação web moderna desenvolvida para simplificar a administração de firewalls em ambientes Linux. Fornece uma interface intuitiva para gerenciar tables, chains e rules do nftables, além de monitorar logs e status em tempo real.
A plataforma foi desenvolvida como projeto acadêmico de Desenvolvimento Web, com foco em usabilidade e funcionalidade para administradores de sistemas.
firewall-wizard/
├── back/ # Backend (Node.js)
│ ├── src/
│ │ ├── index.js # Entrada principal
│ │ ├── fw-daemon.js # Daemon do firewall
│ │ ├── lib/ # Utilidades
│ │ ├── middlewares/ # Middlewares Express
│ │ ├── models/ # Modelos de dados
│ │ └── routes/ # Rotas da API
│ └── database/
│ ├── db.js # Configuração do BD
│ ├── seeders.js # Seeders
│ └── prisma/
│ ├── schema.prisma # Schema Prisma
│ └── migrations/ # Migrações
├── front/ # Frontend
│ └── public/
│ ├── index.html # Página principal
│ ├── login.html # Página de login
│ ├── signup.html # Página de registro
│ ├── assets/ # CSS e imagens
│ ├── js/ # JavaScript
│ └── pages/ # Componentes HTML
├── docker-compose.yml # Orquestração
└── package.json # Dependências
Siga os passos abaixo a partir da raiz do projeto (firewall-wizard). Cada comando deve ser executado no terminal, na ordem indicada.
git clone https://github.com/icaruuuuuu/firewall-wizard.git
cd firewall-wizard
npm install
docker compose up -d
Aguarde o banco de dados estar pronto antes de executar os comandos abaixo.
cd back/database
npx prisma generate
npx prisma migrate deploy
cd -
sudo node back/src/fw-daemon.js
node back/src/index.js
Observações rápidas:
docker compose logs caso as migrations falhem.fw-daemon.js interage com o sistema (nftables) e pode requerer permissões elevadas.docker compose novamente se alterar configurações do banco.A API está disponível em /api com os seguintes endpoints principais:
/api/dashboard - Dashboard/api/tables - Gerenciamento de tabelas/api/chains - Gerenciamento de chains/api/rules - Gerenciamento de regras/api/logs - Visualização de logs/api/auth - Autenticação (login/signup)/api/users - Gerenciamento de usuários/api/submit - Aplicar mudanças no arquivo de configuração nftables.Prof. Luiz Carlos Rodrigues Chaves
Projeto acadêmico - Direitos reservados.