Skip to content

Sistema de escaneo de vulnerabilidades on-premise con múltiples engines (Nmap, OpenVAS, ZAP, Nuclei)

License

Notifications You must be signed in to change notification settings

ramjavii/nestsecure

🔒 NESTSECURE - Sistema de Escaneo de Vulnerabilidades

Python FastAPI React Docker Tests License: MIT PRs Welcome

Sistema completo de escaneo de vulnerabilidades on-premise para despliegue en Intel NUC. Detecta vulnerabilidades en redes corporativas usando múltiples engines de escaneo (Nmap, OpenVAS, OWASP ZAP, Nuclei) con correlación automática de CVEs y generación de reportes.

🎯 Características Principales

  • Escaneo Multi-Engine: Nmap, OpenVAS, OWASP ZAP, Nuclei
  • Correlación CVE Automática: Integración con NVD API
  • Dashboard Interactivo: React + TypeScript con visualizaciones
  • Reportes Automáticos: PDF, HTML, Excel con branding personalizable
  • Sistema de Alertas: Email, Slack, Webhooks
  • 100% On-Premise: Data never leaves your network
  • Deployment Rápido: Docker Compose, listo en <30 minutos

🛠️ Stack Tecnológico

Backend:

  • Python 3.11+ con FastAPI
  • PostgreSQL 15 + TimescaleDB
  • Celery + Redis (task queue)
  • SQLAlchemy (ORM)

Frontend:

  • React 18 + TypeScript
  • Tailwind CSS + shadcn/ui
  • TanStack Query
  • Recharts (visualizaciones)

DevOps:

  • Docker + Docker Compose
  • Nginx (reverse proxy)
  • GitHub Actions (CI/CD)

📁 Estructura del Proyecto

nestsecure/
├── backend/         # API REST con FastAPI
├── frontend/        # Aplicación React
├── docker/          # Configuraciones Docker
├── docs/            # Documentación
├── scripts/         # Scripts de utilidad
└── docker-compose.yml

🚀 Quick Start

Requisitos

  • Docker 24.0+
  • Docker Compose 2.23+
  • Intel NUC (mínimo i5, 16GB RAM) o servidor Linux

Instalación

# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/nestsecure.git
cd nestsecure

# 2. Configurar variables de entorno
cp .env.example .env
# Editar .env con tus configuraciones

# 3. Iniciar servicios
make docker-up

# 4. Ejecutar migraciones (ya incluidas en docker-up)
# Se ejecutan automáticamente al iniciar

# 5. Crear usuario demo
docker exec nestsecure_backend_dev python3 /app/scripts/create_demo.py
# Credenciales: demo@nestsecure.com / Demo123!

# 6. Probar autenticación
./backend/scripts/test_auth_manual.sh

Accede a:

  • API: http://localhost:8000
  • Docs: http://localhost:8000/docs
  • Frontend: https://localhost (próximamente)

📖 Documentación

Desarrollo

Técnica

🔄 Desarrollo

Backend

cd backend
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev

🧪 Testing

# Backend - Todos los tests (259)
cd backend
pytest -v

# Backend - Tests específicos
pytest app/tests/test_api/test_auth.py -v
pytest app/tests/test_api/test_assets.py -v
pytest app/tests/test_api/test_vulnerabilities.py -v
pytest app/tests/test_api/test_scans.py -v
pytest app/tests/test_api/test_cve.py -v
pytest app/tests/test_workers/test_nmap_worker.py -v

# Testing manual de API
./backend/scripts/test_auth_manual.sh

# Frontend (próximamente)
cd frontend
npm test

📊 Roadmap

  • Fase 1: Backend Core + Autenticación ✅ COMPLETADA
    • FastAPI con Docker
    • PostgreSQL + SQLAlchemy async
    • JWT authentication
    • Users & Organizations CRUD
    • Assets & Services CRUD
    • Vulnerabilities & Scans CRUD
    • CVE Integration (NVD API)
    • Dashboard Stats API
    • Integración API ↔ Celery Workers
    • 259 tests pasando
  • Fase 2: Motor de escaneo 🟡 EN PROGRESO
    • Nmap Worker implementado
    • Integración Nmap-API ✅
    • OpenVAS Integration
    • Celery workers activos en producción
  • Fase 3: Frontend Dashboard
    • Login & Layout
    • Dashboard con métricas
    • Gestión de Assets
    • Vista de Vulnerabilidades
  • Fase 4: Reportes y Alertas
    • Generación PDF/HTML
    • Email notifications
    • Webhooks
  • Fase 5: Integración ZAP y Nuclei
  • Fase 6: Compliance templates (PCI-DSS, ISO 27001)
  • Fase 7: API pública para integraciones
  • Fase 8: Agent-based scanning

🤝 Contribución

¡Las contribuciones son bienvenidas! Este es un proyecto open source y cualquier ayuda es apreciada.

Cómo Contribuir

  1. Fork el proyecto
  2. Crea tu Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'feat: Add some AmazingFeature')
  4. Push al Branch (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

Lee nuestra Guía de Contribución para más detalles.

Reportar Bugs

Si encuentras un bug, por favor abre un Issue con:

  • Descripción clara del problema
  • Pasos para reproducirlo
  • Comportamiento esperado vs actual
  • Tu entorno (OS, Python version, Docker version)

📝 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.

👥 Autor

Fabián Ramos - @ramjavii

🙏 Agradecimientos

  • A todos los contribuidores que ayudan a mejorar este proyecto
  • Comunidad open source de herramientas de seguridad

Nota: Este sistema debe ser usado únicamente con autorización explícita para escanear las redes objetivo. El uso no autorizado puede ser ilegal.

About

Sistema de escaneo de vulnerabilidades on-premise con múltiples engines (Nmap, OpenVAS, ZAP, Nuclei)

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published