تخيّل Ù…ÙˆØ¸ÙØ§Ù‹ ÙØªØ قسيمته ÙÙŠ البوابة، ÙØ±Ø£Ù‰ ÙÙŠ شريط العنوان شيئاً مثل /payslip?id=1042. غيّر الرقم إلى 1043 وضغط. إن ظهرت قسيمة زميله، Ùليست هذه ثغرة تقنية دقيقة يكتشÙها خبير أمن؛ إنها تسريب رواتب الشركة كلها بإصبع ÙˆØ§ØØ¯ØŒ ويكتشÙÙ‡ أول ÙØ¶ÙˆÙ„ÙŠ.
هذا النمط — الوصول المباشر بتغيير المعرّ٠— هو أشيع ثغرة ÙÙŠ تطبيقات الأعمال، وأكثر ما يقع ÙÙŠ البوابات Ø§Ù„Ù…Ø¶Ø§ÙØ© على عجل Ùوق نظام قائم. والسبب أن البوابة بÙنيت على قاعدة «أخÙ٠ما لا يخصّه» بدل «لا تعرض إلا ما يخصّه».
Ø§Ù„ÙØ±Ù‚ الذي يقرّر كل شيء: ÙŠÙØ®ÙÙŠ أم لا يستطيع؟
هناك طريقتان لبناء بوابة Ù…ÙˆØ¸ÙØŒ تبدوان متطابقتين على الشاشة ÙˆÙ…Ø®ØªÙ„ÙØªØ§Ù† تماماً ÙÙŠ الأمن:
الطريقة الأولى (الخطرة): الشاشة ØªÙØ±Ø´ÙÙ‘Ø. الخادم يعر٠كي٠يعطي قسيمة أي Ù…ÙˆØ¸ÙØŒ والشاشة تطلب قسيمة Ø§Ù„Ù…ÙˆØ¸Ù Ø§Ù„ØØ§Ù„ÙŠ Ùقط. أي أن **القدرة على إعطاء قسيمة الغير موجودة**ØŒ والذي يمنعها هو أن الشاشة لا تطلبها. وأي طلب ÙŠÙØµÙ†ÙŽØ¹ يدوياً — بتغيير رقم ÙÙŠ العنوان، أو بأداة بسيطة — يتجاوز الشاشة ويصل إلى القدرة Ù†ÙØ³Ù‡Ø§.
الطريقة الثانية (الصØÙŠØØ©): الخادم لا يقبل Ù…Ø¹Ø±Ù‘ÙØ§Ù‹ أصلاً. نقاط البوابة لا تأخذ «معرّ٠موظÙ» ÙÙŠ أي عنوان. الخادم يستنتج الموظ٠من **ØØ³Ø§Ø¨ الداخل Ù†ÙØ³Ù‡**ØŒ ثم يقرأ بياناته هو. Ùلا يوجد رقم ÙŠÙØºÙŠÙŽÙ‘ر، ولا طلب ÙŠÙØµÙ†ÙŽØ¹ØŒ لأن الطلب لا ÙŠØÙ…Ù„ ما يمكن التلاعب به.
ÙˆØ§Ù„ÙØ±Ù‚ بينهما ليس ÙÙŠ درجة الأمان بل ÙÙŠ نوعه: الأولى تعتمد على أن Ø£ØØ¯Ø§Ù‹ لن ÙŠØØ§ÙˆÙ„ØŒ والثانية لا تعبأ بمن ÙŠØØ§ÙˆÙ„.
ÙˆØÙŠÙ† يلزم معرّÙ: ØØ§Ø±Ø³ الملكية
تبقى ØØ§Ù„ات ÙŠØÙ…Ù„ Ùيها الطلب Ù…Ø¹Ø±Ù‘ÙØ§Ù‹ بالضرورة: Â«Ø§ÙØªØ ØªÙØµÙŠÙ„ هذه القسيمة بعينها». هنا القاعدة الثانية: **الخادم يتØÙ‚ّق من الملكية قبل أن يقرأ**. لا يكÙÙŠ أن يكون الطلب موقّعاً Ø¨ØØ³Ø§Ø¨ صØÙŠØØ› يجب أن ÙŠÙØ«Ø¨Øª أن هذا السطر يخصّ هذا الموظ٠— وإلا Ø±ÙØ¯Ù‘ كأنه غير موجود.
ÙˆÙ„Ø§ØØ¸ صيغة الردّ: **«غير موجود» لا «ممنوع»**. Ø§Ù„ÙØ±Ù‚ مهمّ: «ممنوع» تؤكّد Ù„Ù„Ù…ØØ§ÙˆÙ„ أن الرقم صØÙŠØ وأن هناك ما ÙŠÙØ®Ùى، ÙØªØ´Ø¬Ù‘عه على المتابعة. أمّا «غير موجود» Ùلا تعطيه شيئاً.
ثم صلاØÙŠØ© ÙˆØ§ØØ¯Ø© لا شيء غيرها
الخطأ الثالث الشائع: Ù…Ù†Ø Ø§Ù„Ù…ÙˆØ¸Ù ØµÙ„Ø§ØÙŠØ© «عرض الموظÙين» ليرى Ù†ÙØ³Ù‡. هذه الصلاØÙŠØ© ØªÙØªØ شاشة الموظÙين كلها، وقد ÙŠÙØ®Ùيها التصميم اليوم ÙˆÙŠÙØ¸Ù‡Ø±Ù‡Ø§ ØªØØ¯ÙŠØ«ÙŒ غداً.
الصØÙŠØ أن تكون للبوابة **صلاØÙŠØªÙ‡Ø§ المستقلّة**ØŒ لا ØªÙ…Ù†Ø Ø´ÙŠØ¦Ø§Ù‹ من صلاØÙŠØ§Øª الموارد البشرية. ودورٌ ÙŠØÙ…لها ÙˆØØ¯Ù‡Ø§ ÙŠÙØ¹Ø·Ù‰ للموظÙين. ومن كانت هي صلاØÙŠØªÙ‡ الوØÙŠØ¯Ø© يهبط على بوابته مباشرة — لا على Ù„ÙˆØØ© ÙØ§Ø±ØºØ© يتنقّل Ùيها Ø¨ØØ«Ø§Ù‹ عمّا يستطيع ÙØªØÙ‡.
ÙˆØØ³Ø§Ø¨ دخول ÙˆØ§ØØ¯ لبطاقة Ù…ÙˆØ¸Ù ÙˆØ§ØØ¯Ø©
الربط بين ØØ³Ø§Ø¨ الدخول وبطاقة الموظ٠هو أساس العزل كله؛ ÙØ¥Ù† اختلّ اختلّ ما Ùوقه. والقاعدة: **علاقة ÙˆØ§ØØ¯ Ø¨ÙˆØ§ØØ¯ ÙŠÙØ±Ø¶Ù‡Ø§ النظام لا Ø§Ù„Ø¹ÙØ±Ù**. ØØ³Ø§Ø¨ÙŒ ÙˆØ§ØØ¯ لا ÙŠÙØ±Ø¨Ø· ببطاقتين، وبطاقةٌ لا ØªÙØ±Ø¨Ø· Ø¨ØØ³Ø§Ø¨ÙŠÙ†. وبغير ذلك يصير ممكناً أن ÙŠÙØ±Ø¨Ø· ØØ³Ø§Ø¨ موظ٠ببطاقة زميله سهواً — Ùيرى راتبه Ø¨ØØ³Ù† نيّة، وهو أسوأ من الاختراق لأنه لا يترك أثراً ÙŠÙØ´ØªØ¨Ù‡ Ùيه.
ومن كان ØØ³Ø§Ø¨Ù‡ غير مربوط ببطاقة، يجب أن تÙقابله رسالة ÙˆØ§Ø¶ØØ© تقول ما ÙŠÙØ¹Ù„Ù‡ («راجع الموارد البشرية لربط ØØ³Ø§Ø¨ÙƒÂ») لا شاشة ÙØ§Ø±ØºØ© ولا خطأ تقني.
ÙˆØªÙØ§ØµÙŠÙ„ تÙنسى ÙˆØªÙØ³Ø±Ù‘ب
عنوان البريد. رسالة عنوانها «راتبك 6,870 ريالاً» تظهر على شاشة Ù‚ÙÙ„ الهات٠ÙÙŠ مصعد أو مقهى. العنوان ÙŠØÙ…Ù„ الشهر واسم الشركة، والمبلغ ÙÙŠ المرÙÙ‚.
القسيمة غير المرØÙŽÙ‘لة. ليست مسألة أمن٠بل ثقة: عرض رقم قد يتغيّر ÙŠÙØªØ باب أسئلة عن شيء لم يصر التزاماً بعد.
ما ÙŠÙØ¹Ø±Ø¶ من غير القسيمة. ÙÙŠ قسيمة الموظ٠لا ØªÙØ¹Ø±Ø¶ ØØµØ© ØµØ§ØØ¨ العمل من التأمينات: هي ØªÙƒÙ„ÙØ© شركة لا ØªÙØ¯Ùع له ولا ØªÙØ®ØµÙ… منه.
تعديل Ø§Ù„ØØ³Ø§Ø¨ البنكي. Ø§Ù„Ø³Ù…Ø§Ø Ù„Ù„Ù…ÙˆØ¸Ù Ø¨ØªØºÙŠÙŠØ± رقم ØØ³Ø§Ø¨Ù‡ من البوابة بلا اعتماد بابٌ Ù…Ø¹Ø±ÙˆÙ Ù„Ù„Ø§ØØªÙŠØ§Ù„: ÙŠÙØ®ØªØ±Ù‚ ØØ³Ø§Ø¨ÙŒ ضعي٠الكلمة ÙÙŠÙØÙˆÙŽÙ‘Ù„ راتب شهر إلى ØØ³Ø§Ø¨ آخر. البيانات ذات الأثر المالي ØªÙØºÙŠÙŽÙ‘ر باعتماد لا بØÙظ.
سبع نقاط ØªÙØ®ØªØ¨Ø± قبل الإطلاق
لا تسأل المورّد «هل البوابة آمنة؟» — الجواب دائماً نعم. اختبر Ø¨Ù†ÙØ³Ùƒ Ø¨ØØ³Ø§Ø¨ موظ٠تجريبي:
Ù¡) Ø§ÙØªØ قسيمتك وانظر العنوان: هل Ùيه Ù…Ø¹Ø±Ù‘ÙØŸ إن كان ÙØºÙŠÙ‘ره وجرّب.
Ù¢) اطلب ØªÙØµÙŠÙ„ قسيمة بمعرّ٠لا يخصّك: هل يعود «غير موجود» أم يعرض شيئاً؟
Ù£) Ø§ÙØªØ تبويب الإجازات: هل ترى أرصدة غيرك أو أسماءهم ÙÙŠ أي قائمة؟
Ù¤) Ø§ÙØªØ قائمة الموظÙين من العنوان مباشرةً: هل تÙÙØªØ Ù„ØØ³Ø§Ø¨ البوابة؟
Ù¥) اطلب قسيمة شهر لم ÙŠÙØ±ØÙŽÙ‘Ù„ بعد: هل تظهر؟
Ù¦) غيّر رقم ØØ³Ø§Ø¨Ùƒ البنكي: هل ÙŠÙØÙØ¸ Ùوراً أم ينتظر اعتماداً؟
Ù§) Ø§ÙØØµ عنوان بريد القسيمة: هل Ùيه مبلغ؟
سبع دقائق تكش٠ما لا تكشÙÙ‡ ورقة Ù…ÙˆØ§ØµÙØ§Øª.
كي٠بÙني العزل ÙÙŠ ÙƒÙ…ØªÙˆÙØ§ ERP
لا معرّ٠موظ٠ÙÙŠ أي عنوان
كل نقاط بوابة الخدمة الذاتية ÙÙŠ موديول الموارد البشرية ØªØØª مسار ÙˆØ§ØØ¯ لا يقبل معرّ٠موظÙ: الخادم ÙŠØÙ„Ù‘ ØØ³Ø§Ø¨ الداخل إلى بطاقته أولاً ثم يقرأ. Ùلا رقم ÙŠÙØºÙŠÙŽÙ‘ر ÙÙŠ عنوان، والقدرة على قراءة بيانات موظ٠آخر **غير موجودة ÙÙŠ هذا المسار** لا مخÙيّة Ùيه. وهو النمط Ù†ÙØ³Ù‡ الذي تق٠عليه بوابة وليّ الأمر ÙÙŠ موديول المدارس.
ÙˆØØ§Ø±Ø³ ملكية ØÙŠØ« يلزم معرّÙ
ØªÙØµÙŠÙ„ القسيمة ÙŠØØªØ§Ø¬ معرّ٠سطرها، ÙيتØÙ‚ّق الخادم أن السطر يخصّ هذا الموظ٠وأن مسيره مرØÙŽÙ‘Ù„ — وإلا ردّ «غير موجود». Ø§Ø®ØªÙØ¨Ø± هذا بمشرط: طلب ØªÙØµÙŠÙ„ قسيمة موظ٠آخر Ø±ÙØ¯Ù‘ØŒ ÙˆØØ³Ø§Ø¨ÙŒ غير مربوط ببطاقة لم تÙÙØªØ له البوابة.
وصلاØÙŠØ© ÙˆØ§ØØ¯Ø© معزولة
البوابة بصلاØÙŠØ© ÙˆØ§ØØ¯Ø© لا ØªÙ…Ù†Ø Ø´ÙŠØ¦Ø§Ù‹ من صلاØÙŠØ§Øª الموارد البشرية، ولها قالب دور خاص بها ÙŠÙØ¹Ø·Ù‰ للموظÙين. ومن كانت هي صلاØÙŠØªÙ‡ الوØÙŠØ¯Ø© يهبط على بوابته مباشرة.
وربط ÙˆØ§ØØ¯ Ø¨ÙˆØ§ØØ¯ ÙŠÙØ±Ø¶Ù‡ النظام
ربط ØØ³Ø§Ø¨ الدخول ببطاقة الموظ٠يجري من شاشة Ø§Ù„Ù…ÙˆØ¸ÙØŒ وقاعدة البيانات Ù†ÙØ³Ù‡Ø§ ØªØ±ÙØ¶ ربط ØØ³Ø§Ø¨Ù ببطاقتين. والقائمة ØªÙØ¸Ù‡Ø± Ø§Ù„ØØ³Ø§Ø¨ المرتبط بغيره Ùلا ÙŠÙØ®ØªØ§Ø± سهواً.
وعزل الشركات Ùوق ذلك كله
ما سبق عزل٠موظÙ٠عن موظ٠داخل الشركة. ÙˆÙوقه عزل الشركة عن الشركة على مستوى قاعدة البيانات Ù†ÙØ³Ù‡Ø§ (Row-Level Security): استعلامٌ بلا سياق شركة يعود ÙØ§Ø±ØºØ§Ù‹ØŒ لا Ø¨ØØ³Ø¨ ما تكتبه الشاشة.
الخلاصة
البوابة الآمنة ليست التي Ø£Ø¶Ø§ÙØª طبقة تØÙ‚ّق Ùوق نظام Ù…ÙØªÙˆØØŒ بل التي **لا تملك أصلاً** طريقاً لعرض بيانات موظ٠لموظ٠آخر. ÙˆØ§Ù„ÙØ±Ù‚ بينهما لا يظهر ÙÙŠ العرض التقديمي، بل ÙÙŠ سبع دقائق أمام الشاشة Ø¨ØØ³Ø§Ø¨ تجريبي — ÙØ§Ø®ØªØ¨Ø±Ù‡Ø§ قبل أن تعطي مئة موظ٠كلمات مرور.
تعرّ٠على موديول الموارد البشرية ÙÙŠ ÙƒÙ…ØªÙˆÙØ§ ERP وبوابة الخدمة الذاتية Ùيه، واطّلع على بقية ميزات النظام، أو راجع ØµÙØØ© الأسعار.
