الضعف الحرج لخوادم 1Cloud

نريد مشاركة خبرتنا مع خوادم 1cloud. لا نريد إلقاء اللوم على أي شخص ، بل نريد فقط عرض المشكلة على الشاشة العامة حتى يكون لدى موظفي 1cloud الدافع لإجراء تحليل مفصل لهذه المشكلة.

بدأ كل شيء مع حقيقة أنه في الأشهر الأخيرة على خوادم Windows 1cloud ، بدأنا نلاحظ تحميلًا غير طبيعي ، ولكننا لم نعلق أهمية كبيرة عليه ، حيث تم استخدام خوادم Windows بشكل أساسي لأداء مهام صغيرة مختلفة مثل استخدام المتصفح وأي برامج أخرى ، وخاصة لا كانت هناك رغبة في معرفة ما هو موجود وكيف.

ولكن في ذلك اليوم كان هناك موقف مزعج ومهين للغاية من جانب موظفي 1cloud ، مما دفعنا إلى نشر هذه المقالة. نحن نستخدم خادم 1cloud منذ حوالي 1.5-2 سنة ، لم ننتهك قواعد استخدام الخوادم. لقد فوجئت بشكل غير سار عندما قمت بتسجيل الدخول إلى حسابي ورأيت أنه تم حظر جميع خوادمنا الأربعين بملاحظة "تم حظر الخادم من قبل المسؤول. سبب الحجب: القوة الغاشمة ". كنت سأكتب إلى الدعم ورأيت رسالة جديدة من خدمة الدعم الفني ، تقول:
مرحبًا.

تم تسجيل نشاط شبكة غير طبيعي من خادم IP 111.111.11.111: محاولات للاتصال بعدد كبير من الخوادم العشوائية على المنفذ 22 (SSH)
ربما تم اختراق الخادم. أنت بحاجة إلى إصلاح المشكلة بسرعة.

إذا لم يكن هناك رد فعل على هذا الطلب ، فسيتم قطع اتصال الخادم بالشبكة.

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

هذا بالطبع موقف مزعج ، ولكن هذا ما حدث ، حسب اعتقادي ، وبدأنا في حل المشكلة التي تسببت في حظر الخوادم. لم يتم تشغيل الخوادم تلقائيًا ، كما وعدنا ، واضطررت إلى بدء جميع الخوادم يدويًا ، ولكن هذا تافه مقارنة بالمشكلة الرئيسية. قمت بتسجيل الدخول إلى الخادم ، ولاحظت على الفور الشيء الغريب الذي قمنا بتوصيله عبر ssh للمرة الأخيرة في 20 أغسطس ، وتم تحميل العديد من الملفات الضارة إلى الخادم في 21 و 22. كما اتضح ، أثناء إنشاء كل خادم على 1cloud ، تمت إضافة بعض المستخدمين المشتبه بهم "المستخدم" ، في المجلد الذي بدأت تظهر فيه مجموعة من الملفات الضارة في المستقبل ، بما في ذلك xrig miner.

الصورة

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

صعدوا لإلقاء نظرة على السجلات ، وتبين أن شخصًا ، يعرف كلمة المرور ، متصلًا بالمستخدم "المستخدم" ، ويحمل ملفات ضارة إلى الخادم للتعدين والقوة الغاشمة. أود أن أوضح على الفور أن عملاء 1cloud لا يعطون كلمة المرور من مستخدم المستخدم ، علاوة على ذلك ، جادل ضابط الدعم الفني بعناد أنه حتى هذا المستخدم لم يكن على خوادمهم ولم يكن موجودًا على الإطلاق ، على الرغم من أننا رأينا هؤلاء المستخدمين على جميع الخوادم طوال الفترة بأكملها استخدام الخوادم.

نعتقد ، وكل شيء يشير إلى أن أحد موظفي 1cloud (آمل حقًا ألا يكون هذا دليلًا) ، بدأ في البحث في الظلام عن طريق تثبيت عمال المناجم والبرامج الضارة على خوادم عملائنا ، والتي ، بالمناسبة ، ندفع المال. في الأيام الأولى بعد إنشاء خادم ، يتصل به شخص ما من خلال المستخدم "المستخدم" ، بينما يعرف كلمة مروره ، ويتحكم في الخادم الخاص بك. ربما يكون هذا غاشمًا ، كما تقول ، ولكن لا ، للأسف ، تظهر السجلات أنه ليس غاشمًا ، أي التفويض العادي دون اختيار كلمة المرور. قبل الدخول إلى الخادم تحت المستخدم "المستخدم" ، تعرض السجلات محاولة للاتصال بمستخدم المستخدمين والمشرف و ubuntu و ubnt و test و osmc مرة واحدة ، ثم تسجيل الدخول بنجاح باستخدام المستخدم "المستخدم".

Aug 20 03:46:59 debian8x64 sshd[1328]: Invalid user test from 219.135.136.144
Aug 20 03:46:59 debian8x64 sshd[1328]: input_userauth_request: invalid user test [preauth]
Aug 20 03:46:59 debian8x64 sshd[1328]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:46:59 debian8x64 sshd[1328]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:02 debian8x64 sshd[1328]: Failed password for invalid user test from 219.135.136.144 port 1072 ssh2
Aug 20 03:47:02 debian8x64 sshd[1328]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:03 debian8x64 sshd[1330]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:03 debian8x64 sshd[1330]: Invalid user debian from 219.135.136.144
Aug 20 03:47:03 debian8x64 sshd[1330]: input_userauth_request: invalid user debian [preauth]
Aug 20 03:47:03 debian8x64 sshd[1330]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:47:03 debian8x64 sshd[1330]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:05 debian8x64 sshd[1330]: Failed password for invalid user debian from 219.135.136.144 port 8178 ssh2
Aug 20 03:47:05 debian8x64 sshd[1330]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:06 debian8x64 sshd[1332]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:07 debian8x64 sshd[1332]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144 user=root
Aug 20 03:47:09 debian8x64 sshd[1332]: Failed password for root from 219.135.136.144 port 14224 ssh2
Aug 20 03:47:09 debian8x64 sshd[1332]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:10 debian8x64 sshd[1334]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:10 debian8x64 sshd[1334]: Invalid user debian from 219.135.136.144
Aug 20 03:47:10 debian8x64 sshd[1334]: input_userauth_request: invalid user debian [preauth]
Aug 20 03:47:11 debian8x64 sshd[1334]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:47:11 debian8x64 sshd[1334]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:13 debian8x64 sshd[1334]: Failed password for invalid user debian from 219.135.136.144 port 21466 ssh2
Aug 20 03:47:13 debian8x64 sshd[1334]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:15 debian8x64 sshd[1336]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:15 debian8x64 sshd[1336]: Invalid user osmc from 219.135.136.144
Aug 20 03:47:15 debian8x64 sshd[1336]: input_userauth_request: invalid user osmc [preauth]
Aug 20 03:47:15 debian8x64 sshd[1336]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:47:15 debian8x64 sshd[1336]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:16 debian8x64 sshd[1336]: Failed password for invalid user osmc from 219.135.136.144 port 28516 ssh2
Aug 20 03:47:17 debian8x64 sshd[1336]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:18 debian8x64 sshd[1338]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:18 debian8x64 sshd[1338]: Invalid user ubnt from 219.135.136.144
Aug 20 03:47:18 debian8x64 sshd[1338]: input_userauth_request: invalid user ubnt [preauth]
Aug 20 03:47:18 debian8x64 sshd[1338]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:47:18 debian8x64 sshd[1338]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:20 debian8x64 sshd[1338]: Failed password for invalid user ubnt from 219.135.136.144 port 34656 ssh2
Aug 20 03:47:20 debian8x64 sshd[1338]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:22 debian8x64 sshd[1340]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:22 debian8x64 sshd[1340]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144 user=root
Aug 20 03:47:24 debian8x64 sshd[1340]: Failed password for root from 219.135.136.144 port 40882 ssh2
Aug 20 03:47:24 debian8x64 sshd[1340]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:25 debian8x64 sshd[1342]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:25 debian8x64 sshd[1342]: Invalid user admin from 219.135.136.144
Aug 20 03:47:25 debian8x64 sshd[1342]: input_userauth_request: invalid user admin [preauth]
Aug 20 03:47:26 debian8x64 sshd[1342]: Failed none for invalid user admin from 219.135.136.144 port 47736 ssh2
Aug 20 03:47:26 debian8x64 sshd[1342]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:27 debian8x64 sshd[1344]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:27 debian8x64 sshd[1344]: Invalid user test from 219.135.136.144
Aug 20 03:47:27 debian8x64 sshd[1344]: input_userauth_request: invalid user test [preauth]
Aug 20 03:47:27 debian8x64 sshd[1344]: pam_unix(sshd:auth): check pass; user unknown
Aug 20 03:47:27 debian8x64 sshd[1344]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=219.135.136.144
Aug 20 03:47:29 debian8x64 sshd[1344]: Failed password for invalid user test from 219.135.136.144 port 50546 ssh2
Aug 20 03:47:29 debian8x64 sshd[1344]: Connection closed by 219.135.136.144 [preauth]
Aug 20 03:47:30 debian8x64 sshd[1346]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:31 debian8x64 sshd[1346]: Accepted password for user from 219.135.136.144 port 56492 ssh2
Aug 20 03:47:31 debian8x64 sshd[1346]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:33 debian8x64 sshd[1350]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:33 debian8x64 sshd[1350]: Accepted password for user from 219.135.136.144 port 60134 ssh2
Aug 20 03:47:33 debian8x64 sshd[1350]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:35 debian8x64 sshd[1354]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:35 debian8x64 sshd[1354]: Accepted password for user from 219.135.136.144 port 4485 ssh2
Aug 20 03:47:35 debian8x64 sshd[1354]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:38 debian8x64 sshd[1358]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:38 debian8x64 sshd[1358]: Accepted password for user from 219.135.136.144 port 9509 ssh2
Aug 20 03:47:38 debian8x64 sshd[1358]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:42 debian8x64 sshd[1362]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:42 debian8x64 sshd[1362]: Accepted password for user from 219.135.136.144 port 15833 ssh2
Aug 20 03:47:42 debian8x64 sshd[1362]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:43 debian8x64 sshd[1346]: pam_unix(sshd:session): session closed for user user
Aug 20 03:47:44 debian8x64 sshd[1366]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:44 debian8x64 sshd[1366]: Accepted password for user from 219.135.136.144 port 19619 ssh2
Aug 20 03:47:44 debian8x64 sshd[1366]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:46 debian8x64 sshd[1370]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:46 debian8x64 sshd[1370]: Accepted password for user from 219.135.136.144 port 23935 ssh2
Aug 20 03:47:46 debian8x64 sshd[1370]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:48 debian8x64 sshd[1374]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:49 debian8x64 sshd[1374]: Accepted password for user from 219.135.136.144 port 28277 ssh2
Aug 20 03:47:49 debian8x64 sshd[1374]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:51 debian8x64 sshd[1378]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:51 debian8x64 sshd[1378]: Accepted password for user from 219.135.136.144 port 31735 ssh2
Aug 20 03:47:51 debian8x64 sshd[1378]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:53 debian8x64 sshd[1383]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:53 debian8x64 sshd[1383]: Accepted password for user from 219.135.136.144 port 36097 ssh2
Aug 20 03:47:53 debian8x64 sshd[1383]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:47:55 debian8x64 sshd[1388]: reverse mapping checking getaddrinfo for 144.136.135.219.broad.gz.gd.dynamic.163data.com.cn [219.135.136.144] failed - POSSIBLE BREAK-IN ATTEMPT!
Aug 20 03:47:56 debian8x64 sshd[1388]: Accepted password for user from 219.135.136.144 port 39885 ssh2
Aug 20 03:47:56 debian8x64 sshd[1388]: pam_unix(sshd:session): session opened for user user by (uid=0)
Aug 20 03:48:16 debian8x64 sshd[1350]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:19 debian8x64 sshd[1354]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:22 debian8x64 sshd[1358]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:25 debian8x64 sshd[1362]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:27 debian8x64 sshd[1366]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:29 debian8x64 sshd[1370]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:31 debian8x64 sshd[1374]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:34 debian8x64 sshd[1378]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:36 debian8x64 sshd[1383]: pam_unix(sshd:session): session closed for user user
Aug 20 03:48:38 debian8x64 sshd[1388]: pam_unix(sshd:session): session closed for user user


هناك استنتاج واحد فقط من هذا: من غير الآمن حاليًا استخدام خادم 1cloud لاستضافة أي مشاريع مهمة ، حيث قد يتم فقدان بياناتك نظرًا لحقيقة أن بعض الخلد دخل إلى 1cloud ، مما ترك فجوة في قوالب نظام التشغيل. في الوقت الحالي ، تمكنا من معرفة أن هذه الثغرة موجودة بالتأكيد في قالب دبيان 8 ، ودعوا موظفي 1cloud يتحققون من الباقي بأنفسهم ، وقد فعلنا ما يكفي لإبلاغهم بهذه الثغرة.

بعد محادثات هاتفية طويلة مع 1cloud ، لم نتمكن من الحصول على تفسير واضح لما كان يحدث. لقد اعتذرنا على مضض ، وقلنا أنه من المفترض أنه بمجرد أن يكون هناك مشاركة في استبدال قوالب نظام التشغيل ، واستبعاد كل ما هو غير ضروري منها. السؤال الذي يطرح ، يا رفاق ، ما هي الإضافات التي تحتاج إلى إزالتها من قوالب نظام التشغيل؟ أنت لا تهتم بعملائك؟ كيف يمكنك بيع خادم به اختراق مشابه لآلاف عملائك الذين يقومون بتخزين تيرابايت من البيانات المهمة على هذه الخوادم؟ هناك استنتاج واحد فقط - السحابة تقدر الربح فقط ؛ بيانات العملاء لا قيمة لها! أيها الرجال السحابيون ، إذا كنتم تعتقدون أنني مخطئ - أثبتوا لي العكس!

نحن منفتحون على التواصل ، عزيزي موظف 1cloud ، إذا كان لديك أي أسئلة - اكتب تذكرة. نحن على استعداد لمناقشة هذا الموقف ، ولكن فقط مع شخص مختص ، وليس مع موظف دعم حاول بعناد أن يثبت لنا أنك لا تضيف أي مستخدمين باسم "مستخدم" عند إنشاء الخادم. نحن مستعدون أيضًا لتوفير جميع البيانات اللازمة للمساعدة في إنهاء بيع خوادم 1cloud الضعيفة مرة واحدة وإلى الأبد!

Source: https://habr.com/ru/post/ar421131/


All Articles