
Веб-инструмент для помощи в работе интуитивных аналитиков угроз.
Машинное обучение для интуитивного анализа угроз
Цель проекта ManaTI — разработать методы машинного обучения, помогающие интуитивному аналитику угроз ускорять обнаружение новых проблем безопасности. Машинное обучение будет способствовать анализу, находя новые взаимосвязи и умозаключения. Проект включает разработку веб-интерфейса для взаимодействия аналитика с данными и результатами работы машинного обучения.
Этот проект частично поддерживается компанией Cisco Systems. Для получения дополнительной информации о проекте посетите страницу Stratosphere Lab.

ManaTI — это проект Django с базой данных Postgres, работающий в Linux и MacOS. Мы рекомендуем использовать среду virtualenv для его настройки. Шаги по установке для Linux:
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
или, если вы не хотите использовать SSH, используйте 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
ОПЦИОНАЛЬНО
Вы можете изменить пароль и имя базы данных, если захотите. Не забудьте отразить изменения в настройках базы данных Postgres ниже.
pip install -r requirements/local.txt
Если вы хотите увидеть запущенные или поставленные в очередь задачи, перейдите по адресу 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
Используя supervisor, gunicorn в качестве сервера с RQ worker (с сервером redis) для обработки фоновых задач. В будущем мы планируем подготовить настройки для nginx
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Если у вас установлен docker, возможно, будет хорошей идеей установить Docker-образ ManaTI. Dockerfile и файлы конфигурации сервера находятся здесь. Этот Docker-образ ManaTI запускается на сервере NGINX и uWSGI. Этот образ поддерживается @Piuliss
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Затем подождите 5-10 секунд и перейдите по адресу http://localhost:8888
Если вы не хотите тратить время на установку ManaTI и у вас установлен docker, вы можете просто выполнить docker-compose. Сначала клонируйте репозиторий и перейдите в директорию проекта.
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 # или 'docker-compose up -d', если вы не хотите видеть логи в консоли.
После этого просто откройте браузер по адресу 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
Лицензия GPLv3 (GPLv3). Подробнее см. в файле docs/LICENSE.
Copyright (c) 2016-2018 Stratosphere Laboratory
Возможно, у вас будут проблемы с правами доступа к папке ~/.cache, просто выполните следующую команду, и проблема решится:
sudo chmod 777 ~/.cache
Если вы разворачиваетесь на Amazon AWS EC2 и у вас возникает ошибка памяти, попробуйте:
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 (для выхода из оболочки postgres db)
ОПЦИОНАЛЬНО
Чтобы изменить пароль по умолчанию для пользователя postgres (вы можете установить тот же пароль, если хотите), это особенно хорошая идея, если вы хотите использовать pgAdmin3-4 в качестве клиента postgres. Не забывайте, что вы находитесь внутри "sudo - postgres"
psql
\password;
CTRL-D (для выхода из оболочки postgres db)
psql -h localhost -d manati_db -U manati_db_user
(и введите пароль)
После ввода пароля вы должны войти в postgres.
sudo apt-get install redis-server
ОПЦИОНАЛЬНО
Если вы хотите настроить Redis. Например, вы заинтересованы в смене пароля, вы можете:
sudo vi /etc/redis/redis.conf
и найдите строку requirepass и напишите рядом нужный пароль.
requirepass passwodUser
Просто не забудьте обновить переменную окружения REDIS_PASSWORD в файле .env в корне проекта.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
Не рекомендуется запускать сервер от root, но так как только root может открывать порты с номерами меньше 1024, выбор пользователя за вами. По умолчанию он открывает порт 8000, поэтому вы можете запустить его от root:
python ./manage.py runserver
После этого просто откройте браузер по адресу http://localhost:8000/manati_project/manati_ui
Если вы хотите открыть сервер в сети, вы можете сделать это с помощью:
python ./manage.py runserver <ip-address>:8000
| IE / Edge IE / Edge | Firefox Firefox | Chrome Chrome | Safari Safari | Opera Opera | Vivaldi Vivaldi |
|---|
| Н/Д | 55+ | 60+ | Н/Д | Н/Д | Н/Д |