
Una herramienta basada en web para ayudar en el trabajo de los analistas de amenazas intuitivos.
Aprendizaje Automático para Análisis Intuitivo de Amenazas
El objetivo del proyecto ManaTI es desarrollar técnicas de aprendizaje automático para ayudar a un analista de amenazas intuitivo a acelerar el descubrimiento de nuevos problemas de seguridad. El aprendizaje automático contribuirá al análisis encontrando nuevas relaciones e inferencias. El proyecto incluirá el desarrollo de una interfaz web para que el analista interactúe con los datos y los resultados del aprendizaje automático.
Este proyecto es parcialmente apoyado por Cisco Systems. Para más información sobre el proyecto, por favor visite la página de Stratosphere Lab

ManaTI es un proyecto Django con base de datos Postgres y funciona en Linux y MacOS. Recomendamos usar un entorno virtualenv para configurarlo. Los pasos de instalación para Linux son:
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
o si no deseas usar SSH, usa HTTPS
git clone https://github.com/stratosphereips/Manati.git; cd Manati
sudo apt-get install virtualenv python-pip python-dev libpq-dev build-essential libssl-dev libffi-dev
virtualenv .vmanati
source .vmanati/bin/activate
sudo apt-get install postgresql-server-dev-all postgresql-9.5 postgresql-client-9.5
cp .env.example .env
cp .env-docker.example .env-docker
OPCIONAL
Puedes modificar la contraseña y el nombre de la base de datos, si lo deseas. Recuerda reflejar los cambios en la configuración de la base de datos Postgres a continuación.
Si quieres ver los trabajos en ejecución o en cola, ve a http://localhost:8000/manati_project/django-rq/
cd path/to/project_directory
git pull origin master
pip install -r requirements/local.txt
./utility/redis_worker.sh
python ./manage.py makemigrations guardian --noinput
python ./manage.py migrate --noinput
python ./manage.py check_external_modules
python ./manage.py runserver
Usando supervisor, gunicorn como servidor con RQ worker (con servidor redis) para manejar las tareas en segundo plano. En el futuro planeamos preparar configuraciones para nginx
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Si tienes docker instalado, quizás sea buena idea instalar la imagen docker de ManaTI. El Dockerfile y los archivos de configuración del servidor están aquí. Esta imagen docker de ManaTI se ejecuta sobre un servidor NGINX y uWSGI. Esta imagen es mantenida por @Piuliss
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Luego, espera de 5 a 10 segundos y ve a http://localhost:8888
Si no quieres perder tiempo instalando ManaTI y tienes docker instalado, puedes simplemente ejecutar docker-compose. Primero clona el repositorio y ve al directorio del proyecto.
cd Manati
cp .env.example .env
cp .env-docker.example .env-docker
docker-compose build
docker-compose run web bash -c "python manage.py makemigrations --noinput; python manage.py migrate; python manage.py check_external_modules"
docker-compose run web bash -c "python manage.py createsuperuser2 --username admin --password Password123 --noinput --email '[email protected]'"
docker-compose up # o 'docker-compose up -d' si no quieres ver los logs en la consola.
Después de esto, solo abre tu navegador en http://localhost:8000/manati_project/manati_ui/new
pg_dump -U manati_db_user -W -F p manati_db > backup.sql # plain text
psql manati_db -f backup.sql -U manati_db_user
La licencia GPLv3 (GPLv3). Consulte el archivo docs/LICENSE para más detalles.
Copyright (c) 2016-2018 Stratosphere Laboratory
pip install -r requirements/local.txt
Puede que tengas algunos problemas de permisos en la carpeta ~/.cache, solo ejecuta el siguiente comando y problema resuelto:
sudo chmod 777 ~/.cache
si despliegas en Amazon AWS EC2 y tienes un error de memoria prueba:
pip install -r requirements/local.txt --no-cache-dir
sudo /etc/init.d/postgresql start
su - postgres
psql
create user manati_db_user with password 'password';
create database manati_db;
grant all privileges on database manati_db to manati_db_user;
alter role manati_db_user createrole createdb;
CTRL-D (para salir del shell de postgres db)
OPCIONAL
Para cambiar la contraseña por defecto del usuario postgres (puedes poner la misma contraseña si quieres), especialmente buena idea si quieres usar pgAdmin3-4 como cliente postgres. Recuerda no salir de "sudo - postgres"
psql
\password;
CTRL-D (para salir del shell de postgres db)
psql -h localhost -d manati_db -U manati_db_user
(y poner la contraseña)
Después de poner la contraseña deberías haber iniciado sesión en postgres.
sudo apt-get install redis-server
OPCIONAL
Si quieres configurar Redis. Por ejemplo, si te interesa cambiar la contraseña, puedes:
sudo vi /etc/redis/redis.conf
y encontrar la línea requirepass y escribir a continuación la contraseña que quieras.
requirepass passwodUser
Solo recuerda actualizar la variable de entorno REDIS_PASSWORD en el archivo .env en la raíz del proyecto.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
No se recomienda ejecutar el servidor como root, pero como solo root puede abrir puertos con números menores a 1024, depende de ti qué usuario usar. Por defecto abre el puerto 8000, por lo que puedes ejecutarlo como root:
python ./manage.py runserver
Después de esto, solo abre tu navegador en http://localhost:8000/manati_project/manati_ui
Si quieres abrir el servidor en la red, puedes hacerlo con:
python ./manage.py runserver <ip-address>:8000
| IE / Edge IE / Edge | Firefox Firefox | Chrome Chrome | Safari Safari | Opera Opera | Vivaldi Vivaldi |
|---|
| N/A | 55+ | 60+ | N/A | N/A | N/A |