0Pricing
Cloud & IT Cert Prep · درس

مجموعات الأمان وأزواج المفاتيح

تحكّموا في حركة المرور الواردة والصادرة باستخدام مجموعات الأمان، وأديروا مصادقة SSH باستخدام أزواج مفاتيح EC2.

مجموعات الأمان وأزواج المفاتيح درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ما هي Security Groups؟

تُعد security group جدار حماية افتراضيًا ذا حالة يتحكم في حركة المرور الواردة والصادرة إلى مثيل EC2 ومنه، أو إلى موارد AWS الأخرى مثل RDS وLambda وELB ومنها. تعمل Security Groups على مستوى المثيل، إذ تحدد كل قاعدة بروتوكولًا (TCP/UDP/ICMP) ونطاق منافذ ومصدرًا أو وجهةً، مثل نطاق IP أو security group أخرى. وعلى عكس جدران الحماية التقليدية، تكون Security Groups ذات حالة: فإذا سمحت بحركة مرور واردة، يُسمح تلقائيًا بحركة مرور الاستجابة الصادرة دون الحاجة إلى قاعدة صريحة.

قواعد الوارد والصادر

لدى Security Groups مجموعات قواعد منفصلة للوارد وللصادر. تتحكم قواعد الوارد في حركة المرور التي تصل إلى المثيل، ويُرفض افتراضيًا كل مرور وارد. وتتحكم قواعد الصادر في حركة المرور التي تغادر المثيل، ويُسمح افتراضيًا بكل المرور الصادر. يمكنك إضافة قواعد Allow صريحة؛ ولا توجد قواعد Deny صريحة في Security Groups، فاستخدم Network ACLs للرفض الصريح. تُقيَّم جميع قواعد security group معًا باستخدام OR منطقي، إذ تسمح أي قاعدة Allow مطابقة بحركة المرور.

# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 80 \
  --cidr 0.0.0.0/0

ربط Security Groups

تدعم Security Groups مراجع security group للمصدر أو الوجهة، وهي أكثر مرونة وأمانًا من تحديد نطاقات IP. على سبيل المثال، تسمح security group الخاصة بـ ALB بالوصول من 0.0.0.0/0 على المنفذ 443. وتسمح security group الخاصة بمثيلات EC2 بحركة المرور الواردة على المنفذ 8080 من معرّف security group الخاصة بـ ALB فقط، وليس من أي عنوان IP. إذا استُبدل ALB أو تم توسيعه، تظل القاعدة مطبقة بشكل صحيح دون تغييرات في عناوين IP. ينشئ هذا النمط دفاعًا ديناميكيًا متعدد الطبقات للبنى متعددة الطبقات.

# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
  --group-id sg-ec2-instances \
  --protocol tcp \
  --port 8080 \
  --source-group sg-load-balancer

Security Groups ذات حالة

تعني خاصية الحالة أن security group تتتبع حالة الاتصال. فإذا سمحت قاعدة الوارد لديك بمنفذ TCP رقم 80 من الإنترنت وأرسل عميل طلبًا، يُسمح تلقائيًا لحزم الاستجابة الصادرة بالعودة إلى العميل، حتى في حال عدم وجود قاعدة صادرة للمنفذ 80. يختلف ذلك جذريًا عن Network ACLs، فهي عديمة الحالة وتتطلب قواعد صريحة لكلا اتجاهي حركة المرور. تجعل خاصية الحالة إعداد Security Groups أسهل لأنماط حركة مرور التطبيقات المعتادة.

عدة Security Groups على مثيل واحد

يمكنك إرفاق عدة Security Groups بمثيل EC2 واحد، حتى 5 افتراضيًا مع إمكانية التعديل. تُدمج قواعد جميع Security Groups المرفقة باستخدام الاتحاد، أي منطق OR، فإذا سمحت أي security group بطلب ما، يُسمح بالطلب. وهذا يعني أن Security Groups يمكنها فقط إضافة الأذونات ولا يمكنها تقييدها أبدًا. إذا أردت تشديد الوصول، يجب إزالة القواعد أو تعديلها، وليس إضافة security group أكثر تقييدًا. ضع هذا السلوك التراكمي في اعتبارك عند الإجابة عن أسئلة الاختبار المتعلقة بتقييد الوصول.

سلوك security group الافتراضية

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

Key Pairs: آلية عملها

تستخدم key pairs في EC2 التشفير غير المتماثل لمصادقة SSH. تنشئ AWS زوج المفاتيح، أو تستورد مفتاحك العام بنفسك: تحتفظ AWS بـ المفتاح العام وتحقنه في المثيل عند التشغيل، بينما تنزّل المفتاح الخاص وتخزنه، وهو ملف .pem، ولا تحتفظ AWS به أبدًا. يستخدم SSH المفتاح الخاص لإثبات هويتك للخادم من دون إرسال كلمة مرور. يجب أن تكون للمفتاح الخاص أذونات مقيدة (chmod 400) وإلا فسيرفض SSH استخدامه.

# Create a key pair and save the private key
aws ec2 create-key-pair \
  --key-name ProdKey \
  --key-type rsa \
  --key-format pem \
  --query 'KeyMaterial' \
  --output text > ProdKey.pem
chmod 400 ProdKey.pem

استعادة الوصول من دون Key Pair

إذا فقدت المفتاح الخاص لمثيل Linux EC2، فلن تتمكن من الاتصال عبر SSH بالطريقة المعتادة. تشمل خيارات الاستعادة: Systems Manager Session Manager، إذا كان وكيل SSM يعمل وكان دور IAM مرفقًا، ولا يحتاج إلى مفتاح؛ وEC2 Instance Connect، الذي يحقن مفتاحًا مؤقتًا عبر المتصفح أو CLI ويتطلب منفذ SSH مفتوحًا وأذونات EIC؛ أو إيقاف المثيل، وفصل وحدة تخزين EBS الجذرية، وإرفاقها بمثيل آخر، وتعديل ملف authorized_keys، ثم إعادة إرفاقها وإعادة التشغيل. بالنسبة إلى Windows، استخدم Systems Manager لاسترداد كلمة المرور.

# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
  --instance-id i-0abcdef1234567890 \
  --instance-os-user ec2-user \
  --ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67

أفضل ممارسة: تقييد وصول SSH

إن ترك SSH، المنفذ 22، مفتوحًا أمام 0.0.0.0/0 يعرّض مثيلك لهجمات القوة الغاشمة وحشو بيانات الاعتماد من أي مكان على الإنترنت. من أفضل الممارسات: تقييد SSH على نطاق IP المؤسسي المحدد لديك، أو استخدام bastion host، أي jump box، في شبكة فرعية عامة مع security group مضبوطة بإحكام، ثم الاتصال عبر SSH من bastion إلى المثيلات الخاصة. والأفضل من ذلك استخدام Systems Manager Session Manager لإلغاء تعريض منفذ SSH بالكامل، فلا تحتاج إلى أي قواعد وارد على الإطلاق.

# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
  --group-id sg-12345678 \
  --protocol tcp \
  --port 22 \
  --cidr 198.51.100.0/24  # Your corporate CIDR

حدود وحصص Security Groups

من الحدود الافتراضية المهمة لـ Security Groups، والقابلة للتعديل عبر Service Quotas: ما يصل إلى 2,500 security group لكل VPC، و60 قاعدة وارد و60 قاعدة صادر لكل security group، و5 Security Groups لكل واجهة شبكة. عند الإشارة إلى security group أخرى كمصدر، يُحتسب كل اقتران بين security group المُشار إليها والقاعدة كقاعدة واحدة. إذا وصلت إلى حدود القواعد، فاجمعها عبر الإشارة إلى معرّفات Security Groups بدلًا من نطاقات IP الفردية، أو استخدم prefix lists لتجميع عدة CIDRs في كيان واحد يسهل إدارته.

Managed Prefix Lists

تُعد managed prefix list مجموعة من كتل CIDR يمكنك الإشارة إليها في قواعد security group أو جداول التوجيه. تحتفظ AWS بـ AWS-managed prefix lists لخدمات مثل S3 وCloudFront، بحيث يمكنك السماح بحركة المرور إلى هذه الخدمات ومنها من دون إدارة نطاقات IP بنفسك، والتي تتغير مع الوقت. يمكنك أيضًا إنشاء customer-managed prefix lists لتجميع نطاقات IP المؤسسية لديك، فتحدّث prefix list في مكان واحد وترث جميع Security Groups التي تشير إليها التغيير تلقائيًا.

# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
  --group-id sg-12345678 \
  --ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'

تحقق سريع

اختبر فهمك لمفاهيم AWS Solutions Architect ‏(SAA-C03) من هذا الدرس.

ملخص الدرس

تعلمت في هذا الدرس أن Security Groups هي جدران حماية افتراضية ذات حالة تسمح بحركة المرور وفق قواعدها وتمنعها افتراضيًا، وأن ربط Security Groups بالمعرّف أكثر أمانًا ومرونة من استخدام نطاقات IP، وأن key pairs توفر مصادقة SSH غير متماثلة، بينما يلغي Systems Manager Session Manager الحاجة إلى منافذ SSH المفتوحة. سنتناول بعد ذلك خيارات تخزين EC2: Instance Store مقابل EBS.

الأسئلة الشائعة

هل درس «مجموعات الأمان وأزواج المفاتيح» مجاني؟

نعم — نص درس «مجموعات الأمان وأزواج المفاتيح» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «مجموعات الأمان وأزواج المفاتيح»؟

تحكّموا في حركة المرور الواردة والصادرة باستخدام مجموعات الأمان، وأديروا مصادقة SSH باستخدام أزواج مفاتيح EC2. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مجموعات الأمان وأزواج المفاتيح»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إطلاق أول مثيل EC2 لكم
  2. أنواع المثيلات ونماذج التسعير
  3. مجموعات الأمان وأزواج المفاتيح
  4. تخزين EC2: مخزن المثيل مقابل EBS
← العودة إلى Cloud & IT Cert Prep