هر سرویس یا برنامه ای که به اینترنت متصل است به طور بالقوه در برابر حملات طرف های مخرب آسیب پذیر است. ادمین های اینترنت و توسعه دهندگان وب با هک ها و خطرات امنیتی بیگانه نیستند، صرف نظر از نوع سرویسی که میزبانی می شود. یکی از مثال های رایج این مورد، با Secure Shell یا SSH است. SSH برای دسترسی به رابط خط فرمان برای ریموت سرورها استفاده می شود، اما همچنین می تواند هدفی برای هکرهایی باشد که سعی در ورود و سوء استفاده از سیستم دارند. هنگامی که آنها دسترسی داشته باشند، می توانند مشکلات بی پایانی برای شما و کسب و کار شما ایجاد کنند!
اغلب هکرها سعی میکنند با حملات brute-force به سروری دسترسی پیدا کنند. اساساً ترکیبهای مختلفی از نامهای کاربری و رمزهای عبور را امتحان میکنند تا زمانی که ترکیب مناسب پیدا شود. با استفاده از شبکههای ربات، آنها میتوانند تعداد زیادی ترکیب را در مدت زمان نسبتاً کوتاهی طی کنند. خوشبختانه خدمات مختلفی وجود دارد که میتوان از آنها برای کاهش حملاتی از این قبیل استفاده کرد. Fail2Ban یکی از این سرویسها است و به یک انتخاب بسیار محبوب بین مدیران سرور تبدیل شده است.
در این راهنما ما دقیقاً به دنبال چیستی Fail2Ban هستیم و اینکه بداینم چگونه برای محافظت از سرویسها در یک سرور لینوکس معمولی کار میکند. همچنین آموزش نصب آن بر روی لینوکس را آموزش میدهیم.
Fail2Ban چیست؟
در عمل، Fail2Ban یک سرویس حفاظت از حملات مخرب است که با تغییر قوانین فایروال برای ممنوع کردن آدرس های اینترنتی که تلاش ناموفق برای ورود به سرور را بیش از تعداد معینی بارها انجام داده اند، کار می کند. اساساً Fail2Ban به طور مداوم سرویس های رایج را برای شناسایی الگوهای خرابی های احراز هویت نظارت می کند. هنگامی که این الگوها شناسایی شدند، Fail2Ban اقدامات خاصی را در برابر ترافیک ناشی از آن آدرس انجام می دهد. اغلب این اقدامات برای مسدود کردن یا ممنوع کردن تلاش افراد غیرمجاز برای دسترسی به سیستم استفاده می شود.
استفاده از Fail2Ban می تواند به محافظت از سیستم شما در برابر حملات brute force، حملات DDoS و انواع مختلف فعالیت های مخرب مشابه کمک کند. در حالی که مطمئناً یک سیستم امنیتی یکپارچه نیست، می توان از آن برای ارائه سطحی از حفاظت استفاده کرد که می تواند با ترکیب نرم افزارهای امنیتی دیگر اضافه شود و امنیت را تا حد بسیار زیادی بالا ببرد.
Fail2Ban چگونه کار می کند؟
اگر Fail2Ban طوری در یک سیستم پیکربندی شده باشد که بر فایلهای لاگ سرویسهای رایج نظارت کند، فیلترهایی را که مخصوص آن سرویس ایجاد شدهاند اسکن میکند. این فیلتر برای شناسایی خرابی های احراز هویت برای آن سرویس، از طریق استفاده از عبارات منظم پیچیده طراحی شده است. این الگوهای عبارات منظم در متغیری به نام failregex تعریف می شوند. هنگامی که یک خط در فایل لاگ سرویس با متغییر failregex تعریف شده در فیلتر مطابقت دارد، سپس عمل تعریف شده برای آن سرویس اجرا می شود. این عمل متغیر است که بسته به ترجیحات مدیر سیستم می تواند برای انجام چندین کار مختلف پیکربندی شود.
اقدام پیشفرض این است که با تغییر قوانین iptables فایروال، دسترسی میزبان یا آدرس IP غیرمجاز به سیستم را ممنوع کنید. که این عمل می تواند گسترش یابد، به عنوان مثال، یک ایمیل با اطلاعات مربوطه به مدیر سیستم ارسال شود.
بهطور پیشفرض، Fail2Ban این عمل را زمانی انجام میدهد که در مدت 10 دقیقه، 3 خطا در احراز هویت از یک آدرس IP شناسایی شود، و آدرس IP متخلف به مدت 10 دقیقه ممنوع خواهد شد. هر دوی این محدودیت ها در فایل تنظیمات پیش فرض کاملاً قابل تنظیم هستند.
نحوه نصب Fail2Ban
برای نصب سرویس Fail2Ban، به SSH از طریق کلاینتی مانند ترمینال (macOS و Linux) با دسترسی روت به سرور خود متصل شوید.
اوبونتو:
در اینجا نحوه نصب Fail2Ban در اوبونتو آمده است:
قبل از نصب پکیج جدید، توصیه می کنیم مخزن سیستم و نرم افزار را به روز کنید. دستور زیر را اجرا کنید:
apt-get update && apt-get upgrade
با اجرای دستور زیر بسته Fail2Ban را نصب کنید:
apt-get install fail2ban
اگر می خواهید پشتیبانی ایمیل را برای سرویس Fail2Ban اضافه کنید، دستور زیر را وارد کرده و Enter را فشار دهید:
apt-get install sendmail
با استفاده از دستور زیر وضعیت Fail2Ban را تأیید کنید:
sudo systemctl status fail2ban
CentOS:
برای نصب Fail2Ban در CentOS مراحل زیر را دنبال کنید:
Fail2Ban برای CentOS7 در مخزن Extra Packages for Enterprise Linux (EPEL) گنجانده شده است. با اجرای دستور زیر آن را دانلود کنید:
sudo yum install epel-release
پس از انجام این کار، Fail2Ban را با وارد کردن دستور زیر و فشردن Enter نصب کنید:
sudo yum install fail2ban
با اجرای این دستورات سرویس را فعال و راه اندازی کنید:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
در این آموزش Fail2Ban را معرفی کردیم و طریقه نصب آن را در لینوکس آموزش دادیم. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.
آموزش های مرتبط: