صفحه اصلی / مقالات / آموزش امنیت سرور / شناسایی تلاش‌های ناموفق برای لاگین به ssh در لینوکس

شناسایی تلاش‌های ناموفق برای لاگین به ssh در لینوکس

شناسایی تلاش‌های ناموفق برای لاگین به sshتمامی تلاش‌های ناموفق برای لاگین به ssh توسط rsyslog در لینوکس در فایل لاگ ذخیره می‌شوند که این کار را برای شناسایی و یافتن حرکات مشکوک برای مدیر سرور آسان می‌کند.

یکی از ساده‌ترین راه‌ها برای یافتن لاگین های ناموفق به ssh استفاده از دستورات لینوکس می‌باشد، توسط دو دستور cat و grep می‌توان به صورت ترکیبی عملیات بررسی و جستجو را به صورت فیلتر شده درون لاگ فایل‌ها انجام داد.

اگر با ssh آشنا نیستید حتماً مقاله ssh چیست را قبل از مطالعه ادامه آموزش بخوانید و با درک عملکرد این سرویس کار را دنبال کنید.

تمامی دستورات اجرا شده در این آموزش با دسترسی روت انجام می‌شود، بدیهی است داشتن دسترسی سطح پایین‌تر به سرور عملیات شناسایی تلاش‌های ناموفق برای لاگین به ssh را غیرممکن خواهد کرد.

 

مراحل شناسایی تلاش‌های ناموفق برای لاگین به ssh در سرور

اولین دستور که در آن از grep استفاده شده برای ما خطوطی که شامل کلمه Failed password باشند در خروجی چاپ می‌کند.

failed login-شناسایی تلاش‌های ناموفق برای لاگین به ssh

البته همین عملکرد را با دستور cat به شکل زیر می‌توان در خروجی مشاهده کرد.

فقط باید توجه داشته باشید که آدرس فایل لاگ بر روی سرور شما مشابه آدرس وارد شده در دستورات بالا باشد در غیر این صورت باید آدرس جدید را جایگزین کنید.

اگر به دنبال اطلاعات بیشتری برای نمایش در خروجی هستید می‌توانید دستور زیر را در ssh وارد کنید.

همان‌طور که در بالا هم اشاره کردیم مسیر فایل لاگ در توزیع‌های مختلف لینوکس متفاوت است برای مثال در توزیع ردهت بیس مثل centos مسیر فایل لاگ متفاوت بوده و باید دستور زیر را وارد کنید.

اگر هدف شما از شناسایی تلاش‌های ناموفق برای لاگین به ssh در لینوکس پیدا کردن Ip هکر و بستن دسترسی آن توسط فایروال است دستور زیر را در ssh وارد کرده تا لیست ip افرادی که تلاش‌های ناموفقی برای ورود به ssh داشته‌اند را به شما نمایش دهد.

در توزیع‌های جدید مبتنی بر system می‌توانید توسط journalctl اقدام به شناسایی تلاش‌های ناموفق برای لاگین به ssh کنید.

در توزیع‌های ردهت بیس مثل centos برای استفاده از journalctl باید دستور را به شکل زیر وارد نمایید تا خروجی صحیحی داشته باشید.

بعد از شناسایی ip هکر می‌توانید آن را توسط فایروال مسدود کنید به صورت پیش‌فرض لینوکس از iptables برای دیواره آتش استفاده می‌کند ولی اگر می‌خواهید یک فایروال حرفه‌ای داشته باشید می‌توانید از csf استفاده کنید که پیش‌تر آموزش نصب csf را در سایت منتشر کردیم.

 

1 ستاره2 ستاره3 ستاره4 ستاره5 ستاره (No Ratings Yet)
Loading...

۲ دیدگاه‌ها

  1. سلام
    بابت انتشار این مطلب مفید به سهم خودم از شما متشکرم
    یک مشکل داشتم
    سرور مجازی بنده centos هستش بخش اول فرمان ها که مشاهده لاگ هست رو از طریق کد: egrep “Failed|Failure” /var/log/secure با موفقیت انجام دادم
    اما بخش دوم فرمان یعنی نمایش ip ها کار نکرد. ممکن است یک بررسی بفرمائید.
    بنده از این بخش کدها استفاده کردم
    grep “Failed password” /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

    journalctl _SYSTEMD_UNIT=ssh.service | egrep “Failed|Failure”
    journalctl _SYSTEMD_UNIT=sshd.service | egrep “Failed|Failure” #In RHEL, CentOS

    journalctl _SYSTEMD_UNIT=sshd.service | grep “failure”
    journalctl _SYSTEMD_UNIT=sshd.service | grep “Failed”

    ممنون میشوم توضیحی در اینخصوص عنایت نمائید.
    ارادتمند شما

    • سلام

      مشکل شما به احتمال بسیار زیاد از ستونی هستش که خروجی قرار گرفته بشه باید بررسی کنید کنید که ‘{print $11}’ باید برای شما چی باشه تا جواب بده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *