التوثيق والأدلة المرجعية المختصرة

مراجع سريعة تُبقيها مفتوحة أثناء العمل. ابحث في جميع الأوراق المرجعية دفعة واحدة.

الأمن السيبراني

OWASP Top 10 (2021)

أهم عشرة مخاطر أمنية لتطبيقات الويب، ومعنى كل منها.

المخاطرمعناه
A01خلل في التحكم بالوصول: يصل المستخدمون إلى بيانات أو إجراءات غير مصرّح لهم بها.
A02إخفاقات التشفير: إرسال بيانات حساسة أو تخزينها دون تشفير قوي.
A03الحقن: تُنفَّذ المدخلات كشيفرة SQL أو أوامر shell أو شيفرة أخرى. ويشمل البرمجة النصية عبر المواقع.
A04تصميم غير آمن: لم يُخطَّط للأمان منذ البداية.
A05سوء التهيئة الأمنية: كلمات مرور افتراضية، وتخزين مكشوف، ورسائل خطأ مفرطة التفاصيل.
A06مكوّنات ضعيفة وقديمة: مكتبات قديمة بها ثغرات معروفة.
A07إخفاقات تحديد الهوية والمصادقة: آليات دخول ضعيفة، وغياب المصادقة متعددة العوامل (MFA)، وجلسات غير آمنة.
A08إخفاقات سلامة البرمجيات والبيانات: تحديثات وخطوط معالجة غير متحقق منها.
A09إخفاقات تسجيل الأحداث الأمنية ومراقبتها: تمر الهجمات دون ملاحظة.
A10تزوير الطلبات من جانب الخادم: يُخدع الخادم لإرسال طلبات إلى عناوين داخلية.

الأمن السيبراني

خطوات الاستجابة للحوادث

دورة حياة الاستجابة للحوادث وفق NIST، بترتيب تنفيذ مراحلها.

خطوةما تفعله
التحضيرجهّز الخطط وجهات الاتصال والأدوات والنسخ الاحتياطية قبل وقوع أي حادث.
الكشف والتحليلاكتشف الحادث، وتحقق منه، وقيّم مدى خطورته.
الاحتواءأوقف الانتشار: اعزل الأجهزة، أو احظر الحسابات أو العناوين.
الاستئصالأزِل السبب: البرمجيات الخبيثة والأبواب الخلفية والحسابات المخترقة.
التعافياستعِد الأنظمة من نسخ احتياطية سليمة وراقبها عن كثب.
الدروس المستفادةوثّق ما حدث وعالج الثغرات حتى لا يتكرر.

الشبكات

المنافذ الشائعة

منافذ ستصادفها في الخوادم وعمليات الفحص وقواعد جدار الحماية.

منفذخدمة
20/tcp · FTP dataقناة بيانات نقل الملفات. غير مشفرة: يُفضّل استخدام SFTP.
21/tcp · FTPالتحكم في نقل الملفات. يرسل كلمات المرور بنص صريح.
22/tcp · SSHتسجيل الدخول عن بُعد ونسخ الملفات بأمان (SFTP، SCP).
23/tcp · Telnetتسجيل دخول قديم عن بُعد دون تشفير. عطّله واستخدم SSH.
25/tcp · SMTPتسليم البريد الإلكتروني بين خوادم البريد.
53/tcp/udp · DNSعمليات البحث عن أسماء النطاقات.
67/udp · DHCPيوزّع عناوين IP على شبكة محلية.
80/tcp · HTTPحركة مرور ويب غير مشفّرة. أعد توجيهها إلى HTTPS.
110/tcp · POP3تنزيل البريد الإلكتروني (قديم وغير مشفر).
123/udp · NTPمزامنة الوقت.
143/tcp · IMAPقراءة البريد الإلكتروني على الخادم (دون تشفير).
161/udp · SNMPمراقبة أجهزة الشبكة. غيّر سلاسل المجتمع الافتراضية.
389/tcp · LDAPخدمات الدليل مثل Active Directory.
443/tcp · HTTPSحركة مرور الويب المشفرة (HTTP عبر TLS).
445/tcp · SMBمشاركة الملفات في Windows. لا تُتح الوصول إليها عبر الإنترنت مطلقًا.
587/tcp · SMTP submissionإرسال البريد الإلكتروني من تطبيق أو عميل بريد باستخدام TLS.
993/tcp · IMAPSقراءة البريد الإلكتروني عبر TLS.
1433/tcp · MS SQLقاعدة بيانات Microsoft SQL Server.
3306/tcp · MySQLقواعد بيانات MySQL وMariaDB. أبقها غير متاحة للعامة.
3389/tcp · RDPسطح المكتب البعيد في Windows. هدف شائع للهجمات: اجعل الوصول إليه عبر VPN فقط.
5432/tcp · PostgreSQLقاعدة بيانات PostgreSQL. أبقِ الوصول إليها خاصًا.
6379/tcp · Redisذاكرة التخزين المؤقت Redis. غالبًا ما تُترك متاحة دون كلمة مرور.
8080/tcp · HTTP altمنفذ شائع لخوادم التطوير والخوادم الوكيلة.
27017/tcp · MongoDBقاعدة بيانات MongoDB. أبقها غير متاحة للعامة.

تطوير البرمجيات

رموز حالة HTTP

معاني الأرقام في استجابات API وأخطاء المتصفح.

الشيفرةالمعنى
200 OKنجح الطلب.
201 Createdتم إنشاء مورد جديد.
204 No Contentنجحت العملية ولا يوجد ما يُرسَل في الرد.
301 Moved Permanentlyتغيّر العنوان نهائيًا؛ انتقل إلى العنوان الجديد.
304 Not Modifiedنسختك المخزّنة مؤقتًا لا تزال محدّثة.
400 Bad Requestصيغة الطلب غير سليمة أو الطلب غير صالح.
401 Unauthorizedلم يُسجّل الدخول، أو الرمز المميز مفقود أو منتهي الصلاحية.
403 Forbiddenتم تسجيل الدخول، لكن لا يُسمح لك بتنفيذ هذا الإجراء.
404 Not Foundلا يوجد شيء في هذا العنوان.
409 Conflictيتعارض الطلب مع الحالة الحالية، كما في حالة التكرار.
429 Too Many Requestsتم بلوغ حد معدل الطلبات؛ انتظر وأعد المحاولة.
500 Internal Server Errorحدث خلل في الخادم.
502 Bad Gatewayتلقى خادم وسيط استجابة غير صالحة من الخادم التالي.
503 Service Unavailableالخادم مثقل بالطلبات أو متوقف للصيانة.

تطوير البرمجيات

دليل مختصر لأوامر Git

أوامر Git التي تغطي احتياجات كل يوم عمل تقريبًا.

الأمرما يفعله
git clone <url>انسخ مستودعًا إلى حاسوبك.
git statusاعرض ما تغيّر وما جرى تجهيزه للإيداع.
git add -pجهّز التغييرات للإيداع جزءًا جزءًا بعد مراجعتها.
git commit -m "message"احفظ لقطة مع رسالة.
git switch -c featureأنشئ فرعًا وانتقل إليه.
git pull --rebaseاجلب أحدث التغييرات وأعد تطبيق تغييراتك فوقها.
git push -u origin featureارفع فرعك واضبط تتبّعه.
git log --oneline --graphاعرض سجلًا موجزًا يتضمن الفروع.
git diffاعرض التغييرات التي لم تُجهّز للإيداع بعد.
git stashاحفظ التغييرات غير المكتملة جانبًا لوقت لاحق.
git revert <commit>تراجع عن إيداع بإيداع جديد، مع الاحتفاظ بالسجل.

الحوسبة السحابية وLinux

ورقة مرجعية لأوامر Linux

الأوامر التي ستستخدمها يوميًا على خادم Linux.

الأمرما يفعله
pwdاعرض المجلد الذي توجد فيه.
ls -laاعرض جميع الملفات مع تفاصيلها، بما فيها الملفات المخفية.
cd /var/logانقل إلى مجلد آخر.
cat file.txtاعرض محتوى ملف.
less file.txtاقرأ ملفًا طويلًا صفحةً بصفحة.
grep -i error app.logابحث عن الأسطر التي تحتوي على كلمة، مع تجاهل حالة الأحرف.
chmod 755 script.shغيّر أذونات الملف.
chown user:group fileغيّر مالك الملف.
ps auxاعرض العمليات قيد التشغيل.
topراقب استخدام CPU والذاكرة لحظيًا.
df -hاعرض مساحة القرص المتاحة.
sudo apt update && sudo apt upgradeثبّت التحديثات على Debian أو Ubuntu.
ssh user@hostاتصل بخادم بعيد.
tail -f /var/log/syslogتابع ملف سجل مع تزايد محتواه.

الحوسبة السحابية وLinux

أوامر Docker وKubernetes

ابنِ الحاويات وشغّلها وصحّح أخطاءها، ثم أدِرها على عنقود.

الأمرما يفعله
docker build -t app .ابنِ صورة من Dockerfile في هذا المجلد.
docker run -p 8080:80 appشغّل الصورة وأتِح المنفذ 80 عبر المنفذ 8080.
docker psاعرض الحاويات قيد التشغيل.
docker logs -f <id>تابع مخرجات حاوية.
docker exec -it <id> shافتح صدفة أوامر داخل حاوية قيد التشغيل.
kubectl get podsاعرض وحدات pod في نطاق الأسماء الحالي.
kubectl describe pod <name>اعرض تفاصيل pod وأحداثه الأخيرة.
kubectl logs <pod>اعرض سجلات وحدة pod.
kubectl apply -f deploy.yamlأنشئ موارد أو حدّثها من ملف.
kubectl rollout undo deployment/appارجع إلى الإصدار السابق.

الشبكات

أنواع سجلات DNS

السجلات التي ستراها في منطقة DNS ووظيفة كل منها.

السجلالغرض
Aيربط اسمًا بعنوان IPv4.
AAAAيربط اسمًا بعنوان IPv6.
CNAMEيجعل اسمًا ما اسمًا مستعارًا لاسم آخر.
MXيحدد خوادم البريد التي تستقبل البريد الإلكتروني للنطاق.
TXTنص حر يُستخدم في SPF وDKIM والتحقق من ملكية النطاق.
NSيسرد خوادم الأسماء المسؤولة عن النطاق.
SOAبداية السلطة: الإعدادات الرئيسية للمنطقة ورقمها التسلسلي.
PTRبحث عكسي: يربط عنوان IP باسم.
SRVيشير إلى المضيف والمنفذ لخدمة محددة.
CAAيحدّد جهات التصديق المسموح لها بإصدار الشهادات.

الشبكات

جدول CIDR وقناع الشبكة الفرعية

طول البادئة وقناع الشبكة الفرعية وإجمالي العناوين والمضيفون القابلون للاستخدام.

البادئةالقناع · الإجمالي · القابل للاستخدام
/8255.0.0.0 · 16,777,216 · 16,777,214
/16255.255.0.0 · 65,536 · 65,534
/20255.255.240.0 · 4,096 · 4,094
/22255.255.252.0 · 1,024 · 1,022
/24255.255.255.0 · 256 · 254
/25255.255.255.128 · 128 · 126
/26255.255.255.192 · 64 · 62
/27255.255.255.224 · 32 · 30
/28255.255.255.240 · 16 · 14
/29255.255.255.248 · 8 · 6
/30255.255.255.252 · 4 · 2
/32255.255.255.255 · 1 · 1

الشبكات

أوامر استكشاف أخطاء الشبكة وإصلاحها

أوامر لتحديد موضع انقطاع الاتصال. اختبر فقط الأنظمة التي تملكها أو لديك إذن باختبارها.

الأمرما يفعله
ping -c 4 example.comتحقّق من استجابة مضيف ومن الوقت الذي تستغرقه.
traceroute example.comاعرض كل جهاز توجيه تمر به الحزمة في طريقها.
dig example.com Aاستعلم عن سجلات DNS لاسم معيّن.
nslookup example.comاستعلام DNS أبسط يعمل على معظم الأنظمة.
curl -I https://example.comاجلب ترويسات الاستجابة لصفحة ويب فقط.
ip addrاعرض واجهات الشبكة وعناوين IP لديك.
ip routeاعرض وجهات إرسال حركة المرور، بما فيها البوابة الافتراضية.
ss -tulpnاعرض منافذ الاستماع والبرامج التي فتحتها.
nmap -sV 192.168.1.10افحص مضيفًا تملكه للاطلاع على المنافذ المفتوحة وإصدارات الخدمات.
tcpdump -i eth0 port 53التقط حزم DNS على واجهة شبكة.

تطوير البرمجيات

ورقة مرجعية لـ SQL

العبارات التي تُستخدم في معظم عمليات قواعد البيانات. مرّر مدخلات المستخدم دائمًا كمعاملات، وليس بدمج السلاسل النصية.

عبارةما يفعله
SELECT name, email FROM users;قراءة أعمدة من جدول.
SELECT * FROM orders WHERE total > 100;صفِّ الصفوف وفق شرط.
ORDER BY created_at DESC LIMIT 10رتّب النتائج واحتفظ بالصفوف الأولى فقط.
INSERT INTO users (name) VALUES ($1);أضف صفًا. $1 معامل تُملأ قيمته بأمان.
UPDATE users SET name = $1 WHERE id = $2;عدّل الصفوف الموجودة. لا تنسَ WHERE أبدًا.
DELETE FROM sessions WHERE expires_at < now();إزالة الصفوف المطابقة.
JOIN orders ON orders.user_id = users.idادمج صفوفًا من جدولين يشتركان في قيمة.
SELECT status, count(*) FROM orders GROUP BY status;جمّع الصفوف واحسب عددها أو مجموع قيمها.
CREATE INDEX ON users (email);سرّع عمليات البحث في عمود.
BEGIN; ... COMMIT;نفّذ عدة عبارات ضمن معاملة واحدة تُنفّذ بالكامل أو لا تُنفّذ إطلاقًا.

تطوير البرمجيات

مرجع سريع للتعابير النمطية

أنماط للبحث في النصوص والتحقق من صحتها. جرّبها في أداة اختبار التعابير النمطية.

النمطالتطابقات
.أي محرف واحد باستثناء محرف السطر الجديد.
\d \w \sرقم، أو محرف كلمة، أو محرف مسافة بيضاء.
^ $بداية النص ونهايته.
\bحدّ كلمة.
* + ?صفر أو أكثر، واحد أو أكثر، صفر أو واحد من العنصر السابق.
{2,4}بين 2 و4 من العنصر السابق.
[abc] [^abc]أحد المحارف المدرجة، أو أي محرف غير مدرج.
(cat|dog)مجموعة تطابق cat أو dog وتتذكر المطابقة.
(?:cat|dog)المجموعة نفسها دون حفظها.
(?=x)توكيد استباقي: فقط إذا تلاه x، دون استهلاكه.

الحوسبة السحابية وLinux

أساسيات البرمجة النصية بلغة Bash

العناصر الأساسية لسكربتات shell المستخدمة في الأتمتة.

بنية الصياغةالمعنى
#!/usr/bin/env bashالسطر الأول: البرنامج الذي يشغّل النص البرمجي.
set -euo pipefailأوقف التنفيذ عند حدوث أخطاء أو وجود متغيرات غير معيّنة أو فشل خطوط الأنابيب. إعداد افتراضي أكثر أمانًا.
name="web01"; echo "$name"عيّن متغيرًا واستخدمه. ضعه بين علامتي اقتباس للحفاظ على المسافات.
if [ -f "$file" ]; then ... fiشغّل الأوامر فقط إذا تحقق شرط، وهو هنا وجود ملف.
for f in *.log; do ... doneتكرار الأوامر لكل عنصر في قائمة.
cmd1 | cmd2مرّر مخرجات أمر إلى أمر آخر.
cmd > out.txt cmd >> out.txtاكتب المخرجات في ملف، مع استبدال محتواه أو الإضافة إليه.
$?رمز خروج آخر أمر. تعني القيمة 0 النجاح.
cmd1 && cmd2 cmd1 || cmd2شغّل الأمر الثاني فقط إذا نجح الأول، أو فقط إذا فشل.
chmod +x script.sh && ./script.shاجعل برنامجًا نصيًا قابلًا للتنفيذ ثم شغّله.

الحوسبة السحابية وLinux

صيغة جدولة Cron

خمسة حقول: الدقيقة والساعة واليوم من الشهر والشهر واليوم من الأسبوع. جرّبها في أداة شرح Cron.

تعبيرعمليات التشغيل
* * * * *كل دقيقة.
*/15 * * * *كل 15 دقيقة.
0 * * * *في بداية كل ساعة.
0 2 * * *كل يوم الساعة 02:00.
30 9 * * 1-5الساعة 09:30 في أيام العمل، من الاثنين إلى الجمعة.
0 0 1 * *عند منتصف الليل في اليوم الأول من كل شهر.
0 0 * * 0عند منتصف الليل كل يوم أحد.
0 8,20 * * *مرتين يوميًا، عند 08:00 و20:00.

الحوسبة السحابية وLinux

أنماط أذونات Linux

قيم chmod الشائعة ومتى تُستخدم. القراءة 4، والكتابة 2، والتنفيذ 1.

الوضعالمعنى
777 rwxrwxrwxيمكن للجميع فعل كل شيء. لا يكون هذا صحيحًا إلا نادرًا جدًا.
755 rwxr-xr-xوصول كامل للمالك، وقراءة وتنفيذ للآخرين. شائع للبرامج والمجلدات.
750 rwxr-x---وصول كامل للمالك، وقراءة وتنفيذ للمجموعة، ولا صلاحيات للآخرين.
700 rwx------المالك وحده يملك صلاحية الوصول. مناسب للمجلدات الخاصة.
664 rw-rw-r--يمكن للمالك والمجموعة التعديل، وللآخرين القراءة.
644 rw-r--r--يمكن للمالك التعديل، وللجميع القراءة. شائع لملفات الويب.
640 rw-r-----المالك يعدّل والمجموعة تقرأ. مناسب لملفات الإعدادات التي تحتوي على كلمات مرور.
600 rw-------المالك وحده يمكنه القراءة والكتابة. مطلوب لمفاتيح SSH الخاصة.
400 r--------للقراءة فقط من قِبل المالك. مناسب للمفاتيح التي لا تتغير أبدًا.

الأمن السيبراني

ترويسات أمان الويب وسمات ملفات تعريف الارتباط

ترويسات استجابة تُلزم المتصفحات بسلوك أكثر أمانًا.

ترويسة أو رايةما الذي يحميه
Content-Security-Policyيقيّد المصادر التي يمكن تحميل البرامج النصية والصور والإطارات منها. حماية قوية من XSS.
Strict-Transport-Securityيوجّه المتصفحات إلى استخدام HTTPS دائمًا لهذا الموقع.
X-Content-Type-Options: nosniffيمنع المتصفحات من تخمين أنواع الملفات وتشغيل البرامج النصية المتنكرة.
X-Frame-Options: DENYيمنع المواقع الأخرى من عرض موقعك داخل إطار (اختطاف النقرات).
Referrer-Policyيتحكّم في مقدار ما يُرسل من عنوان صفحتك إلى المواقع الأخرى.
Permissions-Policyيعطّل ميزات المتصفح مثل الكاميرا أو الموقع الجغرافي للصفحة.
Set-Cookie: HttpOnlyيخفي ملف تعريف الارتباط عن JavaScript، فلا يستطيع XSS سرقته.
Set-Cookie: Secureيرسل ملف تعريف الارتباط عبر HTTPS فقط.
Set-Cookie: SameSite=Laxيقيّد ملفات تعريف الارتباط في الطلبات عبر المواقع، مما يحد من CSRF.
Access-Control-Allow-OriginCORS: المواقع الأخرى التي يُسمح لها بقراءة استجابات واجهة API الخاصة بك.

الأمن السيبراني

التشفير في لمحة

أي خوارزمية تستخدم لكل مهمة، وأي خوارزميات تتجنبها.

خوارزميةما هو ومتى يُستخدم
AES-256-GCMتشفير متماثل سريع للبيانات المخزنة وأثناء النقل. يُستخدم المفتاح نفسه للتشفير وفك التشفير.
ChaCha20-Poly1305خوارزمية تشفير متماثل حديثة، ممتازة للهواتف التي لا تدعم تسريع AES عتاديًا.
RSA 2048+التشفير بالمفتاح العام والتوقيعات. أبطأ، ويُستخدم غالبًا لتبادل المفاتيح.
ECDSA / Ed25519توقيعات مدمجة بالمفتاح العام تستخدم مفاتيح أصغر من RSA.
Diffie-Hellmanيتيح لطرفين الاتفاق على سر مشترك عبر قناة مفتوحة.
SHA-256دالة تجزئة تشفيرية للبصمات والتحقق من سلامة البيانات. ليست لكلمات المرور.
HMACتجزئة ممزوجة بمفتاح سري لإثبات عدم تغيير الرسالة.
bcrypt / Argon2بصمات تجزئة بطيئة ومملّحة مصممة لتخزين كلمات المرور.
TLS 1.3البروتوكول الذي يقوم عليه HTTPS. استخدمه وعطّل إصداراته القديمة.
MD5 / SHA-1غير آمنة للاستخدام الأمني. لا تستخدمها أبدًا للتوقيعات أو كلمات المرور.

الأمن السيبراني

مسرد الهجمات الشائعة

تعريفات بلغة مبسطة للهجمات الأكثر شيوعًا.

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

الأمن السيبراني

تكتيكات MITRE ATT&CK

المراحل الـ14 التي يمر بها المهاجمون، ولغة مشتركة للمدافعين.

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