
Ein webbasiertes Tool zur Unterstützung der Arbeit der intuitiven Bedrohungsanalysten.
Machine Learning für intuitive Bedrohungsanalyse
Das Ziel des ManaTI-Projekts ist es, Techniken des maschinellen Lernens zu entwickeln, um einem intuitiven Bedrohungsanalysten zu helfen, die Entdeckung neuer Sicherheitsprobleme zu beschleunigen. Das maschinelle Lernen wird zur Analyse beitragen, indem es neue Beziehungen und Schlussfolgerungen findet. Das Projekt umfasst die Entwicklung einer Weboberfläche, mit der der Analyst mit den Daten und den Ergebnissen des maschinellen Lernens interagieren kann.
Dieses Projekt wird teilweise von Cisco Systems unterstützt. Weitere Informationen zum Projekt finden Sie auf der Seite Stratosphere Lab

ManaTI ist ein Django-Projekt mit einer Postgres-Datenbank und funktioniert unter Linux und macOS. Wir empfehlen die Verwendung einer virtualenv-Umgebung zur Einrichtung. Die Installationsschritte für Linux sind:
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
oder wenn Sie kein SSH verwenden möchten, verwenden Sie 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
OPTIONAL
Sie können das Passwort und den Namen der Datenbank ändern, wenn Sie möchten. Denken Sie daran, die Änderungen in den untenstehenden Postgres-Datenbankeinstellungen widerzuspiegeln.
Wenn Sie die laufenden oder in der Warteschlange befindlichen Jobs sehen möchten, gehen Sie zu 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
Verwendung von supervisor, gunicorn als Server mit RQ worker (mit Redis-Server) zur Bearbeitung der Hintergrundaufgaben. In Zukunft planen wir, Einstellungen für nginx vorzubereiten.
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Wenn Sie Docker installiert haben, kann es eine gute Idee sein, das ManaTI-Docker-Image zu installieren. Die Dockerfile- und Server-Konfigurationsdateien befinden sich hier. Dieses ManaTI-Docker-Image wird auf einem Server NGINX und uWSGI ausgeführt. Dieses Image wird von @Piuliss gepflegt.
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Warten Sie dann 5 oder 10 Sekunden und gehen Sie zu http://localhost:8888
Wenn Sie keine Zeit mit der Installation von ManaTI verschwenden möchten und Docker installiert haben, können Sie einfach docker-compose ausführen. Klonen Sie zuerst das Repository und gehen Sie in das Projektverzeichnis.
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 # oder 'docker-compose up -d', wenn Sie die Logs nicht in der Konsole sehen möchten.
Öffnen Sie danach einfach Ihren Browser unter http://localhost:8000/manati_project/manati_ui/new
pg_dump -U manati_db_user -W -F p manati_db > backup.sql # Klartext
psql manati_db -f backup.sql -U manati_db_user
Die GPLv3-Lizenz (GPLv3). Weitere Einzelheiten finden Sie in der Datei docs/LICENSE.
Copyright (c) 2016-2018 Stratosphere Laboratory
pip install -r requirements/local.txt
Möglicherweise treten Berechtigungsprobleme im Ordner ~/.cache auf. Führen Sie einfach den folgenden Befehl aus, und das Problem ist behoben:
sudo chmod 777 ~/.cache
Wenn Sie auf Amazon AWS EC2 bereitstellen und einen Speicherfehler haben, versuchen Sie:
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 (zur Beendung der Postgres-Datenbank-Shell)
OPTIONAL
Um das Standardpasswort des Postgres-Benutzers zu ändern (Sie können dasselbe Passwort verwenden, wenn Sie möchten), insbesondere wenn Sie pgAdmin3-4 als Postgres-Client verwenden möchten. Denken Sie daran, den Befehl "sudo - postgres" nicht zu verlassen.
psql
\password;
CTRL-D (zur Beendung der Postgres-Datenbank-Shell)
psql -h localhost -d manati_db -U manati_db_user
(und das Passwort eingeben)
Nach der Eingabe des Passworts sollten Sie in postgres eingeloggt sein.
sudo apt-get install redis-server
OPTIONAL
Wenn Sie Redis konfigurieren möchten. Wenn Sie zum Beispiel das Passwort ändern möchten, können Sie:
sudo vi /etc/redis/redis.conf
und suchen Sie die Zeile requirepass und schreiben Sie das gewünschte Passwort daneben.
requirepass passwodUser
Denken Sie daran, die Umgebungsvariable REDIS_PASSWORD in der Datei .env im Stammverzeichnis des Projekts zu aktualisieren.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
Es wird nicht empfohlen, den Server als root auszuführen, aber da nur root Portnummern unter 1024 öffnen kann, liegt es an Ihnen, welchen Benutzer Sie verwenden. Standardmäßig wird Port 8000 geöffnet, sodass Sie es als root ausführen können:
python ./manage.py runserver
Öffnen Sie danach einfach Ihren Browser unter http://localhost:8000/manati_project/manati_ui
Wenn Sie den Server im Netzwerk öffnen möchten, können Sie dies tun mit:
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 |