firewall-wizard

Firewall Wizard

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.

Sobre o Projeto

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.

Características Principais

Dashboard

Gerenciamento de Firewall

Análise e Monitoramento

Interface

Stack Tecnológico

Frontend

Backend

Banco de Dados

Infraestrutura

Autenticação e Segurança

Estrutura do Projeto

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

Pré-requisitos

Como Executar

Siga os passos abaixo a partir da raiz do projeto (firewall-wizard). Cada comando deve ser executado no terminal, na ordem indicada.

  1. Clone o repositório e entre na pasta do projeto
git clone https://github.com/icaruuuuuu/firewall-wizard.git
cd firewall-wizard
  1. Instale as dependências do projeto
npm install
  1. Suba os serviços necessários via Docker (MySQL)
docker compose up -d
  1. Gere e aplique migrations do Prisma

Aguarde o banco de dados estar pronto antes de executar os comandos abaixo.

cd back/database
npx prisma generate
npx prisma migrate deploy
cd -
  1. Inicie o daemon do firewall (pode exigir permissões de root)
sudo node back/src/fw-daemon.js
  1. Em um novo terminal, inicie o servidor da API (a partir da raiz do projeto)
node back/src/index.js

Observações rápidas:

API Endpoints

A API está disponível em /api com os seguintes endpoints principais:

Autores

Orientador

Prof. Luiz Carlos Rodrigues Chaves

Agradecimentos

Licença

Projeto acadêmico - Direitos reservados.