
Uno strumento basato sul web per assistere il lavoro degli analisti delle minacce intuitivi.
Machine Learning per l'Analisi Intuitiva delle Minacce
L'obiettivo del progetto ManaTI è sviluppare tecniche di machine learning per assistere un analista di minacce intuitivo ad accelerare la scoperta di nuovi problemi di sicurezza. Il machine learning contribuirà all'analisi trovando nuove relazioni e inferenze. Il progetto includerà lo sviluppo di un'interfaccia web per consentire all'analista di interagire con i dati e l'output del machine learning.
Questo progetto è parzialmente supportato da Cisco Systems. Per maggiori informazioni sul progetto, visita la pagina del Stratosphere Lab

ManaTI è un progetto Django con database Postgres e funziona in Linux e MacOS. Raccomandiamo l'uso di un ambiente virtualenv per configurarlo. I passaggi di installazione per Linux sono:
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
oppure se non vuoi usare 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
OPZIONALE
Puoi modificare la password e il nome del database, se lo desideri. Ricorda di applicare le modifiche nelle impostazioni del database Postgres di seguito.
Se vuoi vedere i job in esecuzione o in coda, vai su 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 come server con RQ worker (con server redis) per gestire le attività in background. In futuro abbiamo in programma di preparare le impostazioni per nginx
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Se hai docker installato, potrebbe essere una buona idea installare l'immagine docker di ManaTI. Il Dockerfile e i file di configurazione del server sono qui. Questa immagine docker di ManaTI viene eseguita su un server NGINX e uWSGI. Questa immagine è mantenuta da @Piuliss
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Quindi, attendere 5 o 10 secondi e andare su http://localhost:8888
Se non vuoi perdere tempo a installare ManaTI e hai docker installato, puoi semplicemente eseguire docker-compose. Prima clona il repository e vai nella directory del progetto.
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 # oppure 'docker-compose up -d' se non vuoi vedere i log nella console.
Successivamente, apri il tuo browser su 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
Licenza GPLv3 (GPLv3). Vedi il file docs/LICENSE per maggiori dettagli.
Copyright (c) 2016-2018 Stratosphere Laboratory
pip install -r requirements/local.txt
Potresti avere qualche problema di permessi nella cartella ~/.cache; esegui il comando seguente e il problema sarà risolto:
sudo chmod 777 ~/.cache
Se deployi su Amazon AWS EC2 e hai un errore di memoria, prova:
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 (per uscire dalla shell del database postgres)
OPZIONALE
Per cambiare la password predefinita dell'utente postgres (puoi impostare la stessa password se vuoi), particolarmente utile se vuoi usare pgAdmin3-4 come client postgres. Ricorda di non uscire da "sudo - postgres"
psql
\password;
CTRL-D (per uscire dalla shell del database postgres)
psql -h localhost -d manati_db -U manati_db_user
(e inserisci la password)
Dopo aver inserito la password dovresti aver effettuato l'accesso a postgres.
sudo apt-get install redis-server
OPZIONALE
Se vuoi configurare Redis. Ad esempio, se sei interessato a cambiare la password, puoi:
sudo vi /etc/redis/redis.conf
e trova la riga requirepass e scrivi accanto la password che desideri.
requirepass passwodUser
Ricorda solo di aggiornare la variabile d'ambiente REDIS_PASSWORD nel file .env nella radice del progetto.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
Non è consigliato eseguire il server come root, ma poiché solo root può aprire porte con numeri inferiori a 1024, sta a te quale utente usare. Di default apre la porta 8000, quindi puoi eseguirlo come root:
python ./manage.py runserver
Successivamente, apri il tuo browser su http://localhost:8000/manati_project/manati_ui
Se vuoi aprire il server sulla rete, puoi farlo con:
python ./manage.py runserver <indirizzo-ip>:8000
| IE / Edge IE / Edge | Firefox Firefox | Chrome Chrome | Safari Safari | Opera Opera | Vivaldi Vivaldi |
|---|
| N/D | 55+ | 60+ | N/D | N/D | N/D |