انتقل إلى المحتوى الرئيسي

مرجع التكوين

يتم تكوين جميع خدمات NetRecon من خلال ملف .env واحد موجود في /opt/netrecon/.env. توثق هذه الصفحة جميع متغيرات البيئة المتاحة.

الإعدادات الأساسية

المتغيرمطلوبالافتراضيالوصف
NETRECON_DOMAINنعماسم نطاقك (مثل netrecon.yourcompany.com)
NETRECON_EMAILنعمبريد المسؤول لـ Let's Encrypt والإشعارات

قاعدة البيانات (PostgreSQL)

المتغيرمطلوبالافتراضيالوصف
POSTGRES_USERنعماسم مستخدم PostgreSQL
POSTGRES_PASSWORDنعمكلمة مرور PostgreSQL
POSTGRES_DBنعمnetreconاسم قاعدة البيانات
DATABASE_URLتلقائييُبنى تلقائيًا من القيم أعلاه
تلميح

استخدم كلمة مرور قوية ومولدة عشوائيًا. أنشئ واحدة بـ:

openssl rand -base64 24

التخزين المؤقت (Redis)

المتغيرمطلوبالافتراضيالوصف
REDIS_PASSWORDنعمكلمة مرور مصادقة Redis
REDIS_URLتلقائييُبنى تلقائيًا

المصادقة

المتغيرمطلوبالافتراضيالوصف
JWT_SECRETنعممفتاح سري لتوقيع رموز JWT (32 حرفًا على الأقل)
JWT_EXPIRE_MINUTESلا1440وقت انتهاء صلاحية الرمز (الافتراضي: 24 ساعة)

أنشئ مفتاح JWT آمن:

openssl rand -hex 32

سجل الوكلاء

المتغيرمطلوبالافتراضيالوصف
AGENT_REGISTRY_SECRETنعمالسر الخاص بتسجيل الوكلاء
AGENT_JWT_SECRETنعممفتاح JWT لمصادقة الوكلاء
AGENT_TOKEN_EXPIRE_MINUTESلا1440انتهاء صلاحية رمز الوكيل
AGENT_HEARTBEAT_INTERVALلا30فترة نبضات القلب بالثواني
AGENT_HEARTBEAT_TIMEOUTلا90الثواني قبل اعتبار الوكيل غير متصل

البريد الإلكتروني (SMTP)

المتغيرمطلوبالافتراضيالوصف
SMTP_HOSTنعماسم مضيف خادم SMTP
SMTP_PORTلا587منفذ SMTP (587 لـ STARTTLS، 465 لـ SSL)
SMTP_USERنعماسم مستخدم SMTP
SMTP_PASSWORDنعمكلمة مرور SMTP
SMTP_FROMنعمعنوان المرسل (مثل NetRecon <[email protected]>)

الترخيص

المتغيرمطلوبالافتراضيالوصف
LICENSE_KEYنعممفتاح ترخيص NetRecon الخاص بك

تواصل مع [email protected] للحصول على مفتاح ترخيص.

خدمة النسخ الاحتياطي

المتغيرمطلوبالافتراضيالوصف
BACKUP_S3_ENDPOINTلانقطة نهاية تخزين متوافقة مع S3
BACKUP_S3_BUCKETلااسم الحاوية للنسخ الاحتياطية
BACKUP_S3_ACCESS_KEYلامفتاح وصول S3
BACKUP_S3_SECRET_KEYلامفتاح S3 السري
BACKUP_ENCRYPTION_KEYلامفتاح تشفير AES-256-GCM للنسخ الاحتياطية
BACKUP_RETENTION_DAYSلا30أيام الاحتفاظ بملفات النسخ الاحتياطي

الإشعارات

المتغيرمطلوبالافتراضيالوصف
TELEGRAM_BOT_TOKENلارمز بوت Telegram للتنبيهات
TELEGRAM_CHAT_IDلامعرف محادثة Telegram لتسليم التنبيهات

مثال على ملف .env

# Core
NETRECON_DOMAIN=netrecon.yourcompany.com
NETRECON_EMAIL=[email protected]

# PostgreSQL
POSTGRES_USER=netrecon
POSTGRES_PASSWORD=xK9mP2vL8nQ4wR7j
POSTGRES_DB=netrecon

# Redis
REDIS_PASSWORD=hT6yN3bF9cM1pW5s

# Authentication
JWT_SECRET=a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2

# Agent Registry
AGENT_REGISTRY_SECRET=r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2g3
AGENT_JWT_SECRET=h4i5j6k7l8m9n0o1p2q3r4s5t6u7v8w9

# Email
SMTP_HOST=smtp.yourcompany.com
SMTP_PORT=587
SMTP_USER=[email protected]
SMTP_PASSWORD=your-smtp-password
SMTP_FROM=NetRecon <[email protected]>

# License
LICENSE_KEY=your-license-key
warning

لا تقم أبدًا بإيداع ملف .env في نظام التحكم بالإصدار. جميع القيم المعروضة أعلاه هي أمثلة — استبدلها بقيمك الآمنة الخاصة قبل النشر.

تطبيق تغييرات التكوين

بعد تعديل ملف .env، أعد تشغيل الخدمات المتأثرة:

cd /opt/netrecon

# إعادة تشغيل جميع الخدمات
docker compose down && docker compose up -d

# أو إعادة تشغيل خدمة محددة
docker compose restart api-gateway

منافذ الخدمات

تعمل جميع الخدمات خلف الوكيل العكسي Nginx على المنفذين 80/443. لا يتم كشف منافذ الخدمات الداخلية افتراضيًا:

الخدمةالمنفذ الداخليالوصف
API Gateway8000نقطة نهاية API الرئيسية
Vault Server8001إدارة الأسرار
License Server8002التحقق من التراخيص
Email Service8003ترحيل SMTP
Notification Service8004الإشعارات الفورية والتنبيهات
Update Server8005تحديثات الوكلاء والمجسات
Agent Registry8006تسجيل الوكلاء وإدارتهم
Warranty Service8007البحث عن ضمان الأجهزة
CMod Service8008إدارة التكوين
IPAM Service8009إدارة عناوين IP

لكشف منفذ خدمة مباشرة (غير موصى به للإنتاج)، أضفه إلى تعيين ports للخدمة في docker-compose.yml.

للمساعدة، تواصل مع [email protected].