
أداة قائمة على الويب لمساعدة عمل محللي التهديدات البديهيين.
التعلم الآلي لتحليل التهديدات البديهي
الهدف من مشروع ManaTI هو تطوير تقنيات التعلم الآلي لمساعدة محلل التهديدات البديهي في تسريع اكتشاف مشكلات أمنية جديدة. سيساهم التعلم الآلي في التحليل من خلال إيجاد علاقات واستدلالات جديدة. سيتضمن المشروع تطوير واجهة ويب للمحلل للتفاعل مع البيانات ومخرجات التعلم الآلي.
هذا المشروع مدعوم جزئياً من قبل Cisco Systems. لمزيد من المعلومات حول المشروع، يرجى زيارة صفحة Stratosphere Lab

ManaTI هو مشروع Django بقاعدة بيانات Postgres ويعمل على Linux و MacOS. نوصي باستخدام بيئة virtualenv لإعداده. خطوات التثبيت لنظام لينكس هي:
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
ربما ستواجه بعض المشاكل في الإذن في المجلد ~/.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 (to output the postgres db shell)
اختياري
لتغيير كلمة المرور الافتراضية لمستخدم postgres (يمكنك وضع نفس كلمة المرور إذا أردت)، فكرة جيدة بشكل خاص إذا كنت تريد استخدام pgAdmin3-4 كعميل postgres. تذكر عدم الخروج من "sudo - postgres"
psql
\password;
CTRL-D (to output the postgres db shell)
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
لا يُنصح بتشغيل الخادم كجذر، ولكن نظرًا لأن الجذر فقط يمكنه فتح أرقام منافذ أقل من 1024، فالأمر متروك لك أي مستخدم تستخدم. بشكل افتراضي، يفتح المنفذ 8000، لذا يمكنك تشغيله كجذر:
python ./manage.py runserver
بعد ذلك، افتح متصفحك على http://localhost:8000/manati_project/manati_ui
إذا كنت ترغب في فتح الخادم على الشبكة، يمكنك القيام بذلك باستخدام:
python ./manage.py runserver <ip-address>:8000
إذا كنت ترغب في رؤية المهام الجارية أو في قائمة الانتظار، انتقل إلى 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
باستخدام surpevisor و 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 # or 'docker-compose up -d' if you don't want to see the logs in the console.
بعد ذلك، افتح متصفحك على 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 لمزيد من التفاصيل.
حقوق النشر (c) 2016-2018 Stratosphere Laboratory