Repositório do projeto de Iniciação Científica (IC) do IFMG - Campus Formiga. Este projeto consiste em uma aplicação web desenvolvida para aprimorar e automatizar o processo de auditoria de conformidade com os benchmarks do Center for Internet Security (CIS), facilitando a análise de dados e a geração de relatórios visuais.
| Tela de Login e Autenticação | Dashboard Principal Após Upload |
|---|---|
![]() | ![]() |
| Visualização de Gráficos | Relatório de Aderência por Controle |
![]() | ![]() |
A auditoria de conformidade com frameworks de segurança como o CIS Controls é um processo complexo e, muitas vezes, manual. Esta ferramenta web foi criada para otimizar essa tarefa, permitindo que os usuários façam o upload de planilhas de auditoria (frameworks) e, a partir desses dados, o sistema automaticamente processa, armazena e gera visualizações gráficas interativas.
A aplicação oferece um dashboard completo com gráficos de velocímetro para medir o percentual de conformidade, gráficos de barras para analisar a aderência por controle e por tipo de ativo, além de permitir o download dos dados processados, agilizando a criação de relatórios e a tomada de decisões estratégicas de segurança.
- Autenticação Segura: Sistema de login e registro de usuários, com suporte para autenticação via Google OAuth2.
- Recuperação de Senha: Fluxo completo para redefinição de senha via e-mail.
- Upload de Frameworks: Envio de planilhas Excel (
.xlsx) contendo os dados de auditoria do CIS. - Visualização de Dados: Dashboard interativo com múltiplos gráficos gerados pela biblioteca Plotly.
- Gráfico de velocímetro para percentual geral de conformidade.
- Gráfico de aderência por tipo de ativo (Dispositivos, Dados, Rede, etc.).
- Gráfico de barras detalhado comparando a aderência vs. a meta para cada um dos controles do CIS.
- Manipulação de Tabelas: Salve o progresso da auditoria temporariamente ou envie a versão final.
- Exportação de Relatórios: Exporte os gráficos gerados como imagens
.pngou documentos.pdf. - Download de Dados: Baixe a planilha de um usuário específico em uma determinada data.
- Sistema de Logs: Registro de ações importantes dos usuários, como login, logout e upload de arquivos.
- Backend: Python com Django Framework
- Frontend: HTML, CSS, JavaScript e Bootstrap
- Banco de Dados: MySQL
- Manipulação de Dados: Pandas e OpenPyXL
- Visualização de Dados: Plotly
- Autenticação Social: Django Allauth
Siga estas instruções para configurar e executar o projeto em um ambiente de desenvolvimento.
-
Clone o repositório:
git clone https://github.com/KauanEdS/IC.git
-
Navegue até a pasta do projeto:
cd IC -
Crie e ative um ambiente virtual:
# Instalar virtualenv (se ainda não tiver) pip install virtualenv # Criar o ambiente python -m venv venv # Ativar o ambiente (Windows) venv\Scripts\activate
-
Configure as variáveis de ambiente:
- Crie um arquivo
.envna pastamysite, baseado no arquivoexemplo.env. - Preencha todas as variáveis necessárias, como as credenciais do banco de dados, a
SECRET_KEYdo Django e as chaves da API do Google.
- Crie um arquivo
-
Instale as dependências do projeto:
cd mysite pip install -r requirements.txt -
Configure o banco de dados:
- Primeiro, crie o banco de dados no seu servidor MySQL com o nome que você definiu no
.env. - Depois, aplique as migrações do Django:
python manage.py makemigrations python manage.py migrate
- Primeiro, crie o banco de dados no seu servidor MySQL com o nome que você definiu no
-
Configure a autenticação social: Execute o script para registrar o provedor do Google no banco de dados.
python create_social_account.py
-
Inicie o servidor de desenvolvimento:
python manage.py runserver
O projeto estará rodando em http://127.0.0.1:8000/.
Este projeto foi desenvolvido como parte de uma Iniciação Científica no IFMG - Campus Formiga.
| Nome | GitHub |
|---|---|
| Kauan Eduardo da Silveira | KauanEdS |
| Lucas Gontijo Rodrigues | lucasgontijo13 |
Este projeto está sob a licença MIT.



