العودة إلى المقالات

حساب مراقبة بلا صلاحيات تعديل: راقب سيرفرك بأمان

حساب مراقبة للقراءة فقط في Proxmox | مرام هوست - حساب مراقبة بلا صلاحيات تعديل: راقب سيرفرك بأمان

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

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

مبدأ أقل صلاحية

القاعدة بسيطة: أعطِ كل حساب ما يحتاجه لعمله فقط. أداة المراقبة تقرأ ولا تغيّر، فلا سبب لأن تملك قدرة التغيير. وفي Proxmox تتكوّن الصلاحية من ثلاثة أجزاء:

  • من: مستخدم أو مجموعة أو رمز API.
  • ماذا: دور (Role) يجمع مجموعة امتيازات.
  • أين: مسار مثل / للكل، أو /pool/clients لمجموعة محددة.
مخطط يوضح أن الصلاحية في Proxmox تتكون من رمز API ودور PVEAuditor ومسار محدد
لا صلاحية بلا هذه الأجزاء الثلاثة معاً: غيّر أي جزء منها فيتغير ما يستطيع الحساب فعله

الدور الجاهز: PVEAuditor

لا تحتاج اختراع دور جديد. Proxmox يأتي بدور PVEAuditor، وامتيازاته كلها من نوع Audit، أي اطّلاع: لا تشغيل ولا إيقاف ولا حذف ولا تعديل ولا فتح لوحة تحكم الأجهزة.

قائمة الأدوار في Proxmox تعرض الأدوار الجاهزة وامتيازات كل دور ومنها PVEAuditor
قارن صف PVEAuditor بصف Administrator في قائمة Roles: الأول امتيازات Audit فقط، والثاني يشمل كل شيء
الحسابيقرأ الحالةيوقف ويحذف الأجهزةيناسب أداة المراقبة؟
root@pamنعمنعملا إطلاقاً
مستخدم بدور PVEAdminنعمنعملا
مستخدم بدور PVEAuditorنعملامقبول، وكلمة مروره في ملف الإعداد
رمز API بدور PVEAuditorنعملاالخيار الأنسب

الإعداد خطوة بخطوة

نفّذ الأوامر التالية من طرفية السيرفر. الأسماء هنا افتراضية: المستخدم monitor@pve والرمز grafana.

# 1) مستخدم بلا كلمة مرور ولا دخول تفاعلي
pveum user add monitor@pve --comment "read-only monitoring"

# 2) امنحه دور القراءة على كل المسارات
pveum acl modify / --users monitor@pve --roles PVEAuditor

# 3) أنشئ رمز API مع فصل الامتيازات
pveum user token add monitor@pve grafana --privsep 1

# 4) امنح الرمز نفسه الدور
pveum acl modify / --tokens 'monitor@pve!grafana' --roles PVEAuditor

لماذا الخطوة الرابعة؟ مع privsep=1 لا يرث الرمز صلاحيات صاحبه تلقائياً، بل يحتاج صلاحية خاصة به، وتكون صلاحيته الفعلية ما يشترك فيه الاثنان. هذا يتيح إلغاء الرمز أو تقليصه دون المساس بالمستخدم. والسر يظهر مرة واحدة عند الإنشاء، فاحفظه في مدير أسرار.

تحقق: جرّب القراءة ثم جرّب الممنوع

لا تفترض أن الإعداد صحيح. استعمل الرمز لقراءة قائمة العقد، ثم حاول إيقاف جهاز تجريبي. يجب أن تنجح الأولى وتُرفض الثانية:

# يجب أن يعيد بيانات
curl -H "Authorization: PVEAPIToken=monitor@pve!grafana=<SECRET>" \
  https://10.0.0.5:8006/api2/json/nodes

# يجب أن يُرفض بخطأ صلاحية (403)
curl -X POST -H "Authorization: PVEAPIToken=monitor@pve!grafana=<SECRET>" \
  https://10.0.0.5:8006/api2/json/nodes/pve-01/qemu/101/status/stop

إن كان السيرفر بشهادة ذاتية التوقيع فثبّت شهادته لدى أداة المراقبة، أفضل من تعطيل التحقق نهائياً. واعرض ما يملكه الحساب فعلياً بالأمر pveum user permissions monitor@pve.

ضيّق النطاق إن أمكن

المراقب العام يحتاج المسار /، لكن الفني المسؤول عن مجموعة أجهزة لا يحتاج رؤية كل شيء. ضع الأجهزة في Pool وامنحه صلاحية عليها فقط.

جدول الصلاحيات في Proxmox يعرض صلاحية للمستخدم tech@pve على المسار pool/clients
سطر واحد في قائمة Permissions بالمختبر: المسار /pool/clients والمستخدم tech@pve والدور، وPropagate تعني أن الصلاحية تسري على ما تحت المسار

وتذكّر أن القراءة ليست بلا ثمن. أسماء الأجهزة وإعداداتها معلومات مفيدة لمهاجم. لذلك لا تكشف واجهة Proxmox للإنترنت، واجعل أداة المراقبة تصل إليها عبر شبكة خاصة أو نفق WireGuard، واحصر المصدر المسموح به في الجدار بعنوان أداة المراقبة.

ماذا تراقب بهذا الحساب؟

أربعة مؤشرات للمراقبة: المعالج والذاكرة وانتظار القرص ومساحة التخزين مع ما يعنيه ارتفاع كل منها
الرقم وحده لا يكفي: لاحظ ما يكشفه كل مؤشر عن مصدر المشكلة قبل أن تقرر الترقية

الهدف من المراقبة أن تعرف أين الخلل بدل التخمين. حين يشتكي المستخدمون من البطء، غالباً لا يكون السبب بعد السيرفر. زمن الشبكة في العراق بين 70 و150ms، بينما يتراوح توليد الصفحة بين 150ms وأكثر من ثانيتين حسب العتاد. المسافة تكلّف عشرات الملّي ثانية والعتاد الضعيف يكلّف آلافاً. لذلك اسأل عن المعالج والتخزين لا عن المدينة وحدها، ودع أرقام المراقبة تحدد لك أيهما يختنق قبل أي قرار ترقية.

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

لمن تناسب هذه الخدمة؟

  • شركة تربط Proxmox بأداة مراقبة مثل Grafana أو Zabbix.
  • مدير يريد رؤية حالة السيرفرات دون القدرة على تغييرها بالخطأ.
  • مزوّد خدمة يعطي فريق الدعم رؤية محددة لمجموعة أجهزة.

أخطاء شائعة

  • استعمال root@pam في أداة المراقبة لأنه «يعمل مباشرة».
  • إنشاء الرمز دون منحه صلاحية، فتظهر نتائج فارغة بدل خطأ واضح، ويظن المسؤول أن السيرفر لا يعيد بيانات.
  • إيقاف فصل الامتيازات بلا حاجة، فيرث الرمز كل صلاحيات صاحبه.
  • حفظ السر في مستودع الكود أو مشاركته في مجموعة محادثة.
  • ترك رموز قديمة بلا مراجعة بعد تغيير الأدوات أو خروج الموظفين.

أسئلة شائعة

هل يستطيع حساب PVEAuditor تعديل أي شيء؟

لا، فامتيازاته اطّلاع فقط. لكنه يرى أسماء الأجهزة وإعداداتها، فعامله كحساب يحتاج حماية، لا كحساب بلا قيمة.

هل أحتاج مستخدماً لكل أداة؟

يكفي مستخدم واحد للمراقبة مع رمز منفصل لكل أداة. عند تسرّب رمز تلغيه هو وحده، وتبقى الأدوات الأخرى تعمل.

كيف ألغي الرمز عند الشك؟

احذفه بالأمر pveum user token remove monitor@pve grafana، ثم أنشئ رمزاً جديداً وحدّث أداة المراقبة.

ابنِ مراقبتك على صلاحيات صحيحة

أوامر قليلة تزيل خطراً حقيقياً من بيئتك. ولمزيد من التفصيل في الأدوار اقرأ دليل المستخدمين والصلاحيات في Proxmox. وإن كنت تبحث عن سيرفر تدير صلاحياته بنفسك، فراجع سيرفرات Proxmox أو السيرفرات المخصصة، وتواصل مع فريق المبيعات لاختيار ما يناسب عملك.

Powered by WHMCompleteSolution