البرامج المتأثرة

AXESS يتأثر الإصداران 4.x و5.0.0. 0 بثغرة محتملة في مخطط المصادقة
تجاوز الثغرة الأمنية. (لا تتأثر منتجات Axiros الأخرى).

تاريخ الكشف: 18 مارس 2024 (يعود الفضل في ذلك إلى nsideattacklogic)
الاتصال:
[البريد الإلكتروني محمي]

الوصف

إن الإصدارات المذكورة AXESS عرضة لتجاوز مخطط المصادقة  

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

التخفيف والإصلاح

من أجل تصحيح الثغرة الأمنية يجب استبدال ملف داخل AXUserManager وإضافة إذن جديد في تكوين RBAC.

عملية ترقية أنسيبل

يرجى قراءة إجراءات تصحيح Ansible قبل تطبيق التصحيح.
https://docs.axiros.com/axess-documentation/install/latest/ansible_playbook_reference/utilities/distribute_patches/index.html
يرجى ملاحظة أنه يجب تكرار هذا الإجراء على كل بيئة (على سبيل المثال المختبر، التدريج، الإنتاج)


قم بتنزيل ملف التصحيح وفقاً للإصدار AXESS

4.0.0 AXESS_4_0_0_0___LegacyAXUserManager.py /opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/LegacyAXUserManager.py

4.1.0 AXESS_4_1_0__AXUserManager.py /opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/AXUserManager.py

4.2.0 AXESS_4_2_0__AXUserManager.py /opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/AXUserManager.py

4.3.0 + 4.3.1 AXESS_4_3_0__AXUserManager.py /opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/AXUserManager.py

5.0.0 AXESS_5_0_0__AXUserManager.py /opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/AXUserManager.py


ضع الملف داخل جهاز التحكم Ansible 

يرجى نسخ ملف التصحيح من الأعلى داخل كروت جهاز التحكم Ansible الخاص بك.

يُرجى ملاحظة أنك قد تحتاج إلى إنشاء بنية المجلد داخل دليل التصحيح (افتراضيًا يكون فارغًا). قم بإزالة بادئة الإصدار من الملف قبل وضعه في مجلد التصحيحات (على سبيل المثال AXESS_5_0_0_0____AXUserManager.py إعادة تسمية إلى AXUserManager.py

admin@ admin@ip-172-31-8-8-138:~$ sudo chroot /opt/axess-ansible
axess-ansible root@ip@ip-172-31-8-8-138:/# cd /opt/axess-ansible/contrib-project/patches/
axess-ansible root@p@ip-172-31-8-8-138:/opt/axess-ansible/contrib-project/patches# ls -l
المجموع 8.0 ألف
drwxr-xr-x 2 جذر الجذر 4.0K 2022-11-23 09:07 .
drwxr-xr-x 16 جذر 4.0K 2022-07-06 16:11 .
-rw-r-r--r-- 1 جذر الجذر 0 2022-11-22 19:00 .gitkeep
 
# في هذا الإعداد يكون مجلد التصحيحات فارغًا. الآن نقوم بإنشاء بنية المجلد للتصحيح
axess-ansible root@ip-172-31-8-138:/opt/axess-ansible/contrib-project/patches# mkdir -p axess/broducts/Ps/AXUserManager/
axess-ansible root@ip-172-31-8-8-138:/opt/axess-ansible/contrib-project/patches# cd axess/base/Products/AXUserManager/
axess-ansible root@ip@ip-172-31-8-8-138:/opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager# ls
المجموع 8.0 ألف
drwxr-xr-x 2 الجذر 4.0K 2024-03-18 16:04 .
drwxr-xr-x 3 جذر الجذر 4.0K 2024-03-18 16:04 ....
# تم إنشاء بنية المجلد يُرجى وضع ملف التصحيح الذي تم تنزيله في هذا الدليل بحيث يبدو كالتالي
axess-ansible root@ip-172-31-8-8-138:/opt/axess-ansible/contrib-project/patches/axess/base/Products/AXUserManager# ls -l
المجموع 24 ألف
drwxr-xr-x 2 جذر الجذر 4.0K 2024-03-18 16:06 .
drwxrxr-x-x 3 جذر الجذر 4.0K 2024-03-18 16:04 .
-rw-r--r--- 1 جذر الجذر 15K 2024-03-18 16:06 AXUserManager.py

 إنشاء بنية المجلدات اللازمة 


توزيع التصحيح عبر دفاتر تشغيل Ansible

نريد الآن نشر التصحيح على جميع العقد في المجموعة. يمكن تنفيذ كتاب التشغيل مثل أي كتاب تشغيل آخر - يرجى التأكد من تحديد ملف الجرد الصحيح.

ansible-playbook --ask-vault-pass -i inventory/lab.py util_axess_patch_patch_files.yml

مثال على الإخراج

TASK [Create missing destination directories] *****************************************************************************************************************************
موافق: [axess] => (العنصر = قاعدة الدليل)
تخطي [axess] => (العنصر=تخطي الملف)
موافق: موافق: [axess] => (العنصر=قاعدة الدليل/منتجات)
موافق: موافق: [axess] => (العنصر=قاعدة الدليل/منتجات/منتجات/AXUserManager)
تم التخطي [axess] => (العنصر=تخطي الملف)
 
مهمة [نسخ الملفات المصححة إلى العقد المدارة] ****************************************************************************************************************************
تخطي: [axess] => (العنصر=تخطي الدليل)
تخطي: [axess] => (العنصر=/OP/axess-ansible/contrib-project/patches/axess/.gitkeep)
تم التخطي [axess] => (العنصر=تخطي الدليل)
تم التخطي [axess] => (العنصر=تخطي الدليل)
تم التغيير: [axess] => (العنصر=/عناصر=تخطي الدليلaxess-ansible/contrib-project/patches/axess/base/Products/AXUserManager/AXUserManager.py)
 
PLAY [توزيع التصحيحات على عقد tr069controller] ************************************************************************************************************************
 
TASK [Patches directory query] ********************************************************************************************************************************************
موافق [axess -> المضيف المحلي]
 
TASK [Create missing destination directories] *****************************************************************************************************************************
تخطي [axess] => (العنصر = تخطي الملف)
 
مهمة [نسخ الملفات المصححة إلى العقد المدارة] ****************************************************************************************************************************
تم التخطي: [axess] => (العنصر=/opt/axess-ansible/contrib-project/patches/tr069controller/.gitkeep)
 
تشغيل [توزيع التصحيحات على عُقد configcontroller] ***********************************************************************************************************************
 
TASK [Patches directory query] ********************************************************************************************************************************************
موافق [axess -> المضيف المحلي]
 
TASK [Create missing destination directories] *****************************************************************************************************************************
تخطي [axess] => (العنصر = تخطي الملف)
 
مهمة [نسخ الملفات المصححة إلى العقد المدارة] ****************************************************************************************************************************
تم التخطي: [axess] => (العنصر=/opt/axess-ansible/contrib-project/patches/configcontroller/.gitkeep)
 
PLAY RECAP ****************************************************************************************************************************************************************
axess                     : موافق=17 تم التغيير=1 غير قابل للوصول= فاشل=0 تم التخطي=13 تم الإنقاذ=0 تم تجاهله=0

إعادة التشغيل AXESS العمليات المتجهة شمالاً

بعد نشر التصحيح، نحتاج إلى إعادة تشغيل جميع العمليات المتجهة شمالاً AXESS

ansible-playbook --ask-vault-pass -i inventory/lab.py node-axess-northbound-uwsgi_restart.yml

قم بإنشاء إذن جديد على AXESS.GUI

تستخدم بوابة دعم العملاء AXCustomerSupportPortal عنوان URL لتسجيل الخروج مقيد الآن لأدوار المستخدمين غير "المدير" بعد تطبيق التصحيح.
يرجى إنشاء إذن جديد وتعيينه لدور المستخدم "المصادق". وبهذه الطريقة سترث جميع الأدوار الأخرى هذا الإذن. 

هذه الخطوة إلزامية فقط إذا كنت تستخدم بوابة دعم العملاء AXCustomerSupportPortal أو صفحة تسجيل خروج HTML مخصصة

قم بتسجيل الدخول على AXESS.GUI وانتقل إلى صفحة التحكم في الوصول المستند إلى الدور.

إنشاء الإذن الجديد

إنشاء إذن جديد بالإعدادات التالية

الاسم: Support_portal_logout_logout
العمليات وعمليات طلب النفاذ إلى الملفات والوجهات: *
المسار: * */acl_users/logout.html*

التعيين إلى الدور المصادق الحالي

اختر الإذن الجديد من القائمة المنسدلة وانقر فوق الزر حفظ.
يصبح الإذن الجديد نشطاً بعد تجديد ذاكرة التخزين المؤقت (60 ثانية افتراضياً). لا يلزم تسجيل خروج جلسات المستخدم الحالية.