| # دليل إعدادات نظام الحارس التلقائي | |
| # Auto Guardian System Configuration Guide | |
| # ========================================== | |
| ## نظرة عامة | |
| يحتوي ملف `config/settings.yaml` على جميع إعدادات نظام الحارس التلقائي. هذا الدليل يشرح كل خيار بالتفصيل مع أمثلة عملية. يُرجى قراءة هذا الدليل بعناية قبل تعديل الإعدادات. | |
| --- | |
| ## هيكل ملف الإعدادات | |
| ``` | |
| config/ | |
| ├── settings.yaml # الإعدادات الرئيسية | |
| ├── rules.yaml # قواعد الكشف عن التهديدات | |
| ├── alerts.yaml # قوالب التنبيهات | |
| └── whitelist.yaml # قائمة العناوكات المسموح بها | |
| ``` | |
| --- | |
| ## القسم الأول: الإعدادات العامة | |
| ```yaml | |
| # config/settings.yaml - القسم العام | |
| general: | |
| # وضع التشغيل: development, testing, production | |
| mode: development | |
| # مستوى التسجيل: DEBUG, INFO, WARNING, ERROR, CRITICAL | |
| log_level: INFO | |
| # المنطقة الزمنية (استخدم تنسيق tzdata) | |
| timezone: UTC | |
| # مسار ملفات السجلات | |
| log_path: logs/ | |
| # تفعيل وضع التحسينات (Production فقط) | |
| optimizations: false | |
| ``` | |
| ### شرح الخيارات | |
| | الخيار | القيم الممكنة | الافتراضي | الوصف | | |
| |--------|---------------|-----------|-------| | |
| | mode | development, testing, production | development | يحدد بيئة التشغيل | | |
| | log_level | DEBUG, INFO, WARNING, ERROR, CRITICAL | INFO | يتحكم في كمية السجلات | | |
| | timezone | أي منطقة زمنية صالحة | UTC | المنطقة الزمنية للسجلات | | |
| | log_path | مسار مجلد | logs/ | مكان تخزين السجلات | | |
| | optimizations | true, false | false | تفعيل تحسينات الأداء | | |
| --- | |
| ## القسم الثاني: إعدادات المراقبة | |
| ```yaml | |
| # config/settings.yaml - قسم المراقبة | |
| monitoring: | |
| # تفعيل المراقبة | |
| enabled: true | |
| # مصادر السجلات للمراقبة | |
| log_sources: | |
| - /var/log/auth.log # سجلات المصادقة | |
| - /var/log/syslog # سجلات النظام العامة | |
| - /var/log/nginx/access.log # سجلات خادم الويب | |
| # الفاصل الزمني للفحص (بالثواني) | |
| scan_interval: 5 | |
| # تفعيل الفحص العميق (أبطأ لكنه أكثر دقة) | |
| deep_scan: false | |
| # الأنماط المشبوهة للكشف (قاعدة منفصلة) | |
| patterns_file: config/rules.yaml | |
| # تفعيل المراقبة في الوقت الفعلي | |
| realtime_monitoring: true | |
| # حجم ذاكرة التخزين المؤقت للأحداث | |
| event_buffer_size: 1000 | |
| ``` | |
| ### شرح الخيارات | |
| | الخيار | القيم الممكنة | الافتراضي | الوصف | | |
| |--------|---------------|-----------|-------| | |
| | enabled | true, false | true | تفعيل أو إلغاء المراقبة | | |
| | log_sources | قائمة مسارات | - | مصادر السجلات للمراقبة | | |
| | scan_interval | رقم (ثواني) | 5 | الفاصل بين عمليات الفحص | | |
| | deep_scan | true, false | false | فحص أعمق وأدق | | |
| | realtime_monitoring | true, false | true | مراقبة في الوقت الفعلي | | |
| | event_buffer_size | رقم | 1000 | حجم التخزين المؤقت | | |
| --- | |
| ## القسم الثالث: قواعد الكشف | |
| ```yaml | |
| # config/rules.yaml - قواعد الكشف | |
| # أنماط هجوم القوة الغاشبة | |
| brute_force: | |
| enabled: true | |
| threshold: 5 # عدد المحاولات | |
| time_window: 60 # بالم seconds | |
| ports: [22, 2222] # المنافذ المستهدفة | |
| # أنماط المسح الضوئي للمنافذ | |
| port_scan: | |
| enabled: true | |
| min_ports: 3 # الحد الأدنى للمنافذ | |
| time_window: 30 # بالم seconds | |
| severity: high | |
| # أنماط حقن SQL | |
| sql_injection: | |
| enabled: true | |
| severity: critical | |
| auto_block: true | |
| # أنماط XSS | |
| xss: | |
| enabled: true | |
| severity: high | |
| auto_block: false | |
| # أنماط الوصول غير المصرح به | |
| unauthorized_access: | |
| enabled: true | |
| severity: critical | |
| auto_block: true | |
| ``` | |
| --- | |
| ## القسم الرابع: إعدادات الحظر | |
| ```yaml | |
| # config/settings.yaml - قسم الحظر | |
| blocking: | |
| # تفعيل الحظر التلقائي | |
| enabled: true | |
| # عدد المحاولات قبل الحظر | |
| threshold: 5 | |
| # الفترة الزمنية للمحاولات (بالثواني) | |
| time_window: 60 | |
| # تفعيل IPTables للحظر | |
| use_iptables: true | |
| # تفعيل firewalld للحظر | |
| use_firewalld: false | |
| # تفعيل الحظر في Cloudflare | |
| use_cloudflare: false | |
| # قائمة السماح (عناوكات لا تُحظر) | |
| whitelist: | |
| - 127.0.0.1 | |
| - 192.168.1.1 | |
| - 10.0.0.1 | |
| # قائمة الحظر الدائم | |
| blacklist: [] | |
| # مدة الحظر الافتراضية (بالدقائق، 0 = دائم) | |
| default_duration: 0 | |
| # إرسال إشعار عند الحظر | |
| notify_on_block: true | |
| ``` | |
| ### شرح الخيارات | |
| | الخيار | القيم الممكنة | الافتراضي | الوصف | | |
| |--------|---------------|-----------|-------| | |
| | enabled | true, false | true | تفعيل الحظر التلقائي | | |
| | threshold | رقم | 5 | عدد المحاولات قبل الحظر | | |
| | time_window | رقم (ثواني) | 60 | الفترة الزمنية | | |
| | use_iptables | true, false | true | استخدام IPTables | | |
| | whitelist | قائمة IPs | [] | عناوين لا تُحظر | | |
| | default_duration | رقم (دقائق) | 0 | مدة الحظر الافتراضية | | |
| --- | |
| ## القسم الخامس: إعدادات الإشعارات | |
| ```yaml | |
| # config/settings.yaml - قسم الإشعارات | |
| notifications: | |
| # تفعيل الإشعارات | |
| enabled: true | |
| # عنوان المرسل | |
| sender_name: "Auto-Guardian System" | |
| # ---- Slack ---- | |
| slack: | |
| enabled: false | |
| webhook_url: "" | |
| channel: "security-alerts" | |
| username: "Auto-Guardian" | |
| icon_emoji: ":shield:" | |
| # ---- Discord ---- | |
| discord: | |
| enabled: false | |
| webhook_url: "" | |
| username: "Auto-Guardian" | |
| avatar_url: "" | |
| # ---- البريد الإلكتروني ---- | |
| email: | |
| enabled: false | |
| smtp_host: "smtp.gmail.com" | |
| smtp_port: 587 | |
| use_tls: true | |
| username: "" | |
| password: "" | |
| from_address: "noreply@autoguardian.local" | |
| to_addresses: | |
| - "admin@example.com" | |
| # ---- عام ---- | |
| # تفعيل الإشعارات للتهديدات الحرجة فقط | |
| critical_only: false | |
| # وقت عدم الإرسال (بالساعات، 0 = نش) | |
| quietط دائماً_hours: 0 | |
| ``` | |
| --- | |
| ## القسم السادس: إعدادات Prometheus | |
| ```yaml | |
| # config/settings.yaml - قسم Prometheus | |
| prometheus: | |
| # تفعيل Prometheus | |
| enabled: true | |
| # منفذ الاستماع | |
| port: 9090 | |
| # مسار /metrics | |
| metrics_path: /metrics | |
| # تفعيل جمع السجلات | |
| include_logs: true | |
| # تضمين معلومات النظام | |
| include_system_info: true | |
| # تضمين معلومات التهديدات | |
| include_threat_info: true | |
| ``` | |
| ### مقاييس Prometheus المتاحة | |
| | المقياس | النوع | الوصف | | |
| |---------|-------|-------| | |
| | autoguardian_threats_total | Counter | إجمالي التهديدات | | |
| | autoguardian_blocked_ips | Gauge | عدد العناوكات المحظورة | | |
| | autoguardian_blocked_ips_active | Gauge | العناوكات النشطة | | |
| | autoguardian_success_rate | Gauge | معدل النجاح | | |
| | autoguardian_response_time_seconds | Histogram | زمن الاستجابة | | |
| | autoguardian_alerts_sent | Counter | التنبيهات المرسلة | | |
| --- | |
| ## القسم السابع: إعدادات الأمان | |
| ```yaml | |
| # config/settings.yaml - قسم الأمان | |
| security: | |
| # تفعيل التحقق من التحديثات الأمنية | |
| security_checks: true | |
| # فترة التحقق من التحديثات (بالساعات) | |
| check_interval: 24 | |
| # تفعيل تسجيل التدقيق | |
| audit_logging: true | |
| # مسار ملف سجل التدقيق | |
| audit_log_path: logs/audit.log | |
| # تفعيل HTTPS | |
| use_https: false | |
| # ملف الشهادة (للإنتاج) | |
| ssl_cert: "" | |
| ssl_key: "" | |
| # فترة انتهاء الجلسة (بالساعات) | |
| session_timeout: 24 | |
| ``` | |
| --- | |
| ## أمثلة التكوين | |
| ### تكوين التطوير | |
| ```yaml | |
| # config/settings.yaml - وضع التطوير | |
| general: | |
| mode: development | |
| log_level: DEBUG | |
| timezone: UTC | |
| monitoring: | |
| enabled: true | |
| scan_interval: 5 | |
| deep_scan: false | |
| blocking: | |
| enabled: false # لا تحظر في التطوير | |
| notifications: | |
| enabled: false # لا ترسل إشعارات في التطوير | |
| prometheus: | |
| enabled: false | |
| ``` | |
| ### تكوين الإنتاج | |
| ```yaml | |
| # config/settings.yaml - وضع الإنتاج | |
| general: | |
| mode: production | |
| log_level: WARNING | |
| timezone: Asia/Riyadh | |
| monitoring: | |
| enabled: true | |
| scan_interval: 1 | |
| deep_scan: true | |
| blocking: | |
| enabled: true | |
| threshold: 3 | |
| time_window: 30 | |
| use_iptables: true | |
| default_duration: 360 # 6 ساعات | |
| notifications: | |
| enabled: true | |
| slack: | |
| enabled: true | |
| webhook_url: ${SLACK_WEBHOOK_URL} | |
| discord: | |
| enabled: true | |
| webhook_url: ${DISCORD_WEBHOOK_URL} | |
| prometheus: | |
| enabled: true | |
| port: 9090 | |
| security: | |
| security_checks: true | |
| audit_logging: true | |
| use_https: true | |
| ssl_cert: /etc/ssl/certs/cert.pem | |
| ssl_key: /etc/ssl/private/key.pem | |
| session_timeout: 8 | |
| ``` | |
| --- | |
| ## متغيرات البيئة | |
| يمكن تجاوز إعدادات YAML باستخدام متغيرات البيئة: | |
| | متغير البيئة | المقابل في YAML | | |
| |--------------|-----------------| | |
| | AG_MODE | general.mode | | |
| | AG_LOG_LEVEL | general.log_level | | |
| | AG_BLOCKING_ENABLED | blocking.enabled | | |
| | AG_SLACK_WEBHOOK_URL | notifications.slack.webhook_url | | |
| | AG_PROMETHEUS_PORT | prometheus.port | | |
| مثال: | |
| ```bash | |
| export AG_MODE=production | |
| export AG_LOG_LEVEL=WARNING | |
| export AG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... | |
| ``` | |
| --- | |
| ## التحقق من الإعدادات | |
| للتحقق من صحة ملف الإعدادات: | |
| ```bash | |
| python -c " | |
| import yaml | |
| with open('config/settings.yaml') as f: | |
| config = yaml.safe_load(f) | |
| print('✅ الإعدادات صالحة') | |
| print(f'وضع التشغيل: {config[\"general\"][\"mode\"]}') | |
| print(f'المسار: {config[\"monitoring\"][\"enabled\"]}') | |
| " | |
| ``` | |
| --- | |
| ## الدعم | |
| للمساعدة في الإعدادات: | |
| - **المستندات:** راجع التوثيق الكامل | |
| - **GitHub Issues:** أبلغ عن مشكلة | |
| - **البريد:** support@autoguardian.local | |