بلاک شدن آیپی های غیر مجاز و افزایش امنیت سرور

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

افزایش امنیت سرورافزایش امنیت سرور

قبل از شروع کار به موارد زیر نیاز دارید:

  •  سرور لینوکسی با سیستم عامل سنت او اس
  • دسترسی به ریشه ی سرور لینوکسی

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

در ادامه نیز می توانید آیپی های مجاز و مد نظر خود را در تنظیمات وارد کنید، زمانی را برای مسدود سازی شخص خاطی مشخص کنید، تعداد دفعاتی که شخص فرصت لاگین دارد و… همگی قابل تنظیم هستند.

گام اول: نصب Fail2Ban روی سیستم عامل CentOS

اول از همه برای شروع عملیات جهت افزایش امنیت سرور باید با استفاده از نرم افزار  Putty و یا هر برنامه اتصال به SSH دیگری به سرور خود وصل شوید.

از طریق آموزش ورود به محیط SSH سرور از طریق PUTTY به محیط خط فرمان سرور خود مراجعه کنید.

به صورت پیش فرض Fail2Ban در مخازن پیش فرض سیستم عامل CentOS قابل دسترسی نیست، بنابراین با دستور زیر می توانید پکیج EPEL را نصب کنید:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

حالا فقط فرمان نصب Yum استاندارد را با نام پکیج fail2ban اجرا کنید:

yum install fail2ban

به این ترتیب با اجرای دستورات بالا Fail2Ban در سرور شما با موفقیت نصب می شود.

گام دوم: ساخت فایل های پیکربندی

در ابتدای کار، بعد از نصب Fail2Ban تمام تنظیمات آن را در فایل /etc/fail2ban/jail.conf ذخیره می شود، اما هیچ تغییری روی فایل پیکربندی و تنظیمات پیش فرض آن اعمال نمی شود. برخی از سیستم های به روز رسانی و یا پتچ ها می توانند فایل پیکربندی را نیز بازنویسی کنند، بنابراین برای ایجاد فایل پیکربندی محلی از دستور زیر استفاده کنید:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

حالا می توانید هر گونه سفارشی سازی را که می خواهید به فایل اعمال کنید. توجه داشته باشید که برخی از موارد ضروری و مورد نیاز به صورت پیش فرض روی فایل اعمال شده است.

گام سوم: پیکربندی Fail2Ban

پرونده پیکربندی را با ویرایشگر متنی دلخواه خود باز کنید، ما از ویرایشگر متن نانو استفاده  می کنیم:

nano /etc/fail2ban/jail.local

در این مرحله بعد از باز کردن فایل نانو باید این اطلاعات را در بالای صفحه ببینید:

#
# WARNING: heavily refactored in 0.9.0 release.  Please review and
#          customize settings for your setup.
#
# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
# [DEFAULT]
# bantime = 3600
#
# [sshd]
# enabled = true
#
# See jail.conf(5) man page for more information

# Comments: use '#' for comment lines and ';' (following a space) for inline comments
حالا باید برای سفارشی سازی فایل پیکربندی حتما این تنظیمات را تغییر دهید:
  • ignoreip: در این قسمت می توانید ISP IP یا آیپی های مدنظر و مجاز خود را وارد کنید تا در صورت رخ دادن مشکلی، بلاک نشوند.
  • bantime: این گزینه زمانی را بر حسب ثانیه تنظیم می کند که یک کاربر بعد از چه مدتی پس از نقض قوانین و ورودهای ناموفق بلاک شود. به طور پیش فرض زمان تعیین شده 10 دقیقه است، می توانید آن را تا دو ساعت افزایش دهید.
  • maxretry: تعداد دفعاتی است که کاربر قبل از بن شدن می تواند اقدام به لاگین کند.
  • findtime: مقدار زمانی که یک کاربر مجاز است تا لاگین کند. به طور پیش فرض روی 10 دقیقه تنظیم شده است.

هنگامی که تغییرات اعمال شد، فایل پیکربندی خود را با فشردن کلیدهای CTRL + X (یا COMMAND + X در سیستم مک) ذخیره کنید.
توجه داشته باشید که پس از پیکربندی، باید سرویس Fail2Ban را مجددا راه اندازی کنید تا تغییرات اعمال شود. برای این منظور دستور را اجرا کنید:

service fail2ban restart

در نهایت با انجام دستورات بالا Fail2Ban نصب و پیکربندی می شود و با این کار تا حدود زیادی موجب افزایش امنیت سرور می شوید. 🙂 

جمع بندی نهایی

فراموش نکنید که مقوله امنیت یک برنامه ریزی مستقل از سرور نیست، استفاده از مجموعه ای از ابزارها و  انجام برخی اقدامات برای حفظ و ارتقاء امنیت لازم است. همیشه لایه های متعددی از فن آوری های به روز را به کار ببرید تا اگر در کار یکی از آن ها خللی وارد شد، دیگری بتواند سدی در برابار اقدامات خرابکانه باشد. انجام تکنیک های مختلف مثل نصب ویروس یاب روی هاست، تغییر پورت سرور و… همگی روش های بسیار کاربردی برای جلوگیری از اقدامات هکرها می باشد.

امیدواریم که از آموزش افزایش امنیت سرور با Fail2Ban راضی بوده باشید. موفق باشید. 🙂