
Uma ferramenta baseada na web para auxiliar o trabalho dos analistas de ameaças intuitivos.
Aprendizado de Máquina para Análise Intuitiva de Ameaças
O objetivo do projeto ManaTI é desenvolver técnicas de aprendizado de máquina para auxiliar um analista de ameaças intuitivo a acelerar a descoberta de novos problemas de segurança. O aprendizado de máquina contribuirá para a análise, encontrando novas relações e inferências. O projeto incluirá o desenvolvimento de uma interface web para o analista interagir com os dados e a saída do aprendizado de máquina.
Este projeto é parcialmente apoiado pela Cisco Systems. Para mais informações sobre o projeto, visite a página Stratosphere Lab

ManaTI é um projeto Django com banco de dados Postgres e funciona em Linux e MacOS. Recomendamos o uso de um ambiente virtualenv para configurá-lo. Os passos de instalação para Linux são:
sudo apt-get update ; sudo apt-get upgrade -y
git clone [email protected]:stratosphereips/Manati.git; cd Manati
ou se você não quiser usar SSH, use 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
Você pode modificar a senha e o nome do banco de dados, se desejar. Lembre-se de refletir as alterações nas configurações do banco de dados Postgres abaixo.
Se quiser ver os trabalhos em execução ou na fila, vá para 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 com RQ worker (com servidor redis) para lidar com as tarefas em segundo plano. No futuro, planejamos preparar configurações para nginx
cd path/to/project_directory
python manage.py collectstatic --noinput --clear
sudo supervisord -c supervisor-manati.conf -n
Se você tiver docker instalado, talvez seja uma boa ideia instalar a imagem docker do ManaTI. O Dockerfile e os arquivos de configuração do servidor estão aqui. Esta imagem docker do ManaTI é executada sobre um servidor NGINX e uWSGI. Esta imagem é mantida por @Piuliss
docker pull honeyjack/manati:latest
docker run --name manati -p 8888:8888 -dti honeyjack/manati:latest bash
Então, aguarde 5 ou 10 segundos e vá para http://localhost:8888
Se você não quiser perder tempo instalando o ManaTI e tiver docker instalado, pode apenas executar docker-compose. Primeiro clone o repositório e vá para o diretório do projeto.
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' se você não quiser ver os logs no console.
Após isso, basta abrir seu navegador em 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
A Licença GPLv3 (GPLv3). Consulte o arquivo docs/LICENSE para mais detalhes.
Copyright (c) 2016-2018 Stratosphere Laboratory
pip install -r requirements/local.txt
Talvez você tenha alguns problemas de permissão na pasta ~/.cache; basta executar o próximo comando e o problema será resolvido:
sudo chmod 777 ~/.cache
se você implantar no Amazon AWS EC2 e tiver um erro de memória, tente:
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 sair do shell do postgres db)
OPCIONAL
Para alterar a senha padrão do usuário postgres (você pode colocar a mesma senha se quiser), é especialmente uma boa ideia se quiser usar pgAdmin3-4 como cliente postgres. Lembre-se de não sair de "sudo - postgres"
psql
\password;
CTRL-D (para sair do shell do postgres db)
psql -h localhost -d manati_db -U manati_db_user
(e digite a senha)
Após digitar a senha, você deverá estar logado no postgres.
sudo apt-get install redis-server
OPCIONAL
Se você quiser configurar o Redis. Por exemplo, se estiver interessado em alterar a senha, você pode:
sudo vi /etc/redis/redis.conf
e encontre a linha requirepass e escreva ao lado a senha que deseja.
requirepass passwodUser
Lembre-se apenas de atualizar a variável de ambiente REDIS_PASSWORD no arquivo .env na raiz do projeto.
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
Não é recomendado executar o servidor como root, mas como apenas root pode abrir portas com números menores que 1024, fica a seu critério qual usuário usar. Por padrão, ele abre a porta 8000, então você pode executá-lo como root:
python ./manage.py runserver
Após isso, basta abrir seu navegador em http://localhost:8000/manati_project/manati_ui
Se quiser abrir o servidor na rede, você pode fazer com:
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 |