
واجهة ويب Strelka لإرسال الملفات وتحليلها
[الإصدارات][release] | [طلبات السحب][pr] | [المشكلات][issues]
[![GitHub release][img-version-badge]][repo] [![Build Status][img-actions-badge]][actions-ci] [![Pull Requests][img-pr-badge]][pr] [![Slack][img-slack-badge]][slack] [![License][img-license-badge]][license]
واجهة Strelka Web UI هي واجهة أمامية لإرسال الملفات تعمل عبر المتصفح وواجهة برمجة التطبيقات (API) لـ Strelka Enterprise File Scanner. تتيح للمستخدمين إرسال الملفات إلى مجموعة Strelka ومراجعة نتائج الاستجابة التاريخية بسهولة. تدعم واجهة Strelka Web UI المصادقة عبر LDAP والوصول عبر API، مما يوفر طريقة آمنة ومرنة للتفاعل مع ماسح Strelka. توفر هذه الوثيقة تفاصيل حول كيفية إعداد واستخدام واجهة Strelka Web UI، بالإضافة إلى ميزاتها والمشاريع ذات الصلة.
توفر واجهة إرسال الملفات الميزات التالية:
بشكل افتراضي، يتم تكوين Strelka UI لاستخدام نشر "البدء السريع" البسيط الذي يسمح للمستخدمين باختبار النظام. سيستهدف هذا النشر نسخة Strelka محلية ويبدأ قاعدة بيانات محلية. سيتمكن المستخدمون من الوصول إلى هذا النظام بأي اسم مستخدم / كلمة مرور يريدونها. للحصول على معلومات إضافية حول استهداف نسخة Strelka بعيدة، أو قاعدة بيانات، أو استخدام LDAP للمصادقة، انظر قسم الإعداد الإضافي:
Start or ensure Strelka cluster is ready and accessible.
See https://github.com/target/strelka for more information.
# Terminal 1
# From the ./strelka-ui directory
$ docker-compose -f docker-compose.yml up
1) Open A Browser
2) Navigate to 0.0.0.0:8080
3) Login with:
- Username: strelka
- Password: strelka
يوفر هذا القسم تفاصيل حول كيفية استهداف نسخة Strelka بعيدة، وقاعدة بيانات بعيدة للتخزين، وخادم LDAP للمصادقة لاستخدام أكثر أمانًا. لتمكين هذه الأمور، يمكنك استخدام متغيرات البيئة لتجاوز الإعدادات الافتراضية.
يتم توفير تكوين الواجهة الخلفية من خلال متغيرات البيئة ويمكن تعيينه بشكل ثابت في ./app/config/config.py.
عند التشغيل محليًا، تكون أولوية التكوين كالتالي: System environment -> .env -> ./app/config/config.py.
عند التشغيل في Docker، تكون أولوية التكوين كالتالي: Docker environment -> System environment -> ./app/config/config.py.
يرجى الرجوع إلى ./app/example.env لإعداد متغيرات البيئة.
فيما يلي تفاصيل عناصر التكوين في ./app/config/config.py.
| Field Name | Value | Required |
|---|---|---|
| STRELKA_HOST | Strelka hostname (e.g., 0.0.0.0) | Yes |
| STRELKA_PORT | Strelka port number (e.g., 57314) | Yes |
| STRELKA_CERT | Path to certificate for Strelka, if needed (e.g., /path/to/cert.pem) | No |
| CA_CERT_PATH | Path to CA certificates for LDAP, if needed (e.g., /path/to/ca_certs) | No |
| VIRUSTOTAL_API_KEY | API Key for VirusTotal Hash Lookup | Yes |
| VIRUSTOTAL_API_LIMIT | Limit how many files should be scanned by VirusTotal (Default: 30) | Yes |
| LDAP_URL | URL to LDAP server (e.g., ldaps://ldap.example.com:636) | No |
| LDAP_SEARCH_BASE | Search base for LDAP queries (e.g., DC=example,DC=com) | No |
| LDAP_USERNAME_ORGANIZATION | Username organization for LDAP queries (e.g., org//) | No |
| LDAP_ATTRIBUTE_ACCOUNT_NAME_FIELD | LDAP attribute for account name (e.g., sAMAccountName) | No |
| LDAP_ATTRIBUTE_FIRST_NAME_FIELD | LDAP attribute for first name (e.g., givenName) | No |
| LDAP_ATTRIBUTE_LAST_NAME_FIELD | LDAP attribute for last name (e.g., sn) | No |
| LDAP_ATTRIBUTE_MEMBER_OF_FIELD | LDAP attribute for member of (e.g., memberOf) | No |
| LDAP_ATTRIBUTE_MEMBER_REQUIREMENT_FIELD | LDAP attribute for member requirement (e.g., AD Attribute) | No |
| STATIC_ASSET_FOLDER | Build folder for UI (e.g., build) | Yes |
| MIGRATION_DIRECTORY | SQLAlchemy migrations directory (e.g., ./migrations) | Yes |
| DATABASE_USERNAME | Database username (e.g., admin) | Yes |
| DATABASE_PASSWORD | Database password (e.g., password123) | Yes |
| DATABASE_HOST | Database hostname (e.g., db.example.com) | Yes |
| DATABASE_PORT | Database port number (e.g., 5432) | Yes |
| DATABASE_DBNAME | Name of the database (e.g., mydb) | Yes |
| API_KEY_EXPIRATION | Duration in days of API key expiration (e.g., 30) | Yes |
يمكنك أيضًا تعيين مرجع في جدول إرسال الواجهة للسماح للمستخدمين بالانتقال بسرعة إلى موقع خارجي بناءً على request.id. من خلال تعديل ./ui/src/config.js واتباع مثال SEARCH_URL في الجدول التالي، يمكنك تزويد المستخدمين برابط إلى موقع خارجي (مثل SIEM / logger). تأكد من أن رابطك يحتوي على السلسلة <REPLACE> وستقوم الواجهة باستبدال تلك السلسلة بمعرف الطلب الخاص بالملف ذي الصلة.
حقول التعديل المدعومة في ./ui/src/config.js:
| Field Name | Value | Example |
|---|---|---|
| SEARCH_URL | Search URL for the external application | Ex: https://search.com/?q=request.id= |
| SEARCH_NAME | Search name for the external application | Ex: Splunk |
| DEFAULT_EXCLUDED_SUBMITTERS | Default users to be exluded from Submission table view. Useful for hiding automations by default. | Ex: SearchBot |
إذا كانت بيئة شبكتك تتطلب حزمة CA مخصصة (مثل وكيل فحص TLS للشركات)، يمكنك توفيرها في وقت البناء ووقت التشغيل دون الالتزام بأي ملفات شهادات في المستودع.
وقت البناء — مرر المسار إلى حزمة CA الخاصة بك عبر CUSTOM_CA_CERT قبل تشغيل docker compose build. يتم تركيب الشهادة بشكل مؤقت باستخدام سر BuildKit ولا يتم كتابتها أبدًا في أي طبقة من الصورة:
CUSTOM_CA_CERT=/path/to/your/ca-bundle.crt docker compose build
# or, combined with up:
CUSTOM_CA_CERT=/path/to/your/ca-bundle.crt docker compose up --build