
منصة خداع مفتوحة المصدر تحوّل أي جهاز يعمل بنظام Linux إلى كناري عالي الإشارة. انشر حساسات إنذار على الملفات والمنافذ وخدمات الشبكة لاكتشاف المتسللين مع تحليل جنائي فوري وإشعارات دفع.
HoneyWire هو أداة خفيفة لبناء أنظمة إنذار أمني مبكر عالي الإشارة وموزعة، مصممة للشبكات الداخلية. تستفيد من بنيتها وتجربة المستخدم لتجعل من السهل جداً بناء خادم Cyber Canary جديد أو نشر HoneyWires على الخوادم الموجودة. باستخدام تقنية الخداع، تستبدل نهج "العدسة المكبرة" في أنظمة SIEM التقليدية التي غالباً ما تُغرق المحللين بالإنذارات الكاذبة، بمراقبة حركة المرور المشروعة عبر نموذج High-Fidelity Tripwire.
ضع المستشعر بالضبط حيث تريده. إذا انطلق، فلديك متسلل.
قم بإعداد عدة مستشعرات وستبدأ في الحصول على فكرة واضحة عن الحركة الجانبية للمتسلل. لا ضبط مطلوب، لا ضوضاء، فقط أدلة جنائية فورية. إذا كان لديك ماسحات أمنية آلية مشروعة تُطلق HoneyWires، فما عليك سوى إضافتها إلى القائمة البيضاء من إعدادات Hub.
ملاحظة: إذا قمت ببناء مستشعرك باستخدام SDKs الرسمية لـ HoneyWire، فإن تنسيق JSON وتسليمه سيتم التعامل معه تلقائياً.
القوة الحقيقية لـ HoneyWire هي أن Hub و Wizard مستقلان تماماً عن نوع المستشعر. لست مقيداً بالمستشعرات الرسمية المضمنة.
من خلال الالتزام بـ HoneyWire Event Standard V2.0، يمكنك كتابة سكربت بأي لغة (Bash, Go, Rust, Python) لمراقبة أي شيء، وستقوم واجهة Sentinel بتحليل بياناتك الجنائية وعرضها مع إبراز الصيغة البرمجية ديناميكياً.
سواء كان محرك Deep Packet Inspection (DPI)، أو DNS sinkhole، أو Canary Token مضمّناً في ملف PDF، أو Email Honeypot، أو TCP Port Tripwire بسيطاً، فقط أرسل حمولة JSON الخاصة بـ Universal Event Standard إلى Hub.
تنقسم HoneyWire إلى أربع خدمات مصغّرة مستقلة:
/Hub: العقل المركزي. ملف ثنائي بلغة Go نقي يشغّل قاعدة بيانات SQLite مدمجة ولوحة تحكم Vue.js. يعمل كمستخدم غير جذر داخل حاوية Distroless، مع تثبيت البيانات بأمان على وحدة تخزين مخصصة./Sensors: العقد الخادعة. ملفات ثنائية بلغة Go مرتبطة ارتباطاً ثابتاً تستمع على المنافذ الضعيفة، وتصطاد المهاجمين، وترسل بيانات الاختراق بأمان إلى Hub./SDKs: مكتبات رسمية (مثل sdk-go) تتعامل مع الاتصال الآمن بـ Hub ليتمكن مطورو المجتمع من بناء مستشعرات جديدة بسهولة./wizard: أداة سطر الأوامر الخاصة بـ Setup wizard لأتمتة مهام المشغل مثل اكتشاف HoneyWires ونشرها واختبارها.اطّلع على وثائق البنية المعمارية الكاملة اقرأ دليل عمليات المستخدم
يستغرق نشر HoneyWire Hub أقل من 60 ثانية باستخدام صور حاويات GitHub الجاهزة.
أنشئ دليلاً جديداً على خادمك، وأنشئ ملف docker-compose.yml، والصق ما يلي:
services:
# 1. THE PERMISSION FIXER: Runs once to ensure the Hub can write to the data volume
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. THE HUB: The central Go-based dashboard and API
hub:
image: ghcr.io/andreicscs/honeywire-hub:latest
container_name: honeywire-hub
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./honeywire_data:/data
depends_on:
permission-fixer:
condition: service_completed_successfully
# Strict Security Sandbox
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Required if not using HTTPS, or the cookie will have the secure flag set, in production it is highly recommended to remove this and run this behind a reverse proxy using https
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Optional: Hardcode the dashboard password (disables the UI password reset feature)
# - HW_DASHBOARD_PASSWORD=admin
شغّل Hub:
docker compose up -d
انتقل إلى http://<your-server-ip>:HW_PORT في متصفحك. ستظهر لك شاشة Initialize Sentinel.
honeywire apply على العقدة لمزامنة الحالة المطلوبة، أو شغّل honeywire discover للسماح لـ Setup wizard بفحص البيئة تلقائياً واقتراح HoneyWires.بمجرد تشغيل الحاويات، يجب أن يظهر مستشعر Tarpit بحالة ONLINE خلال 30 ثانية.
شغّل honeywire firedrill لجعل HoneyWires ترسل حدثاً تجريبياً إلى الـ hub لاختبار الاتصال.
ملاحظة: للتعمق أكثر في إدارة العقد وتحديث المستشعرات ومعالجة التراجع، راجع دليل عمليات المستخدم.
Node Key الفريد الخاص بها للتواصل مع Hub. سيرفض Hub أي حمولات بمفاتيح غير متطابقة أو غير صالحة.gcr.io/distroless/static-debian12:nonroot. نتبع مبدأ الامتياز الأقل لضمان احتواء أي اختراق للحاوية.net/http (المكتبة القياسية), SQLite (ModernC Pure Go Driver)Hub:
GET /api/v2/version → ترجع { "version": "v2.x.x" }