## Descripción Este proyecto realiza de manera automatizada, la eliminación de trabajos (jobs) dentro de MISP que hayan quedado "colgados" (stuck) durante horas. ### Características: - Funciona de forma local en servidor MISP (requerido) - Soporta todos los tipos de Jobs (pull, push, publish, etc) - Configuración de umbral de tiempo. Se puede definir hasta cuantas horas hacia atras desde la ejecución realize revision de Jobs. Por defecto (24h) ## Componentes - Libreria PyMISP (pymisp): https://pypi.org/project/pymisp/ - Libreria SQLAlchemy ## Descarga 1. Descargar ZIP del repositorio (https://git.csirt.gob.cl/public/misp-jobfixer/archive/main.zip) 2. Al descomprimir el archivo, mover carpeta "misp-jobfixer" dentro de carpeta "home" de usuario u otra ubicación definida. ## Configuración inicial 1. En el archivo config.py se debe definir los parametros según caso: ``` python DB_DATA = { "user":"root", "pass":"", "host":"localhost", "port":3306, "dbname":"misp" } CHECK_JOBS = { "hours_limit": 24 } ``` En config.py podemos: - DB_DATA: Se definen valores de conexión a BD de MISP. Por defecto solo se necesita agregar pass de DB (En archivo de log de instalación de MISP se encuentra pass de DB) - CHECK_JOBS: En "hours_limit" se define el umbral máximo de tiempo que tiene la app para buscar jobs (Por defecto: 24 hrs) ## Instalación en entorno virtual Una vez configurado "config.py" procedemos con la instalación 1. Se crea entorno virtual de Python ``` shell cd ./misp-jobfixer python3 -m venv venv ``` 2. Se activa entorno virtual: ``` shell source venv/bin/activate ``` 3. Instalar librerias de Python: ``` shell pip install -r requirements.txt ``` ## Agengar Preparamos el archivo "run.sh" ajustando las rutas en "source" y "cd" para la ejecución correcta del archivo: ```shell #!/bin/bash # Activate source /home/user/misp-jobfixer/venv/bin/activate # Enter folder cd /home/user/misp-jobfixer/ # Llamar al script Python python main.py # Deactivate deactivate ``` Debemos crear en crontab una entrada con la ejecución programada, por ejemplo para que realice la revisión cada dia a las 00:00 (recomendado) : ``` shell @daily bash ./misp-jobfixer/run.sh ```