وضعیت سرورها

وبــلاگ

وضعیت سرورها
  • فایروال CSF

    اسماعیل رحیمیان چهارشنبه ۲۹ بهمن ۱۳۹۳ آموزش , امنیت , مقالات
    یکی از الزاماتی که در استاندارهای امنیتی مطرح شده است، استفاده از فایروال‌های نرم افزاری و سخت‌افزاری می باشد که به جهت جلوگیری از حملات تکذیب سرویس و یا اعطای دسترسی بر اساس آی پی مورد استفاده قرار می‌گیرند.
    در سرورهای لینوکسی فایروال‌های متنوعی وجود دارد. یکی از بهترین فایروال‌های لینوکسی فایروال iptables است که به دلیل نداشتن محیط گرافیکی ممکن است زیاد مورد استقبال کاربران قرار نگیرد. به همین دلیل شرکت های مختلف در صدد تولید فایروال‌های با محیط GUI برای لینوکس برآمده‌اند.
    CSF یکی از بهترین محصولات و فایروال های لینوکسی می‌باشد. فایروال CSF محصول شرکت configserver است که براساس دستورات iptables مدیریت فایروال را انجام می‌دهد و به صورت رایگان و با محیطی کاربر پسند ارایه شده‌است.
    برای نصب این فایروال در سرورهای لینوکسی مراحل زیررا انجام می دهیم:
    ۱- دانلود بسته فایروال در لینوکس با دستور زیر
    ​۲- استخراج فایل های مربوطه از فایل فشرده
    #tar zxvf csf.tgz
    ۳- در مرحله سوم به شاخه استخراج شده وارد می‌شویم
    #cd csf
    ۴- در این مرحله پروسه نصب آغاز می گردد. برای نصب فایروال در کنترل پنل‌های مختلف فایل‌های مجزایی در فایروال وجود دارد تا پروسه نصب برای کنترل پنل‌های مختلف را تسریع نماید.
    به جهت نصب فایروال در کنترل پنل cPanel دستور زیر را اجرا نمایید
    در صورتی که می خواهید نصب بر روی کنترل پنل دایرکت ادمین انجام شود، دستور زیر را واردنمایید
    #./install,directadmin.sh
    و در صورتی که از کنترل پنل خاصی در سرور لینوکس خود استفاده نمی کنید دستور زیر را وارد نمایید
    #./install.sh
    پس از نصب باید از صحت عملکرد فایروال در سرور مطلع شوید، زیرا فایروال برای اینکه بدرستی کار کند، در هسته مرکزی لینوکس نیاز به برخی از ماژول‌ها دارد و برای تست این موضوع می‌توانید دستور زیر را اجرا نمایید:
    # perl /etc/csf/csftest.pl
    Testing ip_tables/iptable_filter…OK
    Testing ipt_LOG…OK
    Testing ipt_multiport/xt_multiport…OK
    Testing ipt_REJECT…OK
    Testing ipt_state/xt_state…OK
    Testing ipt_limit/xt_limit…OK
    Testing ipt_recent…OK
    Testing ipt_owner…OK
    Testing iptable_nat/ipt_REDIRECT…OK
    RESULT: csf should function on this server
    Looks 100% OK.
    در صورتی که تمامی موارد ok بود و پیغام csf should function on this server مشاهده شد، یعنی فایروال درست کار می‌کند.
    پس از نصب فایروال باید تغییراتی اعمال شود، که موارد مورد نیاز برای تغییرات به شرح زیر می باشد:
    در صورتی که بخواهید هر تغییری را در پیکربندی فایروال انجام دهید، فایل اصلی پیکربندی فایروال فایل csf.conf می‌باشد که به صورت پیش‌فرض در مسیر /etc/csf/csf.conf است.
    فایل مربوطه را بازگشایی و تغییرات زیر را در آن اعمال کنید
    #nano /etc/csf/csf.conf
    TESTING = “۰″
    پارامتر testing را از ۱ به صفر تغییر دهید تا فایروال فعال شود. در حالتی که فایروال در حالت test قرار دارد، پیکریندی های انجام شده اعمال نمی گردد و عملا استفاده از فایروال بی معنی است.
    مقدار TCP_IN پورت های مجاز سرور جهت اتصال از خارج از سرور را مشخص می کند. دقت کنید که همیشه ابتدا پورت SSH را در فایروال اعمال نمایید.
    به عنوان مثال :
    TCP_IN = “۲۰,۲۱,۲۲,۲۵,۵۳,۸۰,۱۱۰,۱۴۳,۴۴۳,۴۶۵,۵۸۷,۹۹۳,۹۹۵″
    پورت SSH پورت ۲۲ می‌باشد.
    مقدار TCP_OUT پورت های مجاز سرور جهت اتصال از سرور به خارج از سرور را مشخص می‌کند. دقت کنید که همیشه ابتدا پورت SSH را در فایروال اعمال نمایید.
    به عنوان مثال :
    TCP_OUT = “۲۰,۲۱,۲۲,۲۵,۵۳,۸۰,۱۱۰,۱۱۳,۴۴۳″
    مقدار UDP_IN  نوع اتصال UDP از خارج از سرور به داخل سرور را مشخص می کند که در صورتی که شما بر روی سرور وب سایتی را میزبانی میکنید .پورت ۵۳ از نوع udp را در فایروال اضافه نمایید.
    به عنوان مثال :
    UDP_OUT = “۲۰,۲۱,۵۳,۱۱۳,۱۲۳,۳۳۴۳۴:۳۳۵۲۳″
    پارامتر SYNFLOOD باعث جلوگیری از حملات DDOS از نوع synflood میگردد.که در صورتی که پیشنهاد می گردد این مقدار برابر با ۱ باشد و در سرور فعال گردد که برای فعال سازی مقادیر زیر را در آن قرار دهید.
    SYNFLOOD = “۱″
    SYNFLOOD_RATE = “۱۰۰/s”
    SYNFLOOD_BURST = “۱۵۰″
    پارامتر SYNFLOOD_RATE سرعت دریافت پکت‌ها از یک آی پی را بررسی می‌کند که در حال تنظیم شده در ثانیه حداکثر ۱۰۰ پکت دریافت می‌گردد.
    در پارامتر SYNFLOOD_BURST تعداد کانکشن‌های هر آی‌پی مشخص می‌گردد و در صورتی که تعداد کانکشن‌ها بیشتر از ۱۵۰ شود و یا ۱۵۰ کانکشن  در ۱ ثانیه بیشتر از ۱۰۰بسته ارسال کنند . آی پی مربوطه مسدود می گردد.
    پارامتر PORTFLOOD در این قسمت می‌توانیم نوع پروتکل و پورت به همراه تعداد کانکشن در بازه زمانی مد نظر را مشخص نماییم تا جلوی حملات سیل آسا علیه سرور در یک پورت خاص گرفته‌شود.
    PORTFLOOD = “۸۰;tcp;20;300″
    در مثال ذکر شده اگر از یک آی پی در مدت ۳۰۰ ثانیه بیشتر از تعداد ۲۰ کانکشن به سمت پورت ۸۰ ارسال شود. آی پی در فایروال مسدود می‌گردد.
    پارامتر CT_LIMIT مجموع تعداد کانکشن یک آی پی را مشخص می کند. در مثال زیر این مقدار برابر با ۳۰۰ است.
    CT_LIMIT = “300”
    پارامتر CT_INTERVAL بازه زمانی بررسی تعدادکانکشن‌ها را مشخص می کند. در این حالت فایروال بر اساس مثال زیر هر ۳۰ ثانیه اقدام به بررسی تعداد کانکشن‌ها می‌نماید.
    CT_INTERVAL = “30”
    پارامتر CT_EMAIL_ALERT با فعال سازی این پارامتر در صورت مسدود نمودن آی‌پی ایمیل برای ایمیل تنظیم شده در فایروال ارسال می گردد.
    CT_EMAIL_ALERT = 1
    پارامتر CT_PERMANENT با فعال سازی این مقدار آی‌پی‌ها بصورت موقت مسدود می‌گردند و به صورت پیش‌فرض این پارامتر غیرفعال است. توصیه می‌کنیم این مقدار غیرفعال باشد.
    در صورت فعال نمودن این پارامتر باید زمانی نیز برای بازگشایی آی‌پی که به صورت موقت غیرفعال شده است . در نظر بگیرید که به عنوان مثال در زیر این مقدار برابر با ۱۸۰۰ ثانیه تنظیم شده است و پس از این مدت آی پی که مسدود گردیده است . بازگشایی می گردد.
    CT_BLOCK_TIME = 1800
    پارامتر CT_PORTS در صورتی که می‌خواهید پورت و یا پورت‌های خاصی عملیات connection_tracking انجام شود این مفدار را تنظیم نمایید. در مثال زیر پورت ۸۰ و ۴۴۳۰تنظیم شده‌است.
    CT_PORTS = 80,443
    پارامتر CONNLIMIT در صورتی که می‌خواهید بر روی پورت مشخصی تعداد کانکشن معینی را محدود نمایید از این پارامتر استفاده نمایید. جهت اعمال موضوع توضیحات مثال زیر را  بررسی نمایید.
    CONNLIMIT = “۲۲;۵,۸۰;۲۰″
    ذر این حالت بر روی پورت ۲۲ حداکثر تعداد ۵ کانکشن و بر روی پورت ۸۰ تعداد ۲۰ کانکشن محدود می‌گردد.
    پارامتر LF_SCRIPT_ALERT با فعال سازی این مقدار در صورتی که از طریق اسکریپتی ایمیل ارسال شود و تعداد ایمیل‌های ارسالی بیشتر از حد مجاز تعیین شده‌باشد، به شما از طریق ایمیل اطلاع رسانی می شود که تعداد این ایمیل‌های مجاز در مدت زمان یک ساعت توسط پارامتر LF_SCRIPT_LIMIT مشخص می‌گردد. 
    هر دو در مثال زیر مشخص شده است.
    LF_SCRIPT_ALERT = 1
    LF_SCRIPT_LIMIT = 100
    در مثال بالا در صورتی که اسکریپتی بیشتر از ۱۰۰ ایمیل در ۱ ساعت ارسال نماید به شما از طریق ایمیل اطلاع رسانی می‌گردد.
    در صورتی که می خواهید گزارش‌های فایروال در ایمیل خاصی بدست شما برسد پارامتر‌های زیر را تنظیم نمایید:
    LF_ALERT_TO = “email@domain.com”
    LF_ALERT_FROM = “server.iranserver.com
    در مثال ذکر شده ایمیل های مربوطه به ایمیل email@domain.com ارسال می گردد و ایمیل ها در ایمیل مقصد از طرفserver.iranserver.com ارسال می‌گردد.
    0

    برچسب ها :

با عضویت در خبرنامه شما را از آخرین تجربیات مان و مطالب تخصصی آگاه خواهیم کرد.

پاسخ دهید

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