بصمة — منصة عربية لتعليم البرمجة والشبكات والإلكترونيات

المصادقة القوية: password policy وMFA وcertificates

بنجهّز الشبكة…
01 / ملخص التجربة

المصادقة القوية: password policy وMFA وcertificates

باسورد cisco123 مش كفاية. هتفرض password policy على الراوتر (Common Criteria)، وتضيف عامل تاني: push على موبايل الأدمن قبل ما الـ SSH يدخل (وتعرف ليه الـ RADIUS timeout مهم)، وتطلّع للراوتر شهادة HTTPS من CA بتاعتك وتخلّي الـ PC يثق فيها — وتشوف بعينك أخطاء self-signed وunknown issuer وname mismatch.

مدة التجربة 35 دقيقة · 3 مهام

الأجهزة في بداية التجربة

  • R1 — راوتر
  • SW — سويتش
  • SRV — سيرفر
  • PC1 — كمبيوتر
  • PHONE — لابتوب

التوصيلات

  • R1 Gi0/0/0 ↔ SW Fa0/24
  • PC1 eth0 ↔ SW Fa0/1
  • SRV eth0 ↔ SW Fa0/2

العناوين المضبوطة مسبقًا

  • R1 g0/0/0: 10.0.0.1/24
02 / المهام التي ستطبقها
  1. 01
    Password policy: اعمل common-criteria policy اسمها STRONG (12 حرف على الأقل، حرف كبير وصغير ورقم ورمز، و4 حروف تتغيّر عن القديم) واربط بيها admin بباسورد قوي

    يتحقق المعمل من على R1: الأمر show aaa common-criteria policy name STRONG يظهر فيه «Minimum length: 12»، على R1: الأمر show aaa common-criteria policy name STRONG يظهر فيه «Special Count: 1»، على R1: الأمر show aaa common-criteria policy name STRONG يظهر فيه «Number of character changes 4»، على R1: الأمر show running-config يظهر فيه «»

    تلميح / الحل المقترح
    على R1:
    aaa new-model
    aaa common-criteria policy STRONG
     min-length 12
     upper-case 1
     lower-case 1
     numeric-count 1
     special-case 1
     char-changes 4
     exit
    username admin privilege 15 common-criteria-policy STRONG secret B@ssma-Rtr2026
    جرّب الأول secret cisco123 — الراوتر هيرفضه ويقولك أي قاعدة اتكسرت. الـ policy دي بتحمي من password guessing (hydra) ومن إعادة نفس الباسورد بتغيير حرف واحد.
  2. 02
    MFA: خلّي SRV يطلب push على موبايل admin (PHONE)، والراوتر يسأل SRV بـ RADIUS بـ timeout 60 ثانية — وادخل من PC1 بـ SSH ووافق من الموبايل

    يتحقق المعمل من على R1: الأمر show running-config يظهر فيه «»

    تلميح / الحل المقترح
    1) على SRV: aaa user admin B@ssma-Rtr2026 mfa  ← هيطلعلك activation code
    2) على PHONE: mfa enroll <الكود>
    3) على R1:
    radius server SRV
     address ipv4 10.0.0.100
     key B@ssKey
     timeout 60
     exit
    aaa authentication login default group radius local
    line vty 0 4
     login authentication default
    4) على PC1: ssh -l admin r1.basma.lab واكتب الباسورد — الدخول هيستنى… على PHONE: mfa approve. بعدها exit.
    ليه timeout 60؟ السيرفر بيمسك الرد لحد ما توافق؛ بالـ default (ثواني) الراوتر يعيد ويعلن السيرفر dead ويروح لـ local — يعني يدخلك من غير العامل التاني! الباسورد = something you know، الموبايل = something you have، والبصمة/الوش = something you are (biometrics).
  3. 03
    Certificates: اعمل CA على SRV، وخلّي R1 ياخد شهادة HTTPS منها (r1.basma.lab)، وPC1 يثق في الـ CA — لحد ما curl https://r1.basma.lab يعدّي من غير -k

    يتحقق المعمل من على R1: الأمر show crypto pki certificates BASSMA يظهر فيه «»، على R1: الأمر show running-config يظهر فيه «ip http secure-trustpoint BASSMA»، على PC1: الأمر curl -v https://r1.basma.lab/ يظهر فيه «SSL certificate verify ok»

    تلميح / الحل المقترح
    جرّب الأول من PC1: curl https://r1.basma.lab/ ← self-signed certificate.
    على SRV: ca init BASSMA-CA
    على R1:
    crypto pki trustpoint BASSMA
     enrollment url http://10.0.0.100
     subject-name CN=r1.basma.lab
     revocation-check none
     exit
    crypto pki authenticate BASSMA  ← قارن الـ fingerprint بتاع ca list على SRV واكتب yes
    crypto pki enroll BASSMA  ← yes
    على SRV: ca list ثم ca sign 1 (الطلب بيستنى موافقة)
    على R1: ip http secure-trustpoint BASSMA
    على PC1: curl http://10.0.0.100/ca.crt -o ca.crt ثم certutil -addstore Root ca.crt ثم curl -v https://r1.basma.lab/
    لو فتحت https://10.0.0.1 هتشوف name mismatch — الشهادة لـ r1.basma.lab.