الفرق الزرقاء — الدفاعمتقدم70mL18

Hardening — قبل المهاجم بيوم

CIS و WAF و Zero Trust و Patching — قفل الأبواب اللي قدامه

#CIS#WAF#Zero Trust#Patching

مبدأ الحماية المتعدد الطبقات — Defense in Depth

تشبيه — شرح مبسط
بُص. القلعة في العصور الوسطى ما كانتش بتعتمد على سور واحد.. خندق.. سور برّاني.. سور جوّاني.. برج رئيسي.. وحرّاس. لو طبقة وقعت، اللي بعدها بتمسك. ده بالظبط Defense in Depth.

القاعدة بسيطة: ما تحطش كل بيضك في سلة واحدة. أي طبقة هتفشل يوم ما — أنت عايز اللي بعدها جاهزة.

Equifax 2017 — قصة طبقة وحدة سقطت فبيت كله انهار
ثغرة Apache Struts (CVE-2017-5638) اتعلن عنها في مارس. Equifax ما رقّعتش الـ web server. مفيش WAF بيمنع الـ payload. مفيش egress filtering — الـ server طلع بيكلم C2 برّه. مفيش segmentation — من الـ web تنقّل لـ DB سيرفر فيه 147 مليون SSN. كل طبقة كان لازم تكون موجودة. كل طبقة كانت ناقصة. الخسارة: 700 مليون دولار + الـ CEO اتفصل + قضية كونغرس.

مبادئ ذهبية — احفظهم زي اسمك

- يا حضرتك أنا بشتغل في حتة موثوقة.. كل الأجهزة بتاعتنا.. هحتاج كل ده ليه؟

يا مستجد، متوقّع كالعادة. الثقة دي بالظبط هي اللي بتحرقك. اقرا بقى:

  1. Least Privilege — أقل صلاحية ممكنة لكل مستخدم وخدمة. لو الـ app محتاج يقرا بس، ما تديهوش write.
  2. Zero Trust — ما تثقش في حد ولا في شبكة، تحقق في كل مرة. حتى الجهاز اللي جوّه الـ corporate LAN.
  3. Assume Breach — افترض إنك متخرق دلوقتي، واشتغل على الكشف والاحتواء.
  4. Defense in Depth — طبقات كتير ومتنوعة، مش نفس النوع مكرر.
  5. Secure by Default — الإعداد الافتراضي يكون آمن. محدش بيقرا الـ docs.

تصلب نظام Linux

hardening checklist
# 1) تحديث دائم
unattended-upgrades + apt-listbugs

# 2) SSH
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin
MaxAuthTries 3

# 3) UFW / nftables — deny by default
ufw default deny incoming
ufw allow from 10.0.0.0/8 to any port 22

# 4) fail2ban على SSH و web
# 5) auditd لمراقبة استدعاءات النظام
# 6) AIDE لمراقبة سلامة الملفات
# 7) AppArmor / SELinux في وضع enforcing
# 8) تعطيل خدمات غير مستخدمة
# 9) blacklist usb-storage
معايير قابلة للقياس — ما تخترعش العجلة
  • CIS Benchmarks — نقاط مفصّلة لكل توزيعة، حد قعد سنين يكتبها.
  • DISA STIGs — معايير وزارة الحماية الأمريكية، أصرم شوية.
  • أتمتها بـ OpenSCAP / Lynis / Wazuh SCA — مفيش سبب تعمل المسح يدوي.

تصلب الويب — Web Hardening

HTTP Headers ضرورية

nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "DENY";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'sha256-...';";

WAF — Web Application Firewall

  • Cloudflare WAF, AWS WAF, ModSecurity + OWASP CRS.
  • قواعد SQLi / XSS / LFI / RCE + rate limiting.
  • مراقبة الـ false positives أهم من إضافة المزيد من القواعد.

تصلب قاعدة البيانات

  • مستخدم لكل تطبيق بصلاحية محدودة. لا root أبداً.
  • لا DB على الإنترنت — فقط داخل VPC.
  • تشفير في الراحة (at rest) و في النقل (in transit).
  • Audit logging + slow query log + honey tables.
  • Backup منفصل + restore drills دورية.

إدارة الهويات — Identity Hardening

  1. MFA إجباري لكل المستخدمين، خاصة الـ admins.
  2. SSO مركزي — يسهّل الرفع و العزل عند التغيير.
  3. PAM (Privileged Access Management) — جلسات مسجّلة كاملة.
  4. تدوير passwords/keys دورياً.
  5. كشف credential stuffing عبر مقارنة بقواعد التسريبات.

الشبكة — Network Hardening

  • Microsegmentation — كل خدمة في subnet خاص.
  • Egress filtering — السيرفر لا يكلّم الإنترنت إلا لـ domains محددة.
  • DNS filtering (Cisco Umbrella, Quad9, Pi-hole) ضد C2.
  • VPN / SASE / ZTNA بدلاً من فتح RDP و SSH للإنترنت.
  • 802.1X + NAC داخل المؤسسة.

إدارة الأسرار — Secrets Management

  • HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager.
  • أبداً في الكود أو في .env اللي ممكن يترفع.
  • Pre-commit hooks: gitleaks, detect-secrets.
  • تدوير دوري + short-lived tokens.

غلطات الـ junior في الـ hardening

اللي بيحصل فعلياً عند كتير من الجهات عندنا
  • عندك CIS Benchmark على ورق — على السيرفرات، الـ SSH لسه root login مفتوح.
  • الـ MFA "إجباري" — ما عدا الـ break-glass account اللي باسوردها على sticky note جنب الموظف.
  • الـ DB في VPC خاص — بس الـ jump host بتاعها مفتوح SSH للإنترنت بـ password auth.
  • الـ secrets في Vault — بس الـ root token محفوظ في wiki داخلي بيقرأه أي حد.
  • الـ patching policy "كل شهر" — السيرفر اللي بيشغل الـ ERP من 2019 وما اتلمسش "علشان حساس".

الخلاصة: الـ hardening مش ورق. لو الـ baseline موجود في policy وغير موجود على disk = أنت بتمثّل أمن. المهاجم بيشوف الـ disk، مش الـ policy.

الخلاصة الناشفة

كل طبقة لوحدها هتفشل يوم ما.

ده مش تشاؤم.

ده تخطيط.

اللي عنده 5 طبقات ضعيفة بيكسب على اللي عنده طبقة واحدة "ممتازة". وأنت ونصيبك في الباقي.