نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: جلوگیری از اجرا شدن شل در سرور لینوکس و هاست

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو جدید BlueStation آواتار ها
    تاریخ عضویت
    Mar 2014
    محل سکونت
    Ottawa
    نوشته ها
    65
    تشکر تشکر کرده 
    3
    تشکر تشکر شده 
    170
    تشکر شده در
    138 پست

    53 جلوگیری از اجرا شدن شل در سرور لینوکس و هاست

    شل (shell) یک اصطلاح بسیار کلی برای اسکریپت ها و کد ها مخربی است که در صورت آپلود شدن داخل هاست و سرور ، به هکر دسترسی های غیر مجاز تا مرز دسترسی root access خواهند داد . جلوگیری از اجرا شدن شل در سرور لینوکس و سرویس های هاست و میزبانی وب کاملا نسبی است و هیچ راه ۱۰۰٪ و قابل اطمینانی برای جلوگیری از اجرا شدن شل در سرور لینوکس وجود ندارد . در واقع فقط در صورتی میتوانید با اطمینان اعلام کنید که موفق به جلوگیری از اجرا شدن شل در سرور لینوکس شده اید کهSSH ، CRON , PHP ، Perl ، Python ، CGI و … را به طور کامل غیر فعال کرده باشید که در این صورت نه تنها شل ، بلکه هیچ وب سرور و سایتی هم روی سرور لینوکس شما کار نخواهد کرد . راه هایی برای محدود کردن هکر ها و فعالیت های مخرب روی سرور های اشتراکی وجود دارد که در ادامه به معرفی این راهکار ها میپردازیم .
    جلوگیری از اجرا شدن شل در سرور لینوکس و هاست

    با توجه به اینکه ساختار اغلب این شل ها بر اساس کد های php است ، ابتدا به راه های امن سازی php می پردازیم .
    غیر فعال کردن توابع و function های خطرناک php

    برای این غیر فعال کردن توابع و فانکشن های خطرناک و یا بدون استفاده زبان PHP در سرور لینوکس ، باید لیست توابع را به فرمت زیر در فایل php.ini اضافه کنیم :
    disable_functions = function1, function2, function3
    به عنوان یک مثال ، ما در سرور های چت روم بر پایه ET-CHAT توابع را به شکل زیر محدود میکنیم :
    disable_functions = detcwd, dl, escapeshellarg, escapeshellcmd, exec, fpassthru, imap_list, ini_alter, ini_restore, link, mysql_list_dbs, openlog, passthru, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, pfsockopen, phpinfo, popen, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, readlink, shell_exec, snmpget, socket_accept, socket_bind, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_select, socket_strerror, stream_select, symlink, syslog, system, posix_getpwuid, posix_getgrgid, ini_set, show_source, allow_url_fopen, xmlrpc_entity_decode, posix_uname, posix_setuid, posix_setsid, posix_setpgid, posix_mkfifo, posix_kill, phpAds_xmlrpcEncode, phpAds_xmlrpcDecode, phpAds_XmlRpc, phpAds_remoteInfo, php_uname, mysql_pconnect, inject_code, ini_get_all, highlight_file, ftp_rawlist, ftp_raw, ftp_put, ftp_nb_fput, ftp_login, ftp_get, ftp_exec, ftp_connect, fput, fp, eval, define_syslog_variables, apache_setenv, apache_child_terminate
    توابع محدود شده باید بر اساس نوع کاربری سرور ، نوع اسکریپت ها ، ماژول ها و کامپوننت های استفاده شده در سرور انتخاب شوند . در یک سرور هاستینگ بر پایه سی پنل ، در صورت بستن تمام توابع فوق ، قطعا با مشکلاتی مانند اجرا نشدن بعضی از کد های PHP و سیستم های مدیریت محتوا مواجه خواهید شد . بعد از ذخیره کردن فایل php.ini اقدام به ریستارت کردن وب سرور آپاچی (یا php-fpm در صورت استفاده) میکنیم .
    service httpd restart
    سایر موارد مورد نیاز برای افزایش امنیت php

    فایل php.ini سرور را ویرایش کرده و مقادیر مورد نظر را به شکل زیر مقدار دهی کنید :
    enable_dl = Off
    allow_url_fopen=Off
    allow_url_include=Off
    safe_mode = On
    بعد از ذخیره کردن فایل php.ini اقدام به ریستارت کردن وب سرور آپاچی (یا php-fpm در صورت استفاده) میکنیم .
    service httpd restart
    توجه داشته باشید که هر ۴ مورد فوق و به خصوص safe_mode در مورد بعضی از وب سایت ها و اسکریپت ها محدودیت هایی ایجاد خواهد کرد که معمولا باید بین امنیت بیشتر و سازگاری بیشتر یکی را انتخاب کنید .
    نصب پچ امنیتی php-suhosin

    پچ امنیتی suhosin یک سیستم محافظ هوشمند PHP است که با الگوریتم خود php را نسبت به بسیاری از بد افزار های شناخته شده و شناخته نشده امن خواهد ساخت . suhosin بر اساس رفتار و چگونگی اجرای کد ، مخرب یا مفید بودن آن را تشخیص خواهد داد . این دقیقا همان چیزی است که برای محدود کردن شل های اختصاصی و ناشناخته به آن نیاز داریم .
    جلوگیری از اجرا شدن شل به کمک suhosin

    نصب ModSecurity v2.7 یا بالاتر

    ماژول ModSecurity یک فایروال وب بیس وب سرور است که در صورت استفاده از رول های صحیح قابلیت های بسیار زیادی از جمله اسکن لحظه ای و realtime فایل های در حال آپلود به سرور توسط pure-ftpd را دارا است . این ماژول قدرتمند در حال حاضر از وب سرور های آپاچی ، انجین اکس و همچنین IIS پشتیبانی میکند ولی بیشترین سازگاری آن با وبسرور Apache است . با کمک این ماژول امنیتی وب سرور ، جلوی اجرا شدن بسیاری از شل های معروف را خواهید گرفت .

    جلوگیری از اجرا شدن شل به کمک ModSecurity

    نصب فایروال CSF

    نصب فایروال CSF از این جهت توصیه میشود که با رعایت موارد امنیتی که توسط CSF به شما پیشنهاد خواهد شد ، اجرای بسیاری از شل ها و بد افزار ها مختل خواهد شد .
    استفاده از اجرا کننده suPHP

    در محیط های اشتراکی (در صورت استفاده از وب سرور آپاچی) حتما از php-handler امن و قدرتمند suphp استفاده کنید . با کمک این اجرا کننده php در صورت هک شدن یکی از یوزر های هاست ، دسترسی گرفتن از محیط خارج از هاست هک شده برای هکر بسیار دشوار و در مواردی غیر ممکن خواهد شد .
    جلوگیری از اجرا شدن شل در سرور به کمک suPHP

    امنیت اسکریپت و سیستم مدیریت محتوا

    امن کردن سرور و وب سرور وظیفه مدیر سرور و هاستینگ است ، ولی بخشی از امنیت نیز مربوط به مدیر سایت می باشد . بار ها پیش آمده که سایتی به دلیل وجود باگ امنیتی ، حتی با توجه به امنیت بالای سرور هک شده است . حتما همیشه از آخرین نسخه های پایدار سیستم های مدیریت محتوا استفاده کنید . پلاگین ها ، ماژول ها و کامپوننت ها را همیشه به روز نگهدارید و از اسکریپت های ناشناخته و قدیمی هرگز استفاده نکنید . اگر سایت شما یک آپلود سنتر است ، حتما در پوشه آپلود عکس ها ، محدودیت هایی برای اجرا نشدن هر نوع فایل اجرایی اعمال کنید . برای مثال با وارد کردن کد زیر در .htaccess پوشه مورد نظر ، وب سرور هیچ فایلی به جز فایل های مربوط به تصویر و عکس را اجرا نخواهد کرد :
    <FilesMatch “\.(gif|jpg|png)$”> deny from all </FilesMatch>
    نصب و کانفیگ آنتی ویروس CLAMAV

    همیشه آخرین نسخه آنتی ویروس ClamAV را روی لینوکس خود نصب کرده و آن را به روز نگه دارید . اسکن های روزانه و هفتگی به شما امکان حذف حد اقل بعضی از ویروس ها و شل های شناخته شده را خواهد داد . به هر حال اگر شل اختصاصی یا کد شده باشد ،‌معمولا ClamAV قادر به شناسایی آن نخواهد بود .
    نصب آنتی شل CXS در سرور های سی پنل

    آنتی شلر CXS یک برنامه ضد شل بسیار قوی و مفید است که فقط امکان نصب در سرور های cPanel را دارد . با خرید لایسنس آنتی شل CXS سرور خود را به قابلیت اسکن لحظه ای و realtime پراسس های در حال اجرا و همچنین در حال آپلود مجهز خواهید کرد .
    نصب و کانفیگ آنتی شل Maldet

    آنتی شل Maldet یک برنامه آنتی ویروس و ضد شل رایگان و متن باز است که با کمک انجین ClamAV اقدام به اسکن و شناسایی شل ها و تروژان های سرور های لینوکس خواهد کرد . اگر امکان خرید CXS را ندارید یا سرور شما از پنلی به جز cPanel استفاده میکند ، استفاده از این ضد شل قوی را به شما توصیه میکنیم . با کانفیگ صحیح این آنتی شلر رایگان‌ ، امکاناتی مانند اسکن لحظه ای و realtime به سرور شما اضافه خواهد شد .
    موارد فوق تنها بخشی از راه های امن کردن سرور و جلوگیری از اجرا شدن شل های معروف روی هاست بود ، راه های بسیار دیگری نیز مانند محدود کردن perl و python و … وجود دارند که مسئول کانفیگ و ادمین سرور با پیاده سازی صحیح آن ، امنیت سرور را افزایش خواهد داد . در مقیاس بزرگ و کلاس Enterprise فایروال های سخت افزاری در لایه های شبکه ، پکت های ارسالی و دریافتی را باز کرده و signature آن ها را با دیتابیس خود مطابقت میدهند و در صورت مخرب بودن کد ، آن را در میانه راه و قبل از رسیدن به سرور حذف میکنند . همانطور که در ابتدای بحث اشاره کردیم ، امنیت نسبی است و هیچ راه تضمینی و قطعی برای جلوگیری از اجرا شدن شل در سرور وجود ندارد .

    منبع : compiler.ir

  2. تعداد تشکر ها از BlueStation به دلیل پست مفید


اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •