
Un outil web pour assister le travail des analystes de menaces intuitifs.
Apprentissage automatique pour l'analyse intuitive des menaces
L'objectif du projet ManaTI est de développer des techniques d'apprentissage automatique pour aider un analyste de menaces intuitif à accélérer la découverte de nouveaux problèmes de sécurité. L'apprentissage automatique contribuera à l'analyse en trouvant de nouvelles relations et inférences. Le projet inclura le développement d'une interface web permettant à l'analyste d'interagir avec les données et les résultats de l'apprentissage automatique.
Ce projet est partiellement soutenu par Cisco Systems. Pour plus d'informations sur le projet, veuillez consulter la page du Stratosphere Lab

ManaTI est un projet Django avec une base de données Postgres et fonctionne sous Linux et MacOS. Nous recommandons d'utiliser un environnement virtualenv pour le configurer. Les étapes d'installation pour Linux sont :
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
ou si vous ne voulez pas utiliser SSH, utilisez 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
OPTIONNEL
Vous pouvez modifier le mot de passe et le nom de la base de données, si vous le souhaitez. N'oubliez pas de refléter les modifications dans les paramètres de la base de données Postgres ci-dessous.
Si vous voulez voir les tâches en cours d'exécution ou en file d'attente, allez à 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
En utilisant surpevisor, gunicorn comme serveur avec RQ worker (avec serveur redis) pour gérer les tâches en arrière-plan. À l'avenir, nous prévoyons de préparer des paramètres pour nginx
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Si vous avez Docker installé, il peut être judicieux d'installer l'image Docker de ManaTI. Le Dockerfile et les fichiers de configuration du serveur sont ici. Cette image Docker de ManaTI est exécutée sur un serveur NGINX et uWSGI. Cette image est maintenue par @Piuliss
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Ensuite, attendez 5 ou 10 secondes et allez à http://localhost:8888
Si vous ne voulez pas perdre de temps à installer ManaTI et que vous avez Docker installé, vous pouvez simplement exécuter docker-compose. Clonez d'abord le dépôt et allez dans le répertoire du projet.
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 # ou 'docker-compose up -d' si vous ne voulez pas voir les logs dans la console.
Après cela, ouvrez simplement votre navigateur à l'adresse http://localhost:8000/manati_project/manati_ui/new
pg_dump -U manati_db_user -W -F p manati_db > backup.sql # texte brut
psql manati_db -f backup.sql -U manati_db_user
La licence GPLv3 (GPLv3). Voir le fichier docs/LICENSE pour plus de détails.
Copyright (c) 2016-2018 Stratosphere Laboratory
pip install -r requirements/local.txt
Vous pourriez rencontrer des problèmes de permission dans le dossier ~/.cache, exécutez simplement la commande suivante et le problème sera résolu :
sudo chmod 777 ~/.cache
si vous déployez sur Amazon AWS EC2 et que vous avez une erreur de mémoire, essayez :
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 (pour quitter le shell de la base de données postgres)
OPTIONNEL
Pour changer le mot de passe par défaut de l'utilisateur postgres (vous pouvez mettre le même mot de passe si vous le souhaitez), particulièrement bonne idée si vous voulez utiliser pgAdmin3-4 comme client postgres. N'oubliez pas de ne pas sortir de "sudo - postgres"
psql
\password;
CTRL-D (pour quitter le shell de la base de données postgres)
psql -h localhost -d manati_db -U manati_db_user
(et entrez le mot de passe)
Après avoir entré le mot de passe, vous devriez être connecté dans postgres.
sudo apt-get install redis-server
OPTIONNEL
Si vous voulez configurer Redis. Par exemple, vous êtes intéressé à changer le mot de passe, vous pouvez :
sudo vi /etc/redis/redis.conf
et trouver la ligne requirepass et écrire à côté le mot de passe que vous souhaitez.
requirepass passwodUser
N'oubliez pas de mettre à jour la variable d'environnement REDIS_PASSWORD dans le fichier .env à la racine du projet.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
Il n'est pas recommandé d'exécuter le serveur en tant que root, mais puisque seul root peut ouvrir des ports de numéro inférieur à 1024, c'est à vous de choisir quel utilisateur utiliser. Par défaut, il ouvre le port 8000, vous pouvez donc l'exécuter en tant que root :
python ./manage.py runserver
Après cela, ouvrez simplement votre navigateur à l'adresse http://localhost:8000/manati_project/manati_ui
Si vous voulez ouvrir le serveur sur le réseau, vous pouvez le faire avec :
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 |