#content
This commit is contained in:
parent
4ea0ed770f
commit
f80b1ec22c
1 changed files with 74 additions and 70 deletions
144
README.md
144
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
Este proyecto permite obtener la cantidad de IoC de calidad entregados por comunidades conectadas dentro de una instancia de MISP. Esto quiere decir IoC que no son falsos positivos.
|
||||
|
||||
Esto se realiza a través de la base de datos que utiliza MISP de forma interna denominada "Warninglist" en contraste con el servicio gratuito de lookup de IP's, dominios y hashes que ofrece Kaspersky Threat Intelligence Portal.
|
||||
Esto se realiza a través de la base de datos que utiliza MISP de forma interna denominada "Warninglist" en contraste con el servicio gratuito de lookup de IP's, dominios y hashes que ofrece Kaspersky© Threat Intelligence Portal.
|
||||
|
||||
Estos datos son accesibles mediante una API REST.
|
||||
|
||||
|
@ -11,10 +11,69 @@ Estos datos son accesibles mediante una API REST.
|
|||
- Conteo de IoC válidos por cada organización conectada (diariamente).
|
||||
- Proceso de curación diario, esto quiere decir eliminar IoC dentro de MISP que sean falsos positivos.
|
||||
|
||||
### Requisitos
|
||||
- Se requiere una cuenta en la plataforma Kaspersky© Threat Intelligence Portal. La cuenta es gratuita. ([https://opentip.kaspersky.com])
|
||||
|
||||
## Componentes
|
||||
|
||||
Este proyecto utiliza un BD local (SQLite en modo WALL) y FastAPI.
|
||||
|
||||
## Configuración inicial
|
||||
|
||||
1. En el archivo config.py se debe definir los datos de conexión a MISP, como también la API KEY asociada a Kaspersky TIP:
|
||||
``` python
|
||||
|
||||
# Config MISP
|
||||
MISP_CONFIG = {
|
||||
"URL": "<URL_MISP>",
|
||||
"AUTHKEY": "<APIKEY_MISP>"
|
||||
}
|
||||
# Seleccioón de WarningLists
|
||||
CONFIG_WL = {
|
||||
"filtros_buscar": ["osint", "google", "1000","microsoft","amazon","cloudflare"],
|
||||
"max_reg": 4000
|
||||
}
|
||||
|
||||
KTIP_CONFIG = {
|
||||
"api_key": "<API KEY>",
|
||||
"url_base": "https://opentip.kaspersky.com/api/v1/search/"
|
||||
}
|
||||
# Tipos de IoC a Omitir en el conteo
|
||||
IOC_TIPOS_OMITIR = [
|
||||
'comment',
|
||||
'text',
|
||||
'other',
|
||||
'datetime',
|
||||
'attachment',
|
||||
'port',
|
||||
'size-in-bytes',
|
||||
'counter',
|
||||
'integer',
|
||||
'cpe',
|
||||
'float',
|
||||
'hex',
|
||||
'phone-number',
|
||||
'boolean',
|
||||
'anonymised',
|
||||
'pgp-public-key',
|
||||
'pgp-private-key'
|
||||
]
|
||||
|
||||
```
|
||||
config.py se divide en :
|
||||
|
||||
- MISP_CONFIG: Configuración asociada a MISP
|
||||
- CONFIG_WL: Configuración asociada a Warninglist a utilizar en app.
|
||||
- KTIP_CONFIG: Configuración de conexión a servicio de Lookup de Kaspersky. Se debe solo configurar "api_key".
|
||||
- IOC_TIPOS_OMITIR: Tipos de Atributos que se omiten en el conteo, generalmente metadata.
|
||||
|
||||
En el archivo run_daily.py se puede configurar por ejemplo, el maximo de ioc a comtemplar por evento en la variable "max_ioc":
|
||||
|
||||
``` python
|
||||
max_ioc = 5000
|
||||
|
||||
```
|
||||
|
||||
## Instalación en entorno virtual
|
||||
|
||||
1. Se crea entorno virtual de Python
|
||||
|
@ -22,8 +81,13 @@ Este proyecto utiliza un BD local (SQLite en modo WALL) y FastAPI.
|
|||
``` shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
3. Inicialmente se requiere cargar los usuarios sync asociados a cada comunidad conectada a MISP (Sync Users entregados en cada caso). Para agregar un usuario se puede usuario el siguiente script:
|
||||
|
||||
3. Se recomienda crear archivo .sh y anexarlo como servicio para que inicie con el sistema operativo:
|
||||
``` shell
|
||||
python add_user.py <usuario@usuario.xx> <alias_organizacion>
|
||||
|
||||
```
|
||||
4. Se recomienda crear archivo .sh y anexarlo como servicio para que inicie con el sistema operativo:
|
||||
``` shell
|
||||
#!/bin/bash
|
||||
|
||||
|
@ -52,7 +116,14 @@ cd /home/user/misptopcontrib/
|
|||
pip3 install -r requirements.txt
|
||||
```
|
||||
|
||||
2. Se recomienda crear archivo .sh (ejemplo start_api.sh) y anexarlo como servicio para que inicie con el sistema operativo:
|
||||
2. Inicialmente se requiere cargar los usuarios sync asociados a cada comunidad conectada a MISP (Sync Users entregados en cada caso). Para agregar un usuario se puede usuario el siguiente script:
|
||||
|
||||
``` shell
|
||||
python add_user.py <usuario@usuario.xx> <alias_organizacion>
|
||||
|
||||
```
|
||||
|
||||
3. Se recomienda crear archivo .sh (ejemplo start_api.sh) y anexarlo como servicio para que inicie con el sistema operativo:
|
||||
|
||||
``` shell
|
||||
#!/bin/bash
|
||||
|
@ -104,73 +175,6 @@ sudo systemctl stop misptopcontrib
|
|||
sudo systemctl restart misptopcontrib
|
||||
|
||||
```
|
||||
|
||||
|
||||
## Configuración inicial
|
||||
|
||||
1. En el archivo config.py se debe definir los datos de conexión a MISP, como también la API KEY asociada a Kaspersky TIP:
|
||||
``` python
|
||||
|
||||
# Config MISP
|
||||
MISP_CONFIG = {
|
||||
"URL": "<URL_MISP>",
|
||||
"AUTHKEY": "<APIKEY_MISP>"
|
||||
}
|
||||
# Seleccioón de WarningLists
|
||||
CONFIG_WL = {
|
||||
"filtros_buscar": ["osint", "google", "1000","microsoft","amazon","cloudflare"],
|
||||
"max_reg": 4000
|
||||
}
|
||||
|
||||
KTIP_CONFIG = {
|
||||
"api_key": "<API KEY>",
|
||||
"url_base": "https://opentip.kaspersky.com/api/v1/search/"
|
||||
}
|
||||
# Tipos de IoC a Omitir en el conteo
|
||||
IOC_TIPOS_OMITIR = [
|
||||
'comment',
|
||||
'text',
|
||||
'other',
|
||||
'datetime',
|
||||
'attachment',
|
||||
'port',
|
||||
'size-in-bytes',
|
||||
'counter',
|
||||
'integer',
|
||||
'cpe',
|
||||
'float',
|
||||
'hex',
|
||||
'phone-number',
|
||||
'boolean',
|
||||
'anonymised',
|
||||
'pgp-public-key',
|
||||
'pgp-private-key'
|
||||
]
|
||||
|
||||
```
|
||||
config.py se divide en :
|
||||
|
||||
- MISP_CONFIG: Configuración asociada a MISP
|
||||
- CONFIG_WL: Configuración asociada a Warninglist a utilizar en app.
|
||||
- KTIP_CONFIG: Configuración de conexión a servicio de Lookup de Kaspersky.
|
||||
- IOC_TIPOS_OMITIR: Tipos de Atributos que se omiten en el conteo, generalmente metadata.
|
||||
|
||||
En el archivo run_daily.py se puede configurar por ejemplo, el maximo de ioc a comtemplar por evento en la variable "max_ioc":
|
||||
|
||||
``` python
|
||||
max_ioc = 5000
|
||||
|
||||
```
|
||||
|
||||
### Usuarios
|
||||
|
||||
Inicialmente se requiere cargar los usuarios sync asociados a cada comunidad conectada a MISP (Sync Users entregados en cada caso). Para agregar un usuario se puede usuario el siguiente script:
|
||||
|
||||
``` shell
|
||||
python add_user.py <usuario@usuario.xx> <alias_organizacion>
|
||||
|
||||
```
|
||||
|
||||
## Ejecución
|
||||
|
||||
El ideal es la recolección diaria de Ioc dentro de MISP. El archivo run_daily.py debe agendarlo de forma diaria para recolectar por dia (dia anterior completo)
|
||||
|
|
Loading…
Add table
Reference in a new issue