CYBERSECURITY • BACKEND • SECURITY ENGINEERING

SentinelOps

Um Mini SIEM desenvolvido para estudar, na prática, coleta de logs, processamento de eventos, APIs REST, detecção de ameaças e armazenamento de eventos de segurança.

$ sentinelops start

[INFO] Log collector started

[INFO] API listening on :8080

[INFO] Redis connection OK

[INFO] PostgreSQL connection OK

[DETECTION] BRUTE_FORCE

[ALERT] security event detected

✓ SentinelOps running

O PROJETO

Aprender Cybersecurity construindo software.

O SentinelOps nasceu como um projeto prático para unir duas áreas que estudo: desenvolvimento backend e Cybersecurity.

A ideia é construir uma pequena plataforma capaz de receber eventos de segurança, processá-los, aplicar regras de detecção e gerar alertas e incidentes.

O projeto também serve como laboratório para estudar arquitetura de APIs, persistência, cache, processamento de logs, testes automatizados e conceitos de Security Engineering.

ARQUITETURA

Dos logs ao evento de segurança.

O SentinelOps trabalha com uma pipeline que transforma logs de infraestrutura em eventos estruturados que podem ser analisados pelo backend.

Apache Logs Fonte dos eventos
→
Python Coleta e conversão
→
Spring Boot API e processamento

Redis Cooldown e estado
+
PostgreSQL Persistência
→
Alertas Detecção e incidentes
TECH STACK

Tecnologias utilizadas.

Java

Linguagem principal do backend e da camada de processamento dos eventos.

Spring Boot

Construção da API REST, serviços, validações, tratamento de exceções e configuração da aplicação.

Python

Coleta, leitura e conversão de logs Apache para eventos estruturados enviados à API.

PostgreSQL

Banco relacional utilizado para persistência dos dados de segurança.

Redis

Utilizado para controle de cooldown de alertas e gerenciamento de estado temporário.

Linux

Ambiente importante para o estudo de logs, infraestrutura, segurança e operação do projeto.

DETECTION ENGINE

Eventos, alertas e incidentes.

O backend recebe eventos estruturados e pode aplicar regras de detecção para identificar comportamentos potencialmente suspeitos.

01

Security Events

Eventos possuem informações como timestamp, endereço IP de origem, método HTTP, caminho, código de status e origem do evento.

02

Brute Force Detection

O projeto possui lógica para identificar eventos relacionados a tentativas de brute force e gerar alertas de segurança.

03

Alert Cooldown

O Redis é utilizado para controlar o intervalo entre alertas semelhantes e evitar geração excessiva de notificações.

04

Incidents

Eventos relacionados podem ser agrupados em incidentes, permitindo organizar ocorrências de segurança.

SECURITY PIPELINE

Como um evento percorre o sistema.

1. Coleta

O cliente Python monitora e processa logs no formato utilizado pelo Apache.

2. Conversão

As informações do log são convertidas para uma estrutura de evento compreensível pela API.

3. Ingestão

O evento é enviado para a API REST desenvolvida com Spring Boot.

4. Validação

O backend valida e normaliza os dados recebidos antes do processamento.

5. Detecção

As regras de segurança analisam o evento e podem identificar comportamentos suspeitos.

6. Persistência

Dados relevantes são armazenados no PostgreSQL, enquanto o Redis auxilia no controle temporário.

REST API

Backend orientado a eventos de segurança.

A API fornece endpoints para receber e consultar informações relacionadas aos eventos e incidentes processados pelo sistema.

POST /api/v1/events Receber evento de segurança
GET /api/v1/events Consultar eventos
GET /api/v1/alerts Consultar alertas
GET /api/v1/incidents Consultar incidentes
APRENDIZADO

Mais do que uma aplicação.

O SentinelOps foi construído como laboratório para transformar conceitos de desenvolvimento e segurança em código.

JAVA

Backend

Serviços, DTOs, validação, exceções, persistência, testes e arquitetura de aplicação.

SECURITY

Cybersecurity

Logs, eventos, detecção de brute force, alertas, incidentes e conceitos de monitoramento.

INFRA

Linux

Estudo de logs e conceitos relacionados à operação e monitoramento de sistemas.

ENGINEERING

Software Engineering

Organização de código, testes automatizados, separação de responsabilidades e evolução incremental.

OPEN SOURCE / PORTFÓLIO

Veja o código do projeto.

O desenvolvimento do SentinelOps está disponível no GitHub, incluindo sua evolução e implementação.

GitHub →