لدي خادم لينكس يعمل تحت windows virtualbox. أستخدم ssh مع publickey لتسجيل الدخول ، واستخدم ميزة sftp في lftp لنقل الملفات ، والتي تستخدم أيضًا المفتاح العام .

اليوم عندما أتحقق من ملف السجل ، هناك شيء يجعلني مرتبكًا للغاية:

Nov 28 21:39:06 soft-server sshd[11933]: Accepted publickey for myusername from 10.0.2.2 port 50590 ssh2 Nov 28 21:39:06 soft-server sshd[11933]: pam_unix_session(sshd:session): session opened for user myusername by (uid=0)

Nov 28 21:39:25 soft-server sshd[11946]: Accepted password for myusername from 10.0.2.2 port 13494 ssh2

Nov 28 21:39:25 soft-server sshd[11946]: pam_unix_session(sshd:session): session opened for user myusername by (uid=0)

Nov 28 21:39:25 soft-server sshd[11948]: subsystem request for sftp by user myusername

Nov 28 21:40:16 soft-server sshd[11935]: Received disconnect from 10.0.2.2: 11: disconnected by user

Nov 28 21:40:16 soft-server sshd[11933]: pam_unix_session(sshd:session): session closed for user myusername

كيف يمكنني فجأة استخدام كلمة المرور لتسجيل الدخول؟ هل هناك أي احتمال أن تؤدي عمليتي الخاصة إلى حدوث هذا السلوك؟

answer

حسنًا ، هذا اتصال sftp-via-ssh شرعي من عنوان IP الخاص بك. إما أنك قمت بتسجيل الدخول إلى لوحة المفاتيح ، أو (على الأرجح في رأيي) نسيت أنك قمت بإعداد بروتوكول sftp المستند إلى كلمة مرور لبعض التطبيقات مثل DreamWeaver الذي يقوم بتسجيل الدخول تلقائيًا إلى مضيفك الافتراضي للحفاظ على تحديث مستودع الملفات الخاص به.

هذا تسجيل دخول حقيقي. وللإجابة على سؤالك "كيف يمكنك فجأة استخدام كلمة المرور لتسجيل الدخول" ، فذلك لأنك ببساطة لم تقم بتعطيل مصادقة كلمة المرور.

إذا كنت لا تتطلب مصادقة كلمة المرور لأي من المستخدمين الخاص بك، فإنك يجب تعيين PasswordAuthenticationالعلم في بلدكم sshd_configل no، وكلمة المرور يمكن keylogged أو bruteforced.

أنا شخصياً أفعل ذلك ، وإذا طلبت في بعض الأوقات مصادقة كلمة المرور ، (كما هو الحال في حالات الطوارئ عندما يكون لدي جهاز كمبيوتر ولكن لا توجد مفاتيح تحت تصرفي) ، فأنا ببساطة أقوم بتسجيل الدخول من خلال لوحة تحكم VPS وتمكين مصادقة كلمة المرور عبر SSLVNC.

إذا كان لديك بعض المستخدمين الذين يحتاجون إلى أن يكونوا قادرين على مصادقة كلمة المرور ، فيمكنك استخدام Match Userأو Match Groupما شابه:

PasswordAuthentication no
Match User passwordauthuser
    PasswordAuthentication yes

أو

PasswordAuthentication no
Match Group passwordauth
    PasswordAuthentication yes

خيار آخر لديك إذا كنت تحتاج حقًا إلى مصادقة كلمة المرور ، وهو شيء قمت به في الماضي ، nl إنشاء اسم مستخدم طويل جدًا لا يمكن تخمينه لتقليل فرصة تخمين شخص ما لهذا المستخدم.

على سبيل المثال echo "mysupersecretuser" | sha256sum | sha256sum. هذا لا يزال عرضة ل keylogging أو اختطاف الحافظة. لكن من الواضح أنه يقلل من فرصة شخص ما لتخمين المستخدم الخاص بك إلى العدم.

أخيرًا ، إذا كنت مصابًا بجنون العظمة حقًا ، فتحقق من جميع مفاتيح SSH المسموح بها على الخادم الخاص بك ، وقم بتغيير جميع كلمات المرور والمستخدمين لجميع خدماتك العامة.

ومع ذلك ، أعتقد في هذه الحالة أن جيف ألبرت محق عندما ذكر أن هذا ربما يكون تسجيل دخول آليًا من بعض الخدمات. إذا كنت لا تعرف الخدمة ، فيجب عليك تعطيل تسجيل الدخول على أي حال.

من الممارسات الجيدة معرفة ما يتصل بخادمك في حالة حدوث خرق للتطبيق. (يمكن قراءة الذاكرة بسهولة ، وكذلك كلمات المرور المخزنة).

يبدو أنك تعرضت للاختراق لأنك تستخدم زوجًا مشتركًا من اسم المستخدم / كلمة المرور مثل myusername/mypassword.

يجب

  1. قم بتغيير كلمة المرور / اسم المستخدم في أسرع وقت ممكن إلى شيء مثل [email protected]$$_2011foobar
  2. تحقق من كلمة مرور الجذر الخاصة بك أيضًا
  3. راجع محفوظات shell / سجلات النظام وفحص الأوامر التي تم تنفيذها بواسطة الحساب المخترق
  4. إعادة الربط sshdإلى منفذ غير افتراضي ، مثل41022

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

ملاحظة: يمكنك أيضًا محاولة تعطيل المصادقة المستندة إلى كلمة المرور تمامًا. خاصة إذا لم تكن هناك مشكلة بالنسبة لك في الحصول على وصول مادي إلى وحدة تحكم الخادم الخاصة بك.