
Ansible playbook بسيط لتصحيح خوادم mysql ضد CVE-2016-6662
Simple ansible playbook، لكن بالعربية: كتيّب Ansible بسيط لتطبيق التصحيح على خوادم MySQL ضد CVE-2016-6662.
باختصار، سيحاول كتابة ملف .so خبيث إلى نظام الملفات وتعديل إعداداتك لتحميله عند إعادة تشغيل الخدمة التالية.
لن يمنع هذا التصحيح الهجوم الفعلي، لكنه يعدّل mysqld_safe بحيث لا يتم تحميل ملفات .so إلا من المواقع النظامية القياسية، حيث لا يستطيع mysqld الكتابة فيها. كما سيتحقق من وجود وصلاحيات ملفات الإعدادات الافتراضية المختلفة التي قد يلتقطها mysqld، لمنع التعليمات البرمجية الخبيثة من إنشائها أو تعديلها.
المشكلة الكاملة متاحة على https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6662 ; نشر كيني غريب من Percona شرحًا قصيرًا لكنه ممتاز على .
سيحاول هذا الـ playbook تطبيق تصحيح مخصص يجمع بين تصحيح Percona في https://github.com/percona/percona-server/commit/c14be53e029442f576cced1fb8ff96b58e89f2e0#diff-144aa2f11374843c969d96b7b84247eaR261 وتصحيح MySQL على https://github.com/mysql/mysql-server/blob/5.7/scripts/mysqld\_safe.sh#L356-L364 .
سيقوم بما يلي:
لقد تحققت من هذا على ما يقرب من مئة تثبيت - معظمها Debian، واثنان RedHat و Suse.
تم تطبيق هذه النسخة الجديدة على ما يقرب من 200 مضيف دون أي مشاكل واضحة.
لقد لاحظت فشل patch على إعدادات 5.1، لأن سكربت mysql_safe لا يحتوي على نقاط الارتساء - ولكن هذا الإصدار (وما دونه) ليس عرضة للثغرة أيضًا، لذا فهذه ليست مشكلة.
لاحظ أن قيمة changed= البالغة 0 أو 2 تعني أنه لم يتم تطبيق أي تصحيح (2 إذا تم تثبيت patch وإزالته)؛ بينما 1 أو 3 تعني أنه تم تنفيذ التصحيح. القيم الأخرى غير متوقعة ويجب فحصها :-)
مع المهمة الإضافية، لم يعد الأمر واضحًا بهذه البساطة؛ سيتعين عليك قراءة المخرجات فعليًا.
الشكر لـ كيني غريب وPercona وMySQL على الشرح الواضح والحل السهل؛ وشكر إضافي لـ باتريك فورسبيرغ لالتقاطه الخلل في التصحيح الأصلي.
/vegi