> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Wi-Fi للمؤسسات بحساب لكل موظف مع FreeRADIUS
- URL: https://arabroot.io/articles/wi-fi-للمؤسسات-بحساب-لكل-موظف-مع-freeradius/
- Published: 2026-10-26T12:23:44.000Z
- Updated: 2026-10-27T08:21:46.000Z
- Description: بنينا سيرفر FreeRADIUS واختبرنا دخول WPA2/3-Enterprise بأداة eapol_test، فرأينا الـ VLAN لكل موظف، وكيف أوقفت شهادة منتهية الدخول للجميع.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, الأمن السيبراني, الاستضافة الذاتية, FreeRADIUS

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

هذه المشكلة لها حل معروف في المؤسسات منذ سنوات: بدل كلمة مرور واحدة للجميع، يدخل كل موظف بحسابه الخاص، وتسأل نقطة الوصول سيرفراً مركزياً عن كل محاولة دخول، فإذا غادر موظف عطلت حسابه وحده. وهذا ما يسمى WPA2-Enterprise أو WPA3-Enterprise، ويقوم على معيار 802.1X وسيرفر RADIUS. وفي [دليل تقسيم الشبكة](https://arabroot.io/articles/%D8%AA%D9%82%D8%B3%D9%8A%D9%85-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-network-segmentation-vlan-%D9%88-vpc/) شرحنا الـ VLAN وفكرة فصل الأجهزة، وفي هذا المقال سوف نبني سيرفر RADIUS حقيقياً بأداة FreeRADIUS، ونختبر الدخول الكامل بأداة eapol\_test التي تحاكي الجهاز ونقطة الوصول معاً، فنرى كل رسالة تمر بينها، ونرى كيف يضع السيرفر كل موظف في الـ VLAN الخاصة بدوره، وكيف تعطلت الشبكة كلها في المختبر بسبب شهادة منتهية.

[![](https://arabroot.io/content/images/2026/10/network-segmentation-cover-cover.webp)دليلتقسيم الشبكة Network Segmentation بال VLAN وال VPCلماذا تصل كاميرا مخترقة إلى قاعدة بياناتك، وكيف تمنع ذلك بتقسيم الشبكة إلى مناطق لا يمر بينها إلا ما تسمح به.](https://arabroot.io/articles/%D8%AA%D9%82%D8%B3%D9%8A%D9%85-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-network-segmentation-vlan-%D9%88-vpc/)[![](https://arabroot.io/content/images/2026/10/captive-portal-cover-cover.webp)دليلبوابة الدخول Captive Portal: شبكة الضيوف برمز تحققكيف تعمل بوابة الدخول في شبكة Wi-Fi الضيوف، وكيف تختار طريقة التحقق والأدوات المناسبة لمقهى أو فندق أو شركة.](https://arabroot.io/articles/%D8%A8%D9%88%D8%A7%D8%A8%D8%A9-%D8%A7%D9%84%D8%AF%D8%AE%D9%88%D9%84-captive-portal-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%B6%D9%8A%D9%88%D9%81-%D8%A8%D8%B1%D9%85%D8%B2-%D8%AA%D8%AD%D9%82%D9%82/)[![](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-cover-cover.webp)دليلMikroTik في الواقع: سيناريوهات عملية للبيت والمكتبكيف تبني على RouterOS ما تحتاجه فعلاً في البيت والمكتب، من شبكة ضيوف معزولة إلى الوصول الآمن من الخارج عبر WireGuard.](https://arabroot.io/articles/mikrotik-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%A7%D9%82%D8%B9-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%B6%D9%8A%D9%88%D9%81-%D9%88vlan-%D9%88%D8%A7%D9%84vpn-%D9%88%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%A7%D9%84%D9%85%D9%86%D8%A7%D9%81%D8%B0/)

وسوف نناقش في هذا المقال ما يلي:

- الفرق بين WPA2/3-Personal وWPA2/3-Enterprise، ولماذا لا تكفي كلمة المرور المشتركة لأي مؤسسة.
- كيف يعمل 802.1X: الأدوار الثلاثة، وبروتوكول EAP، ولماذا لا تعرف نقطة الوصول كلمات المرور.
- طريقتا الدخول الأشهر: PEAP بكلمة مرور داخل نفق، وEAP-TLS بشهادة على الجهاز.
- بناء FreeRADIUS في Docker: العملاء Clients والمستخدمون والشهادات.
- اختبار الدخول بـ eapol\_test دون أي جهاز Wi-Fi، وقراءة المخرج سطراً سطراً.
- أربع عقبات حقيقية واجهناها في المختبر وكيف حللناها، منها شهادة منتهية أوقفت الدخول للجميع.
- الـ VLAN الديناميكية: شبكة Wi-Fi واحدة، وكل موظف في شبكته.
- تجربة «ماذا لو» نقطة وصول مزيفة، ولماذا يحميك إعداد واحد على الجهاز.
- الموارد والبديل التجاري، والجانب السعودي في ضوابط الهيئة الوطنية للأمن السيبراني، وقائمة تحقق.

## كلمة مرور واحدة أم حساب لكل موظف؟

في وضع WPA2-Personal أو WPA3-Personal، وهو الوضع الذي تجده في كل راوتر منزلي، كل من يعرف كلمة المرور يدخل، والراوتر لا يعرف من أنت، وإنما يعرف فقط أنك تعرف السر المشترك Pre-Shared Key. وهذا ممتاز للمنزل، ولكنه في المؤسسة يسبب ثلاث مشكلات لا حل لها داخل هذا الوضع نفسه، والصورة التالية تجمعها:

![مقارنة بين كلمة مرور مشتركة وحساب لكل موظف في شبكة Wi-Fi المتجر](https://arabroot.io/content/images/2026/10/wifi-enterprise-radius-01-shared.webp)

كلمة المرور المشتركة لا تعرف من دخل، ولا تخرج من غادر، ولا تفصل الأدوار

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

وفي وضع Enterprise يتغير السؤال الذي تسأله الشبكة: لم يعد «هل تعرف السر؟» وإنما «من أنت؟». فكل موظف يدخل باسمه وكلمة مروره أو بشهادة على جهازه، ونقطة الوصول لا تقرر بنفسها، بل تسأل سيرفر RADIUS المركزي عن كل محاولة دخول، والسيرفر يتحقق من الهوية ويقرر القبول أو الرفض، ويقرر أيضاً في أي شبكة يضع هذا الشخص. وأجمل ما في هذا التصميم أن كل جهاز يحصل على مفتاح تشفير خاص به لهذه الجلسة، فلا يستطيع موظف أن يفك تشفير حركة زميله حتى لو كانا على نقطة الوصول نفسها، بعكس الوضع المشترك الذي يشتق فيه كل الأجهزة مفاتيحها من السر نفسه.

وقد يتساءل البعض: أليس WPA3-Personal أحسن بكثير من WPA2؟ نعم، فهو يستبدل طريقة المصافحة القديمة بطريقة SAE التي تقاوم تخمين كلمة المرور من الحركة الملتقطة، وهذا موضوع المقال القادم في أمن الشبكات اللاسلكية. ولكنه يبقى كلمة مرور مشتركة، فلا يحل مشكلة الموظف الذي غادر ولا مشكلة المساءلة. فالسؤال ليس WPA2 أم WPA3، وإنما Personal أم Enterprise، ولكل منهما WPA2 وWPA3.

## كيف يعمل 802.1X من الداخل؟

معيار IEEE 802.1X هو التحكم في الدخول على منفذ الشبكة Port-Based Network Access Control، وقد صمم أصلاً لمنافذ الشبكة السلكية في الشركات، ثم صار أساس Wi-Fi للمؤسسات. وفكرته أن المنفذ، سواء كان منفذاً في سويتش أو اتصالاً لاسلكياً، يبقى مغلقاً أمام أي حركة إلا رسائل التحقق، حتى يقول السيرفر نعم. وفي هذا المعيار ثلاثة أدوار، والصورة التالية تبينها مع الرسائل التي قسناها في المختبر لدخول واحد:

![الأدوار الثلاثة في 802.1X: الجهاز ونقطة الوصول وسيرفر RADIUS مع تسلسل الرسائل](https://arabroot.io/content/images/2026/10/wifi-enterprise-radius-02-roles.webp)

الجهاز يتكلم مع نقطة الوصول، ونقطة الوصول تمرر الكلام إلى RADIUS، والقرار من السيرفر وحده

- **الجهاز Supplicant:** لابتوب الموظف أو جواله، وفيه برنامج يعرف كيف يقدم الهوية، وهو جزء من نظام التشغيل في Windows وmacOS وAndroid وiOS، وفي Linux هو wpa\_supplicant.
- **نقطة الوصول Authenticator:** وهي لا تعرف كلمات المرور ولا تتحقق من أي شيء، وإنما تأخذ رسائل التحقق من الجهاز على الهواء بإطار يسمى EAPOL، وتغلفها في رسائل RADIUS وترسلها إلى السيرفر على الشبكة السلكية، ثم تعيد الردود إلى الجهاز.
- **سيرفر المصادقة Authentication Server:** وهو سيرفر RADIUS، الذي يملك الحسابات أو يسأل عنها دليلاً مثل Active Directory، ويقرر.

والرسائل التي تمر بين هذه الأدوار تتبع بروتوكول EAP، واختصاره Extensible Authentication Protocol، الموصوف في [RFC 3748](https://www.rfc-editor.org/rfc/rfc3748?ref=arabroot.io). وكلمة Extensible هنا هي المفتاح، فـ EAP ليس طريقة تحقق، بل إطار يحمل طرق تحقق مختلفة، يتفق عليها الجهاز والسيرفر في بداية الحوار. ونقطة الوصول لا يهمها أي طريقة اختاروا، فهي تمرر الرسائل كما هي، وهذا ما يجعلك تغير طريقة الدخول في المؤسسة كلها بتغيير إعداد السيرفر والأجهزة، دون أن تلمس نقاط الوصول. أما RADIUS نفسه فبروتوكول أقدم موصوف في [RFC 2865](https://www.rfc-editor.org/rfc/rfc2865?ref=arabroot.io)، ويعمل على UDP على المنفذ 1812، وبين نقطة الوصول والسيرفر سر مشترك Shared Secret يوقع الرسائل، وهو ليس كلمة مرور الموظفين، وإنما ثقة بين جهازين.

ولاحظ في الصورة عدد الرسائل: دخول واحد بطريقة PEAP احتاج في المختبر إحدى عشرة رسالة Access-Request من نقطة الوصول، وعشر رسائل Access-Challenge من السيرفر، ثم Access-Accept واحدة. والسبب أن بناء نفق TLS يحتاج تبادل الشهادة على عدة أجزاء، لأن رسالة EAP الواحدة محدودة الحجم، ثم يأتي التحقق من كلمة المرور داخل النفق. وهذا يعني أن RADIUS يجب أن يكون قريباً وسريعاً، فإذا كان كل رد يأخذ نصف ثانية عبر شبكة بعيدة، صار الدخول عشر ثوان، والأجهزة قد تستسلم قبل ذلك. وقد قسنا زمن الذهاب والعودة لكل رسالة في المختبر فكان بين 0.01 و0.05 ثانية على شبكة محلية.

## طريقتا الدخول: PEAP أم EAP-TLS؟

من بين طرق EAP الكثيرة، تستخدم أغلب المؤسسات واحدة من اثنتين، والصورة التالية تقارن بينهما كما جربناهما:

![مقارنة بين PEAP بكلمة مرور داخل نفق TLS وEAP-TLS بشهادة على الطرفين](https://arabroot.io/content/images/2026/10/wifi-enterprise-radius-03-peap-tls.webp)

PEAP يحمي كلمة المرور بنفق، وEAP-TLS يلغي كلمة المرور كلها

الأولى PEAP، واسمها Protected EAP، وفكرتها أن السيرفر يقدم شهادته أولاً، فيبني الجهاز معه نفق TLS مشفراً مثل الذي يبنيه المتصفح مع موقع HTTPS، ثم داخل هذا النفق يقدم الجهاز اسم المستخدم وكلمة المرور بطريقة MSCHAPv2\. وخارج النفق لا يظهر إلا هوية عامة مثل anonymous، فلا يرى من يلتقط الحركة حتى اسم الموظف. ونقطة قوتها أنها تعمل بالحسابات الموجودة عندك، فلا تحتاج شهادة لكل جهاز. ونقطة ضعفها الخطيرة أن كل حمايتها معلقة على أن يتحقق الجهاز من شهادة السيرفر، فإذا لم يفعل، سلم كلمة مروره لأي سيرفر يقدم أي شهادة، ومن هنا جاءت هجمات نقطة الوصول المزيفة Evil Twin التي سوف نجربها لاحقاً.

والثانية EAP-TLS، الموصوفة في [RFC 5216](https://www.rfc-editor.org/rfc/rfc5216?ref=arabroot.io)، وفيها لا توجد كلمة مرور إطلاقاً: الطرفان يقدمان شهادتيهما، السيرفر يثبت أنه السيرفر، والجهاز يثبت أنه جهاز مسجل لدى المؤسسة. ونقطة قوتها أنه لا يوجد شيء يسرق بالتخمين أو بالتصيد، فلا كلمة مرور، وكل جهاز له هوية تلغيها وحدها. ونقطة ضعفها التشغيل: تحتاج جهة إصدار شهادات CA، وطريقة لتوزيع الشهادة على كل جهاز وتجديدها، وهذا عملياً يحتاج أداة إدارة أجهزة MDM. ولذلك تبدأ أغلب المؤسسات الصغيرة بـ PEAP، وتنتقل إلى EAP-TLS للأجهزة التي تديرها، وتبقي PEAP للبقية.

## وماذا يضيف WPA3-Enterprise؟

إذا كان التحقق في Enterprise يحدث بين الجهاز وRADIUS، فما الفرق بين WPA2-Enterprise وWPA3-Enterprise؟ الجواب أن طرق التحقق نفسها لا تتغير، فـ PEAP وEAP-TLS وسيرفر FreeRADIUS الذي بنيناه تعمل مع الاثنين، والفرق في حماية الاتصال اللاسلكي حول هذا التحقق. وأهم ما في هذا الفرق إطارات الإدارة المحمية Protected Management Frames واختصارها PMF، وهي الرسائل التي تدير الاتصال نفسه مثل رسالة قطع الاتصال. ففي الشبكات القديمة كانت هذه الرسائل غير محمية، فيستطيع أي جهاز قريب أن يرسل رسالة قطع اتصال مزورة باسم نقطة الوصول، فينقطع الموظف ويعيد الاتصال، وهذه طريقة معروفة لدفع الأجهزة نحو نقطة وصول أخرى. ومع PMF تصبح هذه الرسائل موقعة، فلا يقبل الجهاز رسالة قطع اتصال لا تحمل التوقيع الصحيح. وتقول [صفحة الأمان في Wi-Fi Alliance](https://www.wi-fi.org/discover-wi-fi/security?ref=arabroot.io) إن PMF مطلوب في كل الأجهزة الحديثة الحاصلة على الشهادة، وإن WPA3-Enterprise يتيح بروتوكولات أمان أعلى درجة للشبكات التي تحمل بيانات حساسة.

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

## المختبر: FreeRADIUS وeapol\_test

بنينا المختبر من حاويتين على شبكة Docker خاصة: الأولى سيرفر RADIUS من الـ Image الرسمية `freeradius/freeradius-server:3.2.10-alpine`، والثانية تمثل الجهاز ونقطة الوصول معاً، وفيها أداة eapol\_test. وFreeRADIUS هو أشهر سيرفر RADIUS مفتوح المصدر، ورخصته [GPL-2.0](https://github.com/FreeRADIUS/freeradius-server/blob/v3.2.x/LICENSE?ref=arabroot.io)، وآخر إصدار في الفرع المستقر هو [3.2.10](https://github.com/FreeRADIUS/freeradius-server/releases/tag/release%5F3%5F2%5F10?ref=arabroot.io) الصادر في 3 يونيو 2026، وتوثيقه في [موقع المشروع](https://www.freeradius.org/documentation/freeradius-server/3.2.10/?ref=arabroot.io). أما eapol\_test فهي أداة من مشروع [wpa\_supplicant](https://w1.fi/wpa%5Fsupplicant/?ref=arabroot.io) تفعل شيئاً ذكياً: تتصرف كجهاز يريد الدخول وكنقطة وصول في الوقت نفسه، فترسل رسائل EAP مغلفة في RADIUS إلى السيرفر مباشرة، وتخبرك هل نجح الدخول، دون أن تحتاج أي جهاز Wi-Fi حقيقي.

💡

لا يوجد في جهاز المختبر كرت Wi-Fi، ولا نحتاجه، فكل ما يحدث على الهواء بين الجهاز ونقطة الوصول هو نقل رسائل EAP، والجزء الذي يحتاج الإعداد والاختبار هو السيرفر. وeapol\_test هي الأداة التي يستخدمها مديرو الشبكات أنفسهم لاختبار سيرفر RADIUS قبل أن يربطوه بنقاط الوصول، فإذا نجح الدخول معها نجح مع الأجهزة الحقيقية بإعداد مماثل.

### نقطة الوصول عميل للسيرفر

أول ما يحتاجه السيرفر أن يعرف من يحق له أن يسأله، فنقطة الوصول بالنسبة لـ RADIUS عميل Client، ولكل عميل عنوان وسر مشترك. أضفنا في ملف `clients.conf` عميلاً يمثل نقاط الوصول في شبكة المختبر:

```text
client lab-ap {
	ipaddr = 192.168.0.0/16
	secret = ap-shared-secret-2026
	shortname = lab-ap
	nas_type = other
}
```

في الإعداد أعلاه لاحظ أن `ipaddr` نطاق كامل وليس عنواناً واحداً، وهذا مريح في المختبر، أما في الإنتاج فاكتب عنوان كل نقطة وصول أو كل Controller بعينه، والسبب أن أي جهاز في النطاق يعرف السر يستطيع أن يسأل السيرفر، أي أن يجرب كلمات المرور عليه. والسر المشترك نفسه يجب أن يكون طويلاً وعشوائياً، لأن RADIUS القديم يستخدمه في حماية بعض الحقول، وسر قصير يضعف هذه الحماية.

📌

في يوليو 2024 نشر فريق من الباحثين ثغرة في بروتوكول RADIUS نفسه سموها [Blast-RADIUS](https://www.blastradius.fail/?ref=arabroot.io)، ورقمها [CVE-2024-3596](https://www.cve.org/CVERecord?id=CVE-2024-3596&ref=arabroot.io)، وهي تستغل اعتماد RADIUS القديم على دالة MD5 مع السر المشترك، فيستطيع من يقف في الطريق بين نقطة الوصول والسيرفر أن يحول رد الرفض إلى رد قبول. والحل الذي أوصى به الباحثون أن يرسل السيرفر ويشترط الصفة Message-Authenticator في كل الرسائل، وأن تكون أول صفة في رد القبول والرفض، وقد طبقته كل الشركات المصنعة للسيرفرات.

وهذا ليس كلاماً نظرياً في مختبرنا، فقد رأينا أثر الإصلاح بأعيننا: رسالة Access-Accept التي سنعرضها بعد قليل تبدأ بالصفة 80، وهي Message-Authenticator، قبل أي صفة أخرى. وفي إعداد FreeRADIUS 3.2.10 نفسه وجدنا السطر `require_message_authenticator = yes` في ملف `radiusd.conf` افتراضياً، أي أن السيرفر يرفض الطلبات التي لا تحمل هذه الصفة. والدرس العملي في المتجر أن تحدث سيرفر RADIUS إلى إصدار يحمل الإصلاح، وأن تحدث برامج نقاط الوصول أيضاً، فإذا كانت نقطة وصول قديمة لا ترسل الصفة فسيرفضها السيرفر الحديث، وهذا أفضل من أن يقبلها وهي مكشوفة. ولا تقم بإيقاف هذا الشرط لتشغيل جهاز قديم، والسبب أنه الحماية الأساسية من هذه الثغرة، والأفضل أن تضع الجهاز القديم في شبكته المعزولة كما سنذكر في خطة الانتقال.

### الموظفون ورقم الـ VLAN

في المؤسسة الحقيقية يسأل FreeRADIUS دليل المستخدمين Active Directory أو LDAP، أما في المختبر فوضعنا مستخدمين في ملف `mods-config/files/authorize`، مع رقم الـ VLAN لكل واحد:

```text
ahmad   Cleartext-Password := "CoffeePass#2026"
        Tunnel-Type = VLAN,
        Tunnel-Medium-Type = IEEE-802,
        Tunnel-Private-Group-Id = "20"

sara    Cleartext-Password := "GuestPass#2026"
        Tunnel-Type = VLAN,
        Tunnel-Medium-Type = IEEE-802,
        Tunnel-Private-Group-Id = "30"
```

السطر الأول لكل مستخدم شرط التحقق، والأسطر الثلاثة بعده ما يضيفه السيرفر إلى رد القبول، وهي الصفات الثلاث التي يحددها [RFC 3580](https://www.rfc-editor.org/rfc/rfc3580?ref=arabroot.io) لإخبار نقطة الوصول بالـ VLAN: نوع النفق VLAN، والوسط IEEE-802، ثم رقم الـ VLAN نفسه. فأحمد الموظف يذهب إلى VLAN 20 شبكة الموظفين، وسارة الضيفة إلى VLAN 30 شبكة الضيوف.

وغيرنا في ملف `mods-available/eap` الطريقة الافتراضية من `md5` إلى `peap`، والسبب أن EAP-MD5 لا يبني أي نفق ولا يولد مفاتيح تشفير، فلا يصلح لـ Wi-Fi إطلاقاً، وهو موجود لأسباب تاريخية فقط.

## أربع عقبات حقيقية في الطريق

لم يعمل المختبر من أول مرة، والعقبات التي واجهناها هي نفسها التي سوف تواجهها في أي تثبيت، فنذكرها بترتيب ظهورها وكيف حللناها.

**الأولى: السيرفر يتجاهل نقطة الوصول.** أرسلت eapol\_test طلبها مرة بعد مرة ولم يأت رد، حتى انتهت المهلة. وسجل السيرفر في وضع التصحيح `radiusd -X` كان صريحاً:

```text
Ignoring request to auth address * port 1812 bound to server default from unknown client 192.168.96.3 port 59145 proto udp
```

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

**الثانية: الإعداد الذي عدلناه ليس الإعداد الذي يقرؤه السيرفر.** بعد تصحيح النطاق بقي السيرفر يقول «عميل غير معروف». والسبب أن الإعداد في هذه الـ Image يقع فعلاً في `/opt/etc/raddb`، و`/etc/raddb` مجرد رابط إليه، فلما نسخنا إعدادنا إلى المسار الثاني ظن السيرفر أنه لم يتغير شيء. وفي التجربة نفسها رفض السيرفر أن يعمل لأن ملف الإعداد قابل للكتابة من أي مستخدم، وهو فحص أمان في FreeRADIUS:

```text
Configuration file /opt/etc/raddb/clients.conf is globally writable.  Refusing to start due to insecure configuration.
```

والسيرفر محق، فمن يستطيع تعديل قائمة العملاء أو كلمات المرور يستطيع أن يفتح الشبكة لنفسه، لذلك احفظ إعداد RADIUS بصلاحية لا تسمح بالكتابة إلا لـ root، ولا تشاركه في مجلد مفتوح.

**الثالثة: أداة الاختبار نفسها.** نسخة eapol\_test في حزمة التوزيعة توقفت برسالة تأكيد Assertion في كل تشغيل، وعند قراءة الكود وجدنا أن الرسالة تعني «عنوان IP غير صالح»، أي أن الأداة لا تقبل اسم السيرفر وإنما عنوانه الرقمي فقط. فبنيناها من الكود الرسمي للإصدار 2.12، واحتجنا إزالة خيار `-Werror` من ملف البناء لأن المترجم الحديث يحول بعض التحذيرات إلى أخطاء، ثم مررنا عنوان السيرفر رقماً.

**الرابعة، وأهمها: شهادة منتهية.** بعد أن وصلت الرسائل، بدأ نفق TLS، ثم فشل الدخول، وفي مخرج eapol\_test السبب:

```text
            Not Before: Jun  8 13:02:11 2026 GMT
            Not After : Aug  7 13:02:11 2026 GMT
TLS: Certificate verification failed, error 10 (certificate has expired) depth 1
CTRL-EVENT-EAP-TLS-CERT-ERROR reason=4 depth=1 ... err='certificate has expired'
```

الشهادات التجريبية التي تأتي مع الـ Image صالحة ستين يوماً فقط من يوم بنائها، وانتهت في 7 أغسطس 2026، فرفضها الجهاز وأرسل تنبيه TLS قاتلاً رقمه 45، ومعناه «الشهادة منتهية». وتخيل هذا في المتجر: في صباح يوم ما تنتهي شهادة سيرفر RADIUS، فيرفض كل لابتوب وكل جوال وكل جهاز دفع الدخول في اللحظة نفسها، في الفروع الثلاثة. وانتهاء شهادة سيرفر RADIUS سبب معروف لتوقف شبكات Wi-Fi المؤسسية، لأن الشهادة تعمل بصمت لسنة أو سنتين حتى ينساها الجميع. والحل الذي اتبعناه هو الصحيح للإنتاج أيضاً: جهة إصدار CA خاصة بالمؤسسة، وشهادة سيرفر منها:

```bash
openssl req -x509 -newkey rsa:3072 -nodes -keyout ca.key -out ca.pem -days 1095 \
  -subj "/O=Coffee Store Lab/CN=Coffee Store RADIUS CA" \
  -addext "basicConstraints=critical,CA:TRUE" -addext "keyUsage=critical,keyCertSign,cRLSign"
openssl req -newkey rsa:3072 -nodes -keyout server.key -out server.csr \
  -subj "/O=Coffee Store Lab/CN=radius.example.com"
printf "basicConstraints=CA:FALSE\nkeyUsage=critical,digitalSignature,keyEncipherment\nextendedKeyUsage=serverAuth\nsubjectAltName=DNS:radius.example.com\n" > ext.cnf
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.crt -days 365 -extfile ext.cnf
```

```text
subject=O=Coffee Store Lab, CN=radius.example.com
issuer=O=Coffee Store Lab, CN=Coffee Store RADIUS CA
notBefore=Oct 26 12:59:07 2026 GMT
notAfter=Oct 26 12:59:07 2027 GMT
X509v3 Extended Key Usage: TLS Web Server Authentication
X509v3 Subject Alternative Name: DNS:radius.example.com
```

في الإعداد أعلاه لاحظ التالي: جهة الإصدار صالحة ثلاث سنوات، وشهادة السيرفر سنة واحدة، والسبب أنك تريد تجديد شهادة السيرفر بانتظام دون أن تضطر لتوزيع CA جديدة على كل الأجهزة، فالأجهزة تثق بالـ CA، وكل شهادة سيرفر جديدة منها مقبولة تلقائياً. والخاصية `extendedKeyUsage=serverAuth` مطلوبة، فبعض الأنظمة مثل Windows ترفض شهادة سيرفر RADIUS بدونها. والاسم في `subjectAltName` هو الاسم الذي سوف يتحقق منه كل جهاز، وسنرى بعد قليل لماذا هو أهم سطر في الإعداد كله. ثم ضع في التقويم تذكيراً قبل انتهاء الشهادة بشهر، أو أضف فحصاً في أداة المراقبة يقرأ تاريخ انتهائها.

والقاسم المشترك بين العقبات الأربع أن كل واحدة منها ظهرت بوضوح في مكانين: سجل السيرفر في وضع التصحيح `-X`، ومخرج eapol\_test المفصل. فالسيرفر يقول لماذا تجاهل الطلب أو رفضه، والأداة تقول لماذا رفض الجهاز السيرفر، والحقيقة دائماً في المقارنة بين الطرفين. ولذلك عود نفسك عند أي مشكلة في Wi-Fi المؤسسات أن تنظر إلى الطرفين قبل أن تغير أي إعداد، فأغلب الوقت الضائع في هذه المشكلات يأتي من تغيير إعدادات صحيحة بحثاً عن سبب كان مكتوباً في السجل من البداية.

## الاختبار: دخول ناجح ودخول مرفوض

ملف الإعداد لـ eapol\_test هو نفسه صيغة إعداد wpa\_supplicant على أي جهاز Linux، وهذا ما يجعله مثالاً حقيقياً لما يضبطه الجهاز:

```text
network={
    key_mgmt=WPA-EAP
    eap=PEAP
    identity="ahmad"
    anonymous_identity="anonymous"
    password="CoffeePass#2026"
    phase2="auth=MSCHAPV2"
    ca_cert="/ed/pki/ca.pem"
    domain_suffix_match="radius.example.com"
}
```

في الإعداد أعلاه لاحظ أن الهوية الحقيقية `ahmad` لا تخرج إلا داخل النفق، وخارجه تظهر `anonymous`، وأن الجهاز يعرف شهادة الـ CA التي يثق بها، والاسم الذي يجب أن يحمله السيرفر. ثم شغلنا الاختبار ثلاث مرات، لأحمد بكلمة مروره، ولأحمد بكلمة مرور خاطئة، ولسارة:

```bash
eapol_test -c peap-ahmad.conf -a 192.168.96.2 -p 1812 -s ap-shared-secret-2026 -r 0
```

```text
===== ahmad =====
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
MPPE keys OK: 1  mismatch: 0
SUCCESS
===== wrong password =====
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
CTRL-EVENT-EAP-FAILURE EAP authentication failed
MPPE keys OK: 0  mismatch: 1
FAILURE
===== sara =====
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
MPPE keys OK: 1  mismatch: 0
SUCCESS
```

في المخرج أعلاه لاحظ التالي: الطريقة 25 هي رقم PEAP في سجل طرق EAP، واختارها الطرفان بعد أن رفض الجهاز اقتراح السيرفر الأول. والسطر `MPPE keys OK: 1` هو الأهم بعد النجاح، فهو يعني أن مفتاح التشفير الذي حسبه الجهاز يطابق المفتاح الذي أرسله السيرفر إلى نقطة الوصول، وهذا المفتاح هو الذي تبدأ به نقطة الوصول تشفير الحركة لهذا الجهاز وحده. فإذا رأيت نجاحاً مع `mismatch: 1` فهناك خلل في تمرير المفاتيح، والجهاز سيدخل ثم لا يستطيع أن يتواصل. أما كلمة المرور الخاطئة فرد عليها السيرفر برسالة Access-Reject، ورأينا في سجله أنه أخر الرد ثانية كاملة عمداً، وهذا تأخير الرفض `reject_delay` الذي يبطئ من يحاول تخمين كلمات المرور.

## الـ VLAN الديناميكية: شبكة واحدة وأدوار مختلفة

نجح الدخول، ولكن الرد في البداية لم يحمل رقم الـ VLAN. وعندما فتحنا رسالة Access-Accept وجدنا فيها مفاتيح التشفير فقط، والسبب مهم: في PEAP يحدث التحقق الحقيقي داخل النفق في جزء من السيرفر اسمه `inner-tunnel`، والرد الذي يحمل الـ VLAN يولد هناك، ولا ينتقل إلى الرد الخارجي الذي تراه نقطة الوصول إلا إذا طلبت ذلك. وفي FreeRADIUS 3.2 الطريقة الموثقة في ملف `sites-enabled/inner-tunnel` نفسه أن تغير الشرط `if (0)` في قسم `post-auth` إلى `if (1)`، فينسخ الرد الداخلي إلى الجلسة الخارجية. وبعد التغيير صار الرد كما يلي:

```text
RADIUS message: code=2 (Access-Accept) identifier=10 length=193
   Attribute 64 (Tunnel-Type) length=6
      Value: 0000000d
   Attribute 65 (Tunnel-Medium-Type) length=6
      Value: 00000006
   Attribute 81 (Tunnel-Private-Group-Id) length=4
      Value: 3230
```

اقرأ هذه القيم كما تقرؤها نقطة الوصول: الصفة 64 قيمتها 13 بالسداسي `0d` وتعني VLAN، والصفة 65 قيمتها 6 وتعني IEEE-802، والصفة 81 قيمتها `3230` وهي الحرفان "2" و"0" بترميز ASCII، أي الرقم 20\. ولسارة كانت القيمة `3330`، أي 30\. والصورة التالية تبين ما يحدث بعد ذلك:

![شبكة Wi-Fi واحدة يضع فيها سيرفر RADIUS أحمد في VLAN 20 وسارة في VLAN 30](https://arabroot.io/content/images/2026/10/wifi-enterprise-radius-04-vlan.webp)

اسم شبكة واحد، والسيرفر يقرر شبكة كل شخص بحسب حسابه

هذه هي القيمة الكبرى لـ Enterprise في المتجر: لا تحتاج ثلاث شبكات Wi-Fi بثلاثة أسماء، فاسم واحد يكفي، والسيرفر يضع الكاشير في شبكة نقاط البيع، والمدير في شبكة الإدارة، وأي حساب ضيف في شبكة لا ترى إلا الإنترنت. ونقطة الوصول تأخذ الرقم من الرد وتضع الجهاز في الـ VLAN المطابقة، بشرط أن تكون هذه الـ VLAN معرفة على السويتش والجدار الناري، وقد شرحنا تعريفها والقواعد بينها في [دليل MikroTik في الواقع](https://arabroot.io/articles/mikrotik-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%A7%D9%82%D8%B9-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%B6%D9%8A%D9%88%D9%81-%D9%88vlan-%D9%88%D8%A7%D9%84vpn-%D9%88%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%A7%D9%84%D9%85%D9%86%D8%A7%D9%81%D8%B0/). ولاحظ أن الرد كبر من 177 بايتاً إلى 193 بايتاً بعد إضافة الصفات الثلاث، وهذا فرق تراه في السجل لتتأكد أن الـ VLAN تصل فعلاً.

## ماذا لو ظهرت نقطة وصول مزيفة؟

الخطر الأشهر على PEAP نقطة وصول تحمل اسم شبكة المتجر نفسه Evil Twin ومعها سيرفر RADIUS بشهادة غير شهادتك. فإذا لم يتحقق جهاز الموظف من شهادة السيرفر، بنى النفق مع السيرفر الخطأ وأرسل إليه إجابة MSCHAPv2 التي يمكن أن تكشف كلمة مرور ضعيفة. والحماية كلها في سطرين في إعداد الجهاز: شهادة الـ CA التي يثق بها، والاسم الذي يجب أن يحمله السيرفر. ولنرى ما يحدث عندما يجد الجهاز سيرفراً يحمل اسماً غير الذي ينتظره، غيرنا الاسم المتوقع في إعداد الجهاز:

```text
TLS: Domain suffix match 'radius.coffeestore.example' not found
CTRL-EVENT-EAP-TLS-CERT-ERROR reason=9 depth=0 subject='/O=Coffee Store Lab/CN=radius.example.com' err='Domain suffix mismatch'
CTRL-EVENT-EAP-FAILURE EAP authentication failed
```

رفض الجهاز أن يكمل قبل أن يرسل أي كلمة مرور، لأن الشهادة لا تحمل الاسم الذي ينتظره. وهذا بالضبط ما يحدث مع نقطة وصول مزيفة: لن تستطيع أن تقدم شهادة باسم سيرفرك موقعة من جهة إصدارك، لأنها لا تملك مفتاح جهة الإصدار. والصورة التالية تجمع العطلين اللذين رأيناهما في المختبر، أحدهما عطل يجب أن تمنعه، والآخر رفض يجب أن تحرص عليه:

![عطلان في المختبر: شهادة منتهية ترفضها كل الأجهزة، واسم سيرفر مختلف يرفضه الجهاز](https://arabroot.io/content/images/2026/10/wifi-enterprise-radius-05-certs.webp)

الشهادة المنتهية توقف الجميع، والتحقق من الاسم يوقف السيرفر الخطأ وحده

والمشكلة في الواقع أن كثيراً من الأجهزة تسأل المستخدم عند أول اتصال: «هل تثق بهذه الشهادة؟»، والمستخدم يضغط نعم دون أن يقرأ، فيكون قد قبل أي شهادة. لذلك لا تترك الإعداد للمستخدم، بل وزعه من أداة إدارة الأجهزة MDM في ملف تعريف Profile يحمل الـ CA والاسم، أو من Group Policy في بيئة Windows، فيتصل الجهاز ولا يسأل أحداً. وإذا لم تكن عندك أداة إدارة، فهذا من أقوى الأسباب للانتقال إلى EAP-TLS، لأن الجهاز الذي يدخل بشهادة لا يملك كلمة مرور يمكن أن يسلمها لأحد.

## الدخول بشهادة: EAP-TLS

أصدرنا من جهة الإصدار نفسها شهادة لجهاز اسمه laptop01، بخاصية `clientAuth` هذه المرة، وضبطنا الجهاز لـ EAP-TLS:

```text
network={
    key_mgmt=WPA-EAP
    eap=TLS
    identity="laptop01.example.com"
    ca_cert="/ed/pki/ca.pem"
    client_cert="/ed/pki/laptop01.crt"
    private_key="/ed/pki/laptop01.key"
    domain_suffix_match="radius.example.com"
}
```

```text
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS) selected
CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
SUCCESS
# in the server log:
(44) eap_tls:   TLS-Client-Cert-Common-Name = "laptop01.example.com"
(45) Sent Access-Accept Id 7 from 192.168.96.2:1812 to 192.168.96.3:40454 length 188
```

الطريقة 13 هي EAP-TLS، ولم يحتج السيرفر أي إعداد إضافي، لأنه يقبل أي شهادة جهاز موقعة من الـ CA التي يثق بها، وسجل اسم الجهاز من شهادته. ولاحظ أننا لم نكتب أي كلمة مرور في أي مكان. ولكن انتبه إلى ما يعنيه «أي شهادة من الـ CA»: إذا فقد لابتوب وفيه شهادته، فإن الشهادة تبقى صالحة حتى تلغيها، لذلك يحتاج EAP-TLS في الإنتاج قائمة إلغاء CRL أو فحص OCSP يعرف منه السيرفر الشهادات الملغاة، وهذا جزء من تشغيل جهة الإصدار الذي ذكرناه في نقاط الضعف.

## من أين يعرف السيرفر الموظفين؟

في المختبر وضعنا الموظفين في ملف نصي، وهذا لا يناسب متجراً يضيف ويحذف موظفين كل شهر، فالمكان الطبيعي للحسابات هو دليل المستخدمين الذي تديره المؤسسة أصلاً: Active Directory في بيئات Windows، أو دليل LDAP، أو مزود هوية مثل الذي شرحناه في [دليل إدارة الهوية والوصول](https://arabroot.io/articles/%D8%A7%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%87%D9%88%D9%8A%D8%A9-%D9%88%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-iam-%D9%88%D8%A7%D9%84%D9%88%D8%B5%D9%88%D9%84-%D8%A7%D9%84%D9%85%D9%85%D9%8A%D8%B2-pam/). والفائدة أن الموظف الذي يعطل حسابه في الدليل يفقد الوصول إلى Wi-Fi تلقائياً في اللحظة نفسها، دون أن يتذكر أحد أن يعدل ملف RADIUS.

ولكن هنا قيد تقني يفاجئ كثيرين: طريقة MSCHAPv2 داخل PEAP لا تقبل إلا نوعين من تخزين كلمات المرور، النص الصريح أو هاش NT الخاص بـ Windows، ولا تعمل مع كلمات المرور المحفوظة بهاش MD5 أو SHA1 أو crypt، كما يبين [جدول التوافق](https://www.deployingradius.com/documents/protocols/compatibility.html?ref=arabroot.io) الذي نشره مؤلف FreeRADIUS نفسه. والسبب في طريقة MSCHAPv2: السيرفر لا يستقبل كلمة المرور، وإنما إجابة على سؤال محسوبة من هاش NT، فيحتاج أن يحسب الإجابة نفسها، وهذا مستحيل إذا كان يملك هاشاً من نوع آخر. ولهذا:

- **مع Active Directory:** يعمل PEAP جيداً، لأن الدليل يملك هاش NT، والطريقة المعتادة أن ينضم سيرفر FreeRADIUS إلى النطاق بـ Samba ويسأله عبر أداة `ntlm_auth`.
- **مع LDAP يحفظ كلمات المرور بهاش آخر:** لا يعمل PEAP-MSCHAPv2، فإما أن تستخدم طريقة EAP-TTLS مع PAP التي ترسل كلمة المرور نفسها داخل النفق ليتحقق منها السيرفر أمام LDAP، وإما أن تنتقل إلى EAP-TLS بالشهادات.
- **مع EAP-TLS:** لا يحتاج السيرفر كلمات المرور إطلاقاً، ويكفيه أن يسأل الدليل إن كان صاحب الشهادة ما زال موظفاً فعالاً، وهذا سبب إضافي لكونه الخيار الأنظف على المدى الطويل.

وهذا القرار يجب أن يتخذ قبل أن توزع الإعداد على الأجهزة، لأن تغيير طريقة الدخول بعد ذلك يعني إعادة الإعداد على كل جهاز.

## من دخل ومتى؟ سجل الجلسات Accounting

تذكر المشكلة التي بدأت بها القصة: جهاز غريب على شبكة الفرع الثاني ولا يعرف أحد صاحبه. هنا يقدم RADIUS جزءاً ثانياً لا يقل أهمية عن التحقق، وهو المحاسبة Accounting الموصوفة في [RFC 2866](https://www.rfc-editor.org/rfc/rfc2866?ref=arabroot.io)، وتعمل على المنفذ 1813\. فنقطة الوصول ترسل إلى السيرفر رسالة عند بداية كل جلسة وعند نهايتها، وبشكل دوري أثناءها، وفيها اسم المستخدم وعنوان جهازه ونقطة الوصول التي اتصل بها والمدة وحجم البيانات. فيصبح عندك سجل يقول: أحمد اتصل من الفرع الأول بجهاز عنوانه كذا من الساعة الثامنة إلى الثالثة. ولو كان هذا السجل موجوداً في المتجر، لعرف المدير اسم صاحب الجهاز الغريب في دقيقة.

وهذا السجل هو بالضبط نوع الأدلة الذي تحتاجه في التحقيق، كما رأينا في سلسلة التحقيق الرقمي، فاحفظه خارج سيرفر RADIUS في نظام سجلات مركزي، ولا تتركه يكبر في ملف محلي حتى يمتلئ القرص. والفرق بين وضع Personal ووضع Enterprise هنا جوهري: في الأول سجلك عناوين MAC يمكن تغييرها، وفي الثاني سجلك أسماء أشخاص حقيقيين تحققت منهم، وقد شرحنا قيمة هذا النوع من السجلات في [دليل سجل التدقيق](https://arabroot.io/articles/%D8%B3%D8%AC%D9%84-%D8%A7%D9%84%D8%AA%D8%AF%D9%82%D9%8A%D9%82-audit-trail-%D9%85%D9%86-%D9%81%D8%B9%D9%84-%D9%85%D8%A7%D8%B0%D8%A7-%D9%88%D9%85%D8%AA%D9%89/).

## خطة الانتقال في المتجر

لا تنقل الفروع الثلاثة إلى Enterprise في ليلة واحدة، فأي خطأ في الشهادة أو في الـ VLAN سيوقف الدفع في كل الفروع. والطريقة الأسلم أن تتدرج:

1. **المختبر أولاً:** كما فعلنا، سيرفر RADIUS واختبار بـ eapol\_test لكل طريقة دخول ولكل دور، حتى ترى القبول والرفض والـ VLAN بعينك قبل أي نقطة وصول.
2. **شبكة جديدة بجانب القديمة:** أضف اسم شبكة Enterprise جديداً في فرع واحد، واترك الشبكة القديمة تعمل، وانقل إليها أجهزة الإدارة أولاً، فهي الأقل حساسية للتوقف.
3. **توزيع الإعداد مركزياً:** ملف تعريف يحمل الـ CA واسم السيرفر لكل جهاز، حتى لا يضغط أي موظف «أثق» على شهادة لا يعرفها.
4. **أجهزة الدفع آخراً وبعناية:** بعض أجهزة الدفع والطابعات وأجهزة إنترنت الأشياء لا تدعم 802.1X أصلاً، وهذه تحتاج شبكة منفصلة خاصة بها بكلمة مرور قوية في VLAN معزولة، بدل أن تبقى السبب في إبقاء الشبكة كلها مشتركة.
5. **إيقاف الشبكة القديمة:** بعد أن ينتقل الجميع، أوقف الشبكة المشتركة وغير كلمة مرورها، فهي التي يعرفها الموظف الذي غادر.

ولاحظ في الخطوة الرابعة أن Enterprise ليس حلاً لكل جهاز، فالأجهزة البسيطة التي لا تفهم 802.1X تبقى على Personal، ولكن في شبكة معزولة لا ترى إلا ما تحتاجه، وهذا هو المبدأ نفسه الذي تطلبه الضوابط: لا يتصل اللاسلكي بالشبكة الداخلية إلا بعد دراسة المخاطر ومعالجتها.

## الموارد والبديل التجاري

FreeRADIUS خفيف بشكل لافت: استهلك في المختبر 8.9 MiB من الذاكرة، وحجم الـ Image نحو 73 MB، وأي سيرفر صغير أو جهاز افتراضي بنواة واحدة يكفي متجراً بثلاثة فروع ومئات الأجهزة، لأن العمل الثقيل الوحيد هو بناء نفق TLS عند كل دخول، وهو جزء من الثانية. والأهم من القوة هو التوفر: إذا توقف سيرفر RADIUS لا يدخل أحد، لذلك ضع سيرفرين وأضف الاثنين في إعداد نقاط الوصول، فإذا لم يرد الأول سألت الثاني. ولا تنس أن الأجهزة تعيد التحقق دورياً وكلما تنقل الموظف بين نقاط الوصول في الفرع، فعدد عمليات الدخول في اليوم أكبر بكثير من عدد الموظفين، ولكنه يبقى حملاً صغيراً على سيرفر بهذا الحجم.

أما البدائل التجارية فأشهرها Cisco ISE وAruba ClearPass للمؤسسات الكبيرة، وخدمات RADIUS السحابية مثل JumpCloud. وقد راجعنا [صفحة أسعار JumpCloud](https://jumpcloud.com/pricing?ref=arabroot.io) بتاريخ 26 أكتوبر 2026 فوجدنا أن الباقات التي تشمل Cloud RADIUS تطلب التواصل مع المبيعات ولا تعرض سعراً، وCisco ISE وAruba ClearPass يباعان عبر الموزعين بلا سعر منشور. ونقطة قوة هذه الحلول أنها تأتي بواجهة إدارة وتكامل جاهز مع أدوات إدارة الأجهزة وفحص حالة الجهاز قبل قبوله، ونقطة ضعفها التكلفة والاعتماد على المورد. وFreeRADIUS بلا تكلفة رخصة، ولكن إدارته بملفات إعداد تحتاج شخصاً يفهمها، وهذا ما حاولنا أن نقدمه في هذا المقال.

## الجانب السعودي

تنص الضوابط الأساسية للأمن السيبراني ECC من الهيئة الوطنية للأمن السيبراني، في الضابط 2-5-3-4 ضمن متطلبات إدارة أمن الشبكات، على حماية الشبكات اللاسلكية باستخدام وسائل آمنة للتحقق من الهوية والتشفير، وعدم ربطها بالشبكة الداخلية للجهة إلا بعد دراسة متكاملة للمخاطر ومعالجتها بما يحمي الأصول التقنية للجهة، كما جاء في النص الرسمي لوثيقة [ECC-2:2024](https://cdn.nca.gov.sa/api/files/public/upload/86e09090-44e4-481f-bc28-355673607654%5FECC--2024-EN.pdf?ref=arabroot.io). وما بنيناه في هذا المقال يخدم هذا الضابط مباشرة: التحقق بحساب لكل شخص بدل سر مشترك، وتشفير بمفتاح لكل جهاز، والـ VLAN الديناميكية التي تمنع الضيف من الوصول إلى الشبكة الداخلية. وهذه الضوابط ملزمة للجهات الحكومية والجهات المشغلة للبنى التحتية الحساسة، ولكنها مرجع جيد لأي مؤسسة تريد أن تعرف ما المقصود بشبكة لاسلكية آمنة.

## قائمة تحقق قبل التشغيل

| البند                                                                   | لماذا                                                                         |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| جهة إصدار CA خاصة، وشهادة سيرفر لسنة مع serverAuth وsubjectAltName      | الشهادات التجريبية تنتهي بعد 60 يوماً، وبعض الأنظمة ترفض شهادة بلا serverAuth |
| تذكير أو مراقبة لتاريخ انتهاء شهادة السيرفر                             | انتهاؤها يوقف الدخول على كل الأجهزة معاً                                      |
| CA والاسم المتوقع موزعان على الأجهزة من MDM أو Group Policy             | الحماية الوحيدة من نقطة الوصول المزيفة في PEAP                                |
| عميل RADIUS لكل نقطة وصول بعنوانها، وسر طويل عشوائي                     | لا يستطيع أي جهاز في الشبكة أن يجرب كلمات المرور على السيرفر                  |
| صلاحيات ملفات الإعداد لـ root فقط                                       | من يعدل الإعداد يفتح الشبكة لنفسه، وFreeRADIUS يرفض العمل بغير ذلك            |
| إعداد inner-tunnel لنسخ الرد، والتأكد من وصول الـ VLAN في Access-Accept | بدونه يدخل الجميع إلى الشبكة الافتراضية                                       |
| سيرفرا RADIUS على الأقل                                                 | توقف السيرفر الوحيد يوقف دخول الجميع                                          |
| EAP-TLS للأجهزة المدارة مع CRL أو OCSP                                  | لا كلمة مرور تسرق، والجهاز المفقود يلغى وحده                                  |

## الخلاصة

- كلمة المرور المشتركة لا تخرج الموظف الذي غادر، ولا تعرف من دخل، ولا تفصل الأدوار، وWPA3-Personal لا يغير هذا، فالسؤال هو Personal أم Enterprise.
- في 802.1X نقطة الوصول لا تعرف كلمات المرور، بل تمرر رسائل EAP إلى RADIUS، ودخول PEAP واحد احتاج في المختبر 22 رسالة RADIUS.
- FreeRADIUS 3.2.10 قبل أحمد وسارة ورفض كلمة المرور الخاطئة، ووضع كل واحد في الـ VLAN الخاصة به بعد تفعيل نسخ الرد من inner-tunnel.
- الشهادة التجريبية المنتهية أوقفت الدخول كله، فاصنع جهة إصدار خاصة وراقب تاريخ انتهاء شهادة السيرفر.
- التحقق من اسم السيرفر وشهادة الـ CA على الجهاز هو ما يرفض السيرفر الخطأ، فوزعه من أداة إدارة الأجهزة ولا تتركه للمستخدم.
- EAP-TLS يلغي كلمات المرور كلها، وثمنه تشغيل جهة إصدار وتوزيع الشهادات وإلغاؤها.

وفي المقال القادم بإذن الله سوف نعود إلى الأساس: إعدادات أمن الشبكة اللاسلكية في أي راوتر، من WPA3 إلى فصل شبكة الضيوف وإيقاف WPS، وهي الخطوة التي تحتاجها كل مؤسسة حتى قبل أن تبني RADIUS.

[![](https://arabroot.io/content/images/2026/10/network-segmentation-cover-cover.webp)دليلتقسيم الشبكة Network Segmentation بال VLAN وال VPCلماذا تصل كاميرا مخترقة إلى قاعدة بياناتك، وكيف تمنع ذلك بتقسيم الشبكة إلى مناطق لا يمر بينها إلا ما تسمح به.](https://arabroot.io/articles/%D8%AA%D9%82%D8%B3%D9%8A%D9%85-%D8%A7%D9%84%D8%B4%D8%A8%D9%83%D8%A9-network-segmentation-vlan-%D9%88-vpc/)[![](https://arabroot.io/content/images/2026/10/captive-portal-cover-cover.webp)دليلبوابة الدخول Captive Portal: شبكة الضيوف برمز تحققكيف تعمل بوابة الدخول في شبكة Wi-Fi الضيوف، وكيف تختار طريقة التحقق والأدوات المناسبة لمقهى أو فندق أو شركة.](https://arabroot.io/articles/%D8%A8%D9%88%D8%A7%D8%A8%D8%A9-%D8%A7%D9%84%D8%AF%D8%AE%D9%88%D9%84-captive-portal-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%B6%D9%8A%D9%88%D9%81-%D8%A8%D8%B1%D9%85%D8%B2-%D8%AA%D8%AD%D9%82%D9%82/)[![](https://arabroot.io/content/images/2026/10/captive-portal-lab-cover-cover.webp)دليلبناء بوابة دخول Wi-Fi برمز تحقق: تجربة عملية كاملةنبني بوابة دخول تعمل فعلاً برمز تحقق وجلسة محدودة المدة وسجل لكل اتصال، ثم ننقلها إلى راوتر حقيقي.](https://arabroot.io/articles/%D8%A8%D9%86%D8%A7%D8%A1-%D8%A8%D9%88%D8%A7%D8%A8%D8%A9-%D8%AF%D8%AE%D9%88%D9%84-wi-fi-%D8%A8%D8%B1%D9%85%D8%B2-%D8%AA%D8%AD%D9%82%D9%82-%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9-%D8%B9%D9%85%D9%84%D9%8A%D8%A9/)[![](https://arabroot.io/content/images/2026/10/mikrotik-scenarios-cover-cover.webp)دليلMikroTik في الواقع: سيناريوهات عملية للبيت والمكتبكيف تبني على RouterOS ما تحتاجه فعلاً في البيت والمكتب، من شبكة ضيوف معزولة إلى الوصول الآمن من الخارج عبر WireGuard.](https://arabroot.io/articles/mikrotik-%D9%81%D9%8A-%D8%A7%D9%84%D9%88%D8%A7%D9%82%D8%B9-%D8%B4%D8%A8%D9%83%D8%A9-%D8%A7%D9%84%D8%B6%D9%8A%D9%88%D9%81-%D9%88vlan-%D9%88%D8%A7%D9%84vpn-%D9%88%D8%AA%D9%88%D8%AC%D9%8A%D9%87-%D8%A7%D9%84%D9%85%D9%86%D8%A7%D9%81%D8%B0/)

## تدريب عملي Practice

- شغل FreeRADIUS بالخيار `-X` وأضف مستخدماً ثالثاً بـ VLAN مختلفة، ثم اختبره بـ eapol\_test واقرأ الصفة 81 في Access-Accept بنفسك.
- أصدر شهادة سيرفر صالحة يوماً واحداً، وانتظر انتهاءها، وشاهد الرسالة التي يعطيها eapol\_test، حتى تعرفها يوم تراها في الإنتاج.

## سجل التحديثات

- أكتوبر 2026: كتابة الدليل وتنفيذ المختبر يوم 26 أكتوبر 2026 على FreeRADIUS 3.2.10 مع eapol\_test 2.12 المبني من الكود الرسمي، بطريقتي PEAP-MSCHAPv2 وEAP-TLS والـ VLAN الديناميكية.