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

أمن الطّبقة الثّانية على Cisco : port-security، SSH، AAA المحلّي

8 دقائق للقراءة

الطّبقة الثّانية في نَموذج OSI (الموزّعات، VLAN، MAC) هي المَكان الذي تَبدأ منه كثير من الهجمات الدّاخليّة : ARP poisoning، MAC flooding، DHCP starvation، VLAN hopping. تَأمين هذه الطّبقة لا يَقلّ أهمّيّة عن تَأمين جدار الحماية الخارجي. هذا الدّرس يَستعرض ثلاث ركائز رئيسيّة في CCNA 200-301 : port-security لِتَقييد العَناوين MAC المسموح بها على المنفذ، SSH كبديل آمن لـ Telnet للإدارة عن بُعد، وAAA المحلّيّ لتَقييد من يَستطيع الدّخول إلى وحدة الإدارة. هذه الإعدادات تَظهر بِشكل دائم في القسم 5 من امتحان CCNA (أمن الشّبكات، 15%).

المتطلّبات

الخطوة 1 — Port Security : أساس حماية الطّبقة الثّانية

يَسمح port-security بِتَقييد عدد عَناوين MAC التي يُمكنها استخدام منفذ معيّن. تَطبيق مثالي : أَحد المُستخدمين يَستطيع تَوصيل لاب توب أو هاتف، لكن لا يَستطيع تَوصيل موزّع شخصي ليُشارك المنفذ مع جهاز آخر. ثلاثة خيارات للسّلوك عند التّجاوز : shutdown (الافتراضي، يُغلق المنفذ — err-disabled)، restrict (يَحجب الحركة لكن لا يُغلق، يَكتب لَوغ)، protect (يَحجب فقط، بدون لَوغ).

# على SW1 — تَطبيق على منفذ access
SW1(config)#interface fastEthernet 0/1
SW1(config-if)#switchport mode access
SW1(config-if)#switchport port-security
SW1(config-if)#switchport port-security maximum 2
SW1(config-if)#switchport port-security violation restrict
SW1(config-if)#switchport port-security mac-address sticky
SW1(config-if)#exit

# تَحقّق
SW1#show port-security interface fastEthernet 0/1
# Port Security              : Enabled
# Port Status                : Secure-up
# Violation Mode             : Restrict
# Aging Time                 : 0 mins
# Aging Type                 : Absolute
# SecureStatic Address Aging : Disabled
# Maximum MAC Addresses      : 2
# Total MAC Addresses        : 1
# Configured MAC Addresses   : 0
# Sticky MAC Addresses       : 1
# Last Source Address:Vlan   : 0050.0F1B.3C5A:10
# Security Violation Count   : 0

SW1#show port-security address
# Secure Mac Address Table
# -----------------------------------------------------------------
# Vlan Mac Address      Type                       Ports
# ---- -----------      ----                       -----
#   10 0050.0F1B.3C5A   SecureSticky               Fa0/1

sticky هو الخيار العَملي : الموزّع يَتعلّم العَناوين MAC تلقائيّاً ويُسجّلها بِشكل دائم (بعد copy run start). هذا أَفضل من إدخال العَناوين يَدويّاً (مَملّ) أو من السَّماح بأيّ عُنوان (غير آمن). الـ maximum 2 يَسمح بِجهاز + هاتف IP عبر passthrough.

الخطوة 2 — استرجاع منفذ err-disabled

إذا حَدث violation في وضع shutdown (الافتراضي)، المنفذ يَدخل في حالة err-disabled. لاسترجاعه : إغلاق ثمّ فتح يَدويّاً، أو ضَبط استرجاع تلقائي.

# استرجاع يَدوي
SW1(config)#interface fastEthernet 0/1
SW1(config-if)#shutdown
SW1(config-if)#no shutdown

# استرجاع تلقائي بَعد 60 ثانية
SW1(config)#errdisable recovery cause psecure-violation
SW1(config)#errdisable recovery interval 60

# تَحقّق
SW1#show errdisable recovery
# ErrDisable Reason          Timer Status
# -----------------          --------------
# psecure-violation          Enabled
# Timer interval: 60 seconds
# Interfaces that will be enabled at the next timeout:
# Interface       Errdisable reason  Time left(sec)
# Fa0/1           psecure-violation  47

في الإنتاج، يُفضَّل غالباً restrict (لا تَوقّف المنفذ بل سَجّل) لِتَجنّب انقطاع المستخدم بسبب خطأ بسيط (تَوصيل لاب توب جديد لم يُعلَن). الـ shutdown مناسب للمنافذ الحسّاسة (server، كاميرات IP).

الخطوة 3 — تَعطيل DTP وتَحويل المنافذ غير المُستخدَمة إلى shutdown

DTP (Dynamic Trunking Protocol) يَتفاوض تلقائيّاً على trunking بيْن موزّعيْن — لكنّه ثُغرة أمنيّة إذا تُرك مُفعَّلاً على منفذ access. مهاجم يُمكنه تَوصيل موزّع وتَفعيل trunk لِنَيل الوصول إلى كلّ VLAN. القاعدة الذّهبيّة : switchport nonegotiate على كلّ منفذ، و switchport mode access صَراحةً.

# على كلّ منفذ access
SW1(config)#interface range fastEthernet 0/1 - 22
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport nonegotiate
SW1(config-if-range)#exit

# على منفذ trunk (السّلوك مَطلوب صراحةً)
SW1(config)#interface fastEthernet 0/24
SW1(config-if)#switchport mode trunk
SW1(config-if)#switchport nonegotiate
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport trunk allowed vlan 10,20

# المنافذ غير المُستخدَمة : أَغلقها وضَعها في VLAN غير مَستخدَم
SW1(config)#interface range fastEthernet 0/13 - 22
SW1(config-if-range)#switchport access vlan 999
SW1(config-if-range)#shutdown

VLAN 999 (مثلاً) يَكون « Black Hole VLAN » : غير مُوجَّه إلى أيّ مَكان، فإذا فعَّل أحد المنفذ، لا يَنال شيئاً. هذه ممارسة شائعة لِتَأمين المنافذ غير المُستخدَمة، خاصّةً في الأماكن العامّة (مَدخل المَكتب، قاعات الاجتماعات).

الخطوة 4 — Native VLAN خَلف الـ trunk

Native VLAN هي VLAN التي تَعبر الـ trunk بدون tag 802.1Q. الافتراضي VLAN 1. هذا ثُغرة معروفة (VLAN hopping attack). الحلّ : تَغيير Native VLAN إلى رقم غير مُستخدَم، أو tag كلّ شيء.

# على كلا الموزّعيْن
SW1(config)#vlan 99
SW1(config-vlan)#name NATIVE_UNUSED
SW1(config-vlan)#exit

SW1(config)#interface fastEthernet 0/24
SW1(config-if)#switchport trunk native vlan 99
SW1(config-if)#exit

# تأكيد التَّطابق بيْن SW1 و SW2 ضَروري
# عدم التّطابق يُسبّب CDP/STP errors

يُمكن أيضاً tag كلّ شيء (بِما فيه Native) عبر switchport trunk native vlan tag على كلّ الموزّع — هذا الأَكثر أَماناً لكن يَتطلّب توافقاً مع الأجهزة المُتّصلة. CCNA يَختبر الطّريقتيْن.

الخطوة 5 — SSH بَدل Telnet للإدارة عن بُعد

Telnet يُرسل كلّ شيء (كلمات المرور، أوامر) بِشكل واضح غير مُشفَّر. SSH يَستخدم تَشفير RSA + مَفاتيح. كلّ جهاز إنتاج يَجب أن يَستخدم SSH فقط. الإعداد على Cisco IOS يَتطلّب أربع خطوات : hostname، domain-name، RSA keys، تَفعيل SSH على vty.

# على R1 — إعداد SSH
R1(config)#hostname R1
R1(config)#ip domain-name itskillscenter.io/
R1(config)#username admin privilege 15 secret StrongP@ssw0rd2026
R1(config)#crypto key generate rsa modulus 2048
# Generating 2048 bit RSA keys, keys will be non-exportable...
# [OK] (elapsed time was 3 seconds)

R1(config)#ip ssh version 2
R1(config)#ip ssh authentication-retries 3
R1(config)#ip ssh time-out 60

# تَفعيل SSH على vty، تَعطيل Telnet
R1(config)#line vty 0 15
R1(config-line)#transport input ssh
R1(config-line)#login local
R1(config-line)#exec-timeout 5 0
R1(config-line)#exit

# تَحقّق
R1#show ip ssh
# SSH Enabled - version 2.0
# Authentication timeout: 60 secs; Authentication retries: 3
# Minimum expected Diffie Hellman key size : 2048 bits

R1#show ssh   # جلسات SSH الحاليّة

المُعطيات المهمّة : modulus 2048 (لا تَستخدم 512 أو 1024 — ضَعيف)، ip ssh version 2 (الإصدار 1 معطوب أمنيّاً)، transport input ssh صَراحةً لِمَنع Telnet، exec-timeout 5 0 لِغلق الجلسة بعد 5 دقائق خمول. كلمة المرور تَستخدم secret (مُشفَّرة بـ MD5) وليس password (سهلة الفكّ).

الخطوة 6 — AAA المحلّي مع نَموذج مستخدميْن متعدّدين

AAA (Authentication, Authorization, Accounting) هو إطار سيسكو لإدارة من يَستطيع الدّخول وماذا يَستطيع أن يَفعل. في معظم الشّركات، يُستخدم AAA مع TACACS+ أو RADIUS (مَوضوع CCNP). للمعامل وصغار الإعدادات، AAA local يَكفي.

# على R1 — تَفعيل AAA local
R1(config)#aaa new-model
R1(config)#aaa authentication login default local
R1(config)#aaa authorization exec default local
R1(config)#aaa accounting exec default start-stop none

# مُستخدمون متعدّدون بمُستويات صَلاحيّة مختلفة
R1(config)#username admin privilege 15 secret StrongAdmin2026
R1(config)#username operator privilege 5 secret Operator2026!
R1(config)#username monitor privilege 1 secret Monitor2026!

# مَنح أوامر مَعيّنة للـ privilege 5
R1(config)#privilege exec level 5 show running-config
R1(config)#privilege exec level 5 show interfaces

# الآن :
# - admin (privilege 15) : وصول كامل
# - operator (privilege 5) : فحص الإعدادات لكن لا تَعديل
# - monitor (privilege 1) : فقط show basic et ping

الأمر aaa new-model يَفتح Pandora Box : يَجب تَعريف aaa authentication لـ login و enable قبل الخروج، وإلّا قد لا تَستطيع تسجيل الدّخول. اِحرص على أن تَكون لديك جلسة كونسول مَفتوحة قبل التّجارب.

الخطوة 7 — تَأمين Privileged Mode بـ enable secret

R1(config)#enable secret EnableP@ssw0rd2026

# لا تَستخدم enable password (مُشفَّرة بـ type 7 ضَعيفة)
# enable secret يَستخدم type 5 (MD5) أو type 8/9 (SHA-256/scrypt) في الـ IOS الحديث

# تَحقّق
R1#show running-config | include enable
# enable secret 9 $9$Yr0WzlT5fLnRH.$z6KXr...

# تَفعيل تَشفير كلمات المرور القديمة
R1(config)#service password-encryption

# هذا يُحوّل كلّ كلمات المرور المرئيّة في الإعدادات إلى type 7
# (ليس قويّاً لكن أَفضل من النّصّ العادي)

الخطوة 8 — حماية console و auxiliary

آخر منفذ يَجب تأمينه : المنفذ الفيزيائي (console، auxiliary). من يَملك وصولاً فيزيائيّاً للجهاز يُمكنه إعادة تَعيين كلمة المرور (password recovery). لا يُمكن مَنع ذلك بالكامل لكن يُمكن تَأخيره.

# تَأمين console
R1(config)#line console 0
R1(config-line)#login local
R1(config-line)#exec-timeout 5 0
R1(config-line)#logging synchronous
R1(config-line)#exit

# تَعطيل auxiliary (نادراً ما يُستخدم، مَخاطرة أمنيّة)
R1(config)#line aux 0
R1(config-line)#no exec
R1(config-line)#transport input none
R1(config-line)#exit

# تَعطيل password recovery (حذِر : تَعديل لا رجعة فيه إلّا بـ reflash)
R1(config)#no service password-recovery
# سيُطلب تأكيد، اِحفظ كلّ شيء قبل ذلك !

no service password-recovery يَجعل الجهاز يَمحو كلّ الإعدادات إذا حاول أحدهم الـ password recovery. هذا أَقصى مَستوى أمنيّ ضدّ سرقة فيزيائيّة، لكن خطر : إذا نَسيت كلمة المرور، لا يُمكنك استعادتها بدون إعادة برمجة Flash كاملة. لا تَستخدمه إلّا إذا كانت لديك سياسة احتياطيّة قويّة.

الأخطاء الشّائعة

الخطأ السّبب الحلّ
SSH يَفشل : « No matching cipher » عَميل SSH قديم تَحديث العَميل أو إضافة ciphers أقدم في IOS
كلمة المرور لا تَعمل خَلط enable password و enable secret اِستخدم secret دائماً، احذف password
AAA يُغلق الكونسول aaa new-model بدون authentication معرَّفة عَرّف aaa authentication login default local
port-security يُغلق المنفذ بَعد إعادة التّشغيل عَناوين MAC sticky لم تُحفَظ copy run start بَعد التّعلّم التّلقائي
err-disabled لا يُسترجَع إعداد recovery غير مُفعَّل اِضبط errdisable recovery cause
VLAN hopping يَنجح Native VLAN = 1 على trunk غَيِّر Native VLAN إلى رقم غير مَستخدَم

أسئلة شائعة

هل port-security يَكفي لِحماية شبكة المؤسّسة ؟
لا. هو طَبقة أولى. للحماية المتقدّمة : 802.1X (مَصادقة بِشهادة على المنفذ)، DHCP snooping، Dynamic ARP Inspection (DAI). كلّها مَوضوعات CCNA / CCNP.

SSH version 1 أم 2 ؟
2 فقط. الإصدار 1 لديه ثغرات معروفة. ip ssh version 2 يُجبر استخدام v2.

كم بِت في مفتاح RSA ؟
2048 أو 4096. 512 و 1024 يُعتبران ضَعيفان في 2026. 4096 أبطأ في تَوليد المفاتيح وأبطأ في الجلسات لكن أَكثر أَماناً.

TACACS+ أو RADIUS ؟
TACACS+ خاصّ بسيسكو، يُشفّر الجلسة كاملةً، أَدقّ في authorization. RADIUS معيار مفتوح، يُشفّر فقط كلمة المرور، أسرع. مَوضوعات CCNP.

هل يَجب تَعطيل HTTP server على المُوجّه ؟
نعم في الإنتاج. no ip http server و no ip http secure-server إذا لا تَحتاج وَصولاً عبر مُتصفّح. تَقليل سَطح الهجوم.

للتّعمّق

مَع تَأمين الأجهزة، الخطوة الأخيرة هي تَنظيم وقتك للنّجاح في الامتحان : خطّة مراجعة CCNA في 90 يوماً. للنّظرة الشّاملة، انظر الدّليل الرّئيسي CCNA.

مصادر ومراجع

مقالات ذات صلة

Sponsoriser ce contenu

Cet emplacement est à vous

Position premium en fin d'article — c'est l'instant où les lecteurs sont le plus engagés. Réservez cet espace pour votre marque, votre formation ou votre offre.

Recevoir nos tarifs
Publicité