
脅威直感分析のための機械学習 (Machine Learning for Threat Intuitive Analysis)
ManaTI プロジェクトの目標は、直感的な脅威アナリストが新しいセキュリティ問題の発見を迅速化するための機械学習技術を開発することです。機械学習は、新たな関係性や推論を見つけることで分析に貢献します。プロジェクトには、アナリストがデータや機械学習の出力と対話するためのウェブインターフェースの開発も含まれます。
このプロジェクトは Cisco Systems から一部支援を受けています。 プロジェクトの詳細については、Stratosphere Lab のページをご覧ください。

ManaTI は Postgres データベースを使用する Django プロジェクトで、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 がインストールされている場合、ManaTI の Docker イメージをインストールするのも良いでしょう。Dockerfile と サーバー設定ファイルは こちら にあります。 この ManaTI Docker イメージは 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 # プレーンテキスト
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
プロジェクトのルートにあるファイル .env 内の 環境変数 REDIS_PASSWORD も忘れずに更新してください。
python ./manage.py makemigrations guardian
python ./manage.py migrate
python ./manage.py check_external_modules
./utility/redis_worker.sh
python manage.py createsuperuser
root としてサーバーを実行することは推奨されませんが、1024 未満のポート番号を開くことができるのは root のみです。どのユーザーを使用するかは任意です。デフォルトではポート 8000 を開くため、root として実行できます:
python ./manage.py runserver
この後、ブラウザで http://localhost:8000/manati_project/manati_ui を開いてください。
ネットワーク上でサーバーを公開したい場合は、次のように実行できます:
python ./manage.py runserver <IPアドレス>: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 |