مقالات
أداة داخلية بلا تسجيل دخول: الخطر الذي تملكه بالفعل
كلمة سر مشتركة ورابط غير منشور ليسا حماية. ما تحتاجه الأداة الداخلية كحد أدنى، وما يحدث حين يغادر أحدهم.
- security
- access
- internal-tools
الأداة التي يستعملها فريقك ليست داخلية لأنك لم تنشر رابطها. هي داخلية حين يسأل النظام عن هوية الزائر قبل أن يفتح، وحين يبقى أثر مكتوب لما فعله كل شخص. وما دون ذلك رابط مخفي يعرفه أكثر مما تظن، والبيانات التي يقف عليها حقيقية: أسماء عملاء وأسعار ومخزون. والحالة الوحيدة التي تعفيك من هذا كله ضيقة: صفحة لا يقف خلفها شيء، لا اسم عميل ولا مبلغ ولا ملف.
ما معنى «داخلية» على الإنترنت؟
تعني في الغالب «لم نضع لها رابطًا في الموقع». وهذا ليس حدًّا. الرابط غير المنشور يُرسل في محادثة، ويُكتب في ملف، ويُحفظ في متصفح حاسوب يُباع لاحقًا، ويُدخل يدويًا من حاسوب في بيت أحد المتعاقدين. وينتشر بهدوء: في صورة شاشة أرسلتها لعميل، في بريد مُعاد توجيهه، وفي محرك بحث وجد صفحة الدخول وفهرسها.
قاعدة الشبكة تساعد، لكن بشرط أن تكون خارج التطبيق نفسه: شبكة خاصة أو قائمة عناوين مسموحة عند الخادم الوسيط، لا فحص يجريه البرنامج على قيمة يرسلها المتصفح. وأكثر الأدوات الصغيرة لا تملك أيًّا من الاثنين، فحقيقتها اليوم: يفتحها من يعرف عنوانها، ويحميها سرّ يعرفه الفريق كله.
ما الحد الأدنى الذي يكفي؟
أربعة أشياء، بهذا الترتيب. ليست برنامجًا أمنيًا كاملًا، بل الأرضية التي بدونها لا تستطيع الإجابة عن أبسط سؤال يخص بياناتك.
- هوية حقيقية لكل شخص. لا «admin»، ولا بريد الفريق المشترك. حساب باسم صاحبه ومفتاح خاص به، فيُنسب كل فعل إلى فاعله، ويُسحب الوصول من واحد دون أن يتعطّل الباقون.
- أدوار ذات معنى. قراءة، كتابة، موافقة، إدارة. معظم الأدوات تحتاج ثلاثة أو أربعة أدوار، لا عشرين. والاختبار أن يستطيع مسؤول غير تقني أن يعيد وصف الدور في جملة واحدة.
- سجل بما جرى. من أنشأ السجل ومن عدّله ومن حذفه، ومتى. هذا أول ما يُهمَل، وأول ما تحتاجه، لأنه الطريقة الوحيدة لحسم خلاف حول سعر أو كمية أو حذف.
- سحب فوري للوصول. إجراء واحد يقطع الصلاحية في اللحظة نفسها عن شخص واحد. وإذا كان سحب الوصول يعني تغيير كلمة السر وإبلاغ اثني عشر شخصًا، فالوصول لا يُسحب، بل يُتفاوض عليه.
ويكفي للتفاصيل التقنية أن ترجع إلى دليل المصادقة في OWASP: كيف تُخزَّن بيانات الدخول، وكيف يُبنى الجلسة، ولماذا تبقى إعادة تعيين كلمة السر هي الثغرة التي يستغلها المهاجم فعلًا.
لماذا يجعل الحساب المشترك كل السجلات بلا قيمة؟
لأن السجل يكتب اسم الحساب لا اسم الشخص. وحين يستعمل ثلاثة أشخاص المفتاح نفسه، فجملة «غيّر admin سعر التوصيل عند الواحدة والربع» صحيحة عن حساب، ولا تفيد شيئًا عن مؤسسة. لا تصحّح سلوكًا، ولا تثبت من كان على حق، ولا تدافع عن التغيير أمام المالك.
الخسارة الثانية أهدأ: الحساب المشترك يمنعك من إعطاء أحدهم أقل مما لدى الآخرين. الموظف الجديد الذي يحتاج إلى البحث عن طلب يحصل على صلاحية من يقفل الشهر، لأن المفتاح واحد. وهكذا تتحول حاجة إلى قراءة فقط إلى حق في الكتابة.
الخسارة الثالثة هي التبديل. كلمة السر المشتركة لا تُغيَّر عند مغادرة شخص دون أن يتعطّل الجميع، فلا تُغيَّر أبدًا. وسرّ حمله أربعة أشخاص لسنتين ليس سرًّا، بل عُرف.
| السؤال | حساب مشترك واحد | حساب لكل شخص |
|---|---|---|
| من عدّل هذا السجل؟ | الحساب | الشخص |
| هل يمكن سحب الوصول اليوم؟ | لا، يُبدَّل فقط | نعم، بإجراء واحد |
| هل يمكن أن يكون الجديد قارئًا فقط؟ | لا | نعم |
هل تحتاج القراءة فقط إلى حساب مستقل؟
نعم، وهي أرخص تحسين متاح في معظم الأدوات. حساب للقراءة يغطي أكثر الحاجات: مسؤول يتابع طلبات اليوم، محاسب يستخرج تقريرًا. والكتابة أقل عددًا من القراءة في كل عمل تقريبًا، والفجوة بينهما هي حيث تقع الحوادث.
وعادتان تحفظان لهذه الصلاحية معناها. الأولى أن تكون شاشة القراءة كافية فعلًا؛ فإن كان الطريق الوحيد إلى رقم يمرّ عبر تعديل سجل، فسيُمنح الناس صلاحية الكتابة وينهار القيد. والثانية أن يُفصل التصدير عن التعديل: تحميل تقرير ليس تعديلًا، والخلط بينهما هو الذي يُخرج قائمة العملاء على حاسوب شخصي.
ماذا يحدث يوم يغادر أحدهم؟
سحب الوصول مكانه في القائمة نفسها التي فيها المفاتيح والحاسوب، وأمامه اسم مسؤول. وحين يبقى في ذاكرة شخص، يتأخر أو لا يحدث، وتكون الفجوة أطول مع من غادر غاضبًا.
- أوقف الحساب بدل حذفه، فيبقى السجل منسوبًا إلى صاحبه.
- بدّل كل سرّ مشترك كان يستطيع قراءته، واستعض عنه بحسابات فردية.
- انقل ملكية السجلات والتقارير المجدولة إلى زميل مسمّى.
- أخرج الحساب من الربط بالأنظمة ومن قواعد البريد وقنوات الإشعار.
- اكتب التاريخ واسم من نفّذ، بجانب وثائق الأداة.
إجراء قرار تنفذه هذا الأسبوع
- اكتب كل أداة تحمل بيانات عملاء أو مورّدين أو أسعارًا أو رواتب. أضف تلك التي بناها مطوّر سابق، وتلك التي لا يتذكر أحد من طلبها.
- افتح كل واحدة في نافذة خاصة، وأنت خارج الحساب. إن فتحت، فاكتب ما تكشفه. تلك القائمة هي ترتيب أولوياتك، لا رأيك.
- اسأل كم شخصًا يعرف كلمة سر كل أداة. اسأل مباشرة؛ الجواب أعلى عادةً مما يتوقعه المسؤول.
- ابدأ بأصغر ما يصحّح النسبة. في معظم الأدوات: حساب فردي بدورين، قراءة وكتابة، قبل أي جدول صلاحيات مفصّل.
- جرّب السحب مرة واحدة. أوقف حسابًا تجريبيًا يوم خميس، وتأكد يوم أحد أنه مرفوض.
أين يخطئ هذا النهج
- تُضاف صفحة دخول ولا يتغير شيء آخر. استمارة أمام أداة تثق بكل طلب ليست حماية، بل زينة. الفحص يجب أن يجري في الخادم عند كل طلب يقرأ بيانات أو يكتبها، لا في الشاشة التي ترسم الزر.
- تُنسخ الأدوار عن الهيكل الإداري. الأقسام ليست صلاحيات. مسؤول المخزن ومسؤول المشتريات قد يحتاجان الحق نفسه، وقد يحتاج المالك أقل من المحاسب.
- السجل موجود ولا يقرأه أحد. سجل لا يُسأل لا يمسك شيئًا. سؤال شهري واحد — من غيّر الأسعار الشهر الماضي؟ — يحوّله إلى رقابة.
- كلمة سر قوية تُرسل في مجموعة. القوة لا تنجو من المشاركة. سرّ طويل في محادثة جماعية سرّ ضعيف بخطوات إضافية.
- صلاحية تُمنح لمشروع ولا تُسحب بعده. الوصول المؤقت يعيش أطول من المشروع، لأن أحدًا لا يملك تاريخ الانتهاء.
ما لا يغطيه هذا المقال
الحديث هنا عن من يدخل الأداة، لا عن سلامة الأداة نفسها. تسجيل دخول صحيح لا يصلح ثغرة إدخال ولا مكتبة قديمة ولا نسخة احتياطية لم يستعدها أحد؛ لكل ذلك مراجعته. ولا يحسم المقال أي سجل يحق لك الاحتفاظ به ومدة ذلك. كما يفترض أن الأداة ملكك تستطيع تغييرها: فإن كانت منتجًا جاهزًا من مورّد، فبعض ما هنا إعداد تطلبه، وبعضه ليس للبيع.
نبني الأدوات الداخلية بدءًا من حساب باسم كل شخص، ودور واضح المعنى، وسجل يبيّن من غيّر ماذا.
خدمات في هذا المقال
مشاريع في هذا المقال
مقالات
مقالات ذات صلة.
نسخة احتياطية لم تستعدها ليست نسخة احتياطية
ما تحتاجه الاستعادة فعلًا، وكيف تجرّبها بتاريخ واسم مسؤول، وأين لا يجوز أن تسكن النسخة الاحتياطية.
- backups
- continuity
- hosting
تسلّم نظام من مطوّر رحل: من أين تبدأ
الوصول قبل الكود: جرد كل حساب، وإيقاف وصول من رحل بحذر، وإثبات استعادة ناجحة، وتجميد النطاق شهرًا. الثلاثون يومًا الأولى بالترتيب.
- تسليم
- صيانة
- مخاطر
من يملك الكود الذي دفعت ثمنه؟
حقوق النشر والمستودع والاستضافة والنطاق وقاعدة البيانات والمفاتيح ستة أشياء منفصلة. ما تطلبونه مكتوبًا لتستطيعوا الرحيل يومًا.
- الملكية
- العقود
- برمجيات-مخصّصة
ابدأ مشروعًا
لديك شيء تريد بناءه؟
ملخص قصير يكفي. تحصل على نطاق مكتوب وسعر ثابت قبل أن يبدأ أي شيء.
