Librería de seguridad para monitoreo y protección de endpoints en aplicaciones Python
Project description
🔒 Seguridad Nacional - Librería de Seguridad
Protección automatizada de endpoints para aplicaciones Python
Una librería Python diseñada para proteger aplicaciones web salvadoreñas contra ciberataques masivos. Con más de 600,000 ciberataques registrados en El Salvador durante 2024, esta herramienta proporciona monitoreo continuo, detección de vulnerabilidades y bloqueo automático de amenazas.
🎯 Problema que Resuelve
El Salvador enfrenta:
- 600,000+ ciberataques en 2024 (Constella Intelligence, Mayo 2024)
- Solo ~300 profesionales certificados en ciberseguridad
- Brechas masivas de datos (5M ciudadanos, PGR, Movistar)
- Incapacidad de defender infraestructura crítica y datos personales
✨ Características
🔍 Monitoreo Continuo
- Monitoreo automático de todos los endpoints
- Análisis en tiempo real de requests y parámetros
- Detección de patrones sospechosos e inusuales
🛡️ Protección contra Ataques Comunes
- SQL Injection: Detección y bloqueo automático
- XSS (Cross-Site Scripting): Validación y sanitización
- Ataques por IP: Identificación de comportamientos anómalos
- Robo de datos: Detección de intentos de extracción masiva
🚫 Bloqueo Automático
- Bloqueo automático de IPs maliciosas
- Corte de conexiones sospechosas
- Reglas configurables de seguridad por severidad
📊 Dashboard de Visualización
- Mapa mundial de ataques (heatmap por IP/país)
- Endpoints más vulnerables
- Tipos de vulnerabilidades más frecuentes
- Estadísticas en tiempo real
- Historial de ataques con filtros
🚀 Instalación
pip install seguridad-nacional
💻 Uso Básico
FastAPI
from fastapi import FastAPI
import seguridad_nacional as sn
app = FastAPI()
# Proteger la aplicación (automático)
sn.monitor(app)
@app.get("/api/users")
async def get_users():
return {"users": []}
Flask
from flask import Flask
import seguridad_nacional as sn
app = Flask(__name__)
# Proteger la aplicación (automático)
sn.monitor(app)
@app.route("/api/users")
def get_users():
return {"users": []}
Django
En settings.py:
MIDDLEWARE = [
# ... otros middlewares ...
'seguridad_nacional.middleware.django_middleware.DjangoSecurityMiddleware',
]
O usar la función monitor():
# En tu archivo de configuración
import seguridad_nacional as sn
sn.monitor(framework='django')
Decorador Manual
También puedes usar decoradores manuales (FastAPI/Flask):
@sn.protect
@app.post("/api/data")
async def receive_data(data: dict):
return {"status": "ok"}
Configuración
Crea un archivo .env:
SEGURIDAD_NACIONAL_ENABLED=true
SEGURIDAD_NACIONAL_DB_PATH=./seguridad.db
SEGURIDAD_NACIONAL_DASHBOARD_USER=admin
SEGURIDAD_NACIONAL_DASHBOARD_PASSWORD=admin123
SEGURIDAD_NACIONAL_BLOCK_THRESHOLD=25
O crea un archivo config.yaml:
seguridad:
enabled: true
db_path: ./seguridad.db
block_threshold: 25
dashboard:
user: admin
password: admin123
whitelist:
ips: []
patterns: []
📋 Requisitos
- Python 3.8+
- Soporta múltiples frameworks:
- ✅ FastAPI (completamente implementado)
- ✅ Flask (completamente implementado)
- ✅ Django (completamente implementado)
🏗️ Arquitectura
seguridad_nacional/
├── core/ # Núcleo de la librería
├── detectors/ # Detectores de vulnerabilidades
├── middleware/ # Middlewares para frameworks
├── dashboard/ # API y frontend del dashboard
├── storage/ # Persistencia (SQLite)
├── utils/ # Utilidades (geolocalización, etc.)
└── config/ # Configuración
📈 Roadmap
- Detección básica de SQL Injection
- Detección de XSS
- Bloqueo automático de IPs
- Dashboard completo
- Integración con normativas salvadoreñas
- Machine Learning para detección avanzada
📄 Licencia
MIT License
🤝 Contribuciones
Este proyecto es parte de un hackathon de Seguridad Nacional Inteligente auspiciado por Key Institute (El Salvador).
📞 Contacto
Para reportar vulnerabilidades o sugerencias, por favor abra un issue.
Desarrollado para fortalecer la ciberseguridad en El Salvador 🇸🇻
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seguridad_nacional-0.1.0.tar.gz.
File metadata
- Download URL: seguridad_nacional-0.1.0.tar.gz
- Upload date:
- Size: 39.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19bec8ae42039a13e31ffc67a42fac0f750eb4c7817a04d5b7b0cee17575bc9b
|
|
| MD5 |
5eef59ca4b6a0014b8257b1a474d31b3
|
|
| BLAKE2b-256 |
0e77dddb4d2859e9feff164fbf7ef61c62dd7c70442f4a502dfe7d51349c4d6d
|
File details
Details for the file seguridad_nacional-0.1.0-py3-none-any.whl.
File metadata
- Download URL: seguridad_nacional-0.1.0-py3-none-any.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9093652335fefe9dc06b0541f50fa6d01767c561d4f74cd2fa55180dd8b4120
|
|
| MD5 |
f7db1db15456be00065b8d17bb61e1cd
|
|
| BLAKE2b-256 |
5be2b7adc5de37f51aa5b1b72cc187dfcf7957968b40a0f025511ba749e82c83
|