ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جلوگیری از اجرا شدن شل در سرور لینوکس و هاست



TegraHost
April 11th, 2016, 09:51
سلام بر دوستان
این آموزش خیلی به دردتون میخوره لطفا مطالعه کنید و اگر اطلاعاتی در این مورد دارید ممنون میشم ارسال کنید . تشکر

اصلا این شل چیه ؟
شل (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






و همین طور برای یک سرور هاست اشتراکی توابع زیر را محدود کردیم



disable_functions = ini_set, mail, sendmail, show_source, allow_url_fopen, parse_ini_file, open_base, symlink, apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode


توابع محدود شده باید بر اساس نوع کاربری سرور ، نوع اسکریپت ها ، ماژول ها و کامپوننت های استفاده شده در سرور انتخاب شوند . در یک سرور هاستینگ بر پایه سی پنل ، در صورت بستن تمام توابع فوق ، قطعا با مشکلاتی مانند اجرا نشدن بعضی از کد های 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 بر اساس رفتار و چگونگی اجرای کد ، مخرب یا مفید بودن آن را تشخیص خواهد داد . این دقیقا همان چیزی است که برای محدود کردن شل های اختصاصی و ناشناخته به آن نیاز داریم .

30743

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

30744

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


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



امنیت اسکریپت و سیستم مدیریت محتوا
امن کردن سرور و وب سرور وظیفه مدیر سرور و هاستینگ است ، ولی بخشی از امنیت نیز مربوط به مدیر سایت می باشد . بار ها پیش آمده که سایتی به دلیل وجود باگ امنیتی ، حتی با توجه به امنیت بالای سرور هک شده است . حتما همیشه از آخرین نسخه های پایدار سیستم های مدیریت محتوا استفاده کنید . پلاگین ها ، ماژول ها و کامپوننت ها را همیشه به روز نگهدارید و از اسکریپت های ناشناخته و قدیمی هرگز استفاده نکنید . اگر سایت شما یک آپلود سنتر است ، حتما در پوشه آپلود عکس ها ، محدودیت هایی برای اجرا نشدن هر نوع فایل اجرایی اعمال کنید . برای مثال با وارد کردن کد زیر در .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 آن ها را با دیتابیس خود مطابقت میدهند و در صورت مخرب بودن کد ، آن را در میانه راه و قبل از رسیدن به سرور حذف میکنند . همانطور که در ابتدای بحث اشاره کردیم ، امنیت نسبی است و هیچ راه تضمینی و قطعی برای جلوگیری از اجرا شدن شل در سرور وجود ندارد .

بدرود

IrIsT
April 11th, 2016, 10:52
سلام و درود
ممنون از آموزش شما،
چند نکته بگم،این تمام امنیت نیست و راحت بایپس میشه.اگه شما sushion رو کانفیگ نکنید،بایپس میشه.این قسمت کانفیگ خاصشو داره.اشتباه در کانفیگ،یعنی راحت هکر میتونه کارشو بکنه
نکته دوم،بیشنر شل ها،base encoder یا base decoder هستش.این دو تابع رو قرار بدین.بیشتر شل ها از کار میفتند
نکته سوم،مودسکوریتی،همه قکر میکنن نصب کنند و رول عادیشو بذارن تموم.نه.باید رول های خوبی رو ینویسید.بیشترین عاملی که یک هاستینگ و خراب میکنه گذاشتن رول های بد هستش
نکته چهارم،همه فکر میکنن امنیت یعنی این.میان دیزیبل فانکشن رو میبندن.cxs میریزن،بفد مینویشن شل دیگه اجرا نمیشه
با یک تابع ساده و کاربردی که نمیشه اصلا بست،راحت میشه سیم لینک زد و فایل رو فراخوانی گرد
امنیت،چیری نیست که مطلق باشه و بگیم خوبه این تنها راهشه،چنوین سال توی تجربه هایی که داشتم،امنیت یک سرور و هاستینگ،با کانفیگ خیلی دقیق و بسیار مهم که خودش خیلی زمان میبره بدون sushion یا cxs و ....
میشه جلوشو گرفت

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

lnspiron
April 11th, 2016, 10:57
سلام و درود
ممنون از آموزش شما،
چند نکته بگم،این تمام امنیت نیست و راحت بایپس میشه.اگه شما sushion رو کانفیگ نکنید،بایپس میشه.این قسمت کانفیگ خاصشو داره.اشتباه در کانفیگ،یعنی راحت هکر میتونه کارشو بکنه
نکته دوم،بیشنر شل ها،base encoder یا base decoder هستش.این دو تابع رو قرار بدین.بیشتر شل ها از کار میفتند
نکته سوم،مودسکوریتی،همه قکر میکنن نصب کنند و رول عادیشو بذارن تموم.نه.باید رول های خوبی رو ینویسید.بیشترین عاملی که یک هاستینگ و خراب میکنه گذاشتن رول های بد هستش
نکته چهارم،همه فکر میکنن امنیت یعنی این.میان دیزیبل فانکشن رو میبندن.cxs میریزن،بفد مینویشن شل دیگه اجرا نمیشه
با یک تابع ساده و کاربردی که نمیشه اصلا بست،راحت میشه سیم لینک زد و فایل رو فراخوانی گرد
امنیت،چیری نیست که مطلق باشه و بگیم خوبه این تنها راهشه،چنوین سال توی تجربه هایی که داشتم،امنیت یک سرور و هاستینگ،با کانفیگ خیلی دقیق و بسیار مهم که خودش خیلی زمان میبره بدون sushion یا cxs و ....
میشه جلوشو گرفت

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

برای بنده پ.خ کنید.

nginxweb
April 11th, 2016, 11:07
ضما تشکر از شما دوست بزرگوار باید عرض کنم
دوست گرامی آموزش فوق امروزه دیگر کاربردی ندارد برای مثال:

enable_dl = Off
allow_url_fopen=Off
allow_url_include=Off
safe_mode = On

این مواردمانند fopen نیاز صلی خیلی اسکریپت ها برای کارکرد صحیح میباشد

همچنین enable_dl نیز در خیلی اسکریپت ها برای آپلود فایل استفاده میشود

safe_mode نیز از php 5.2 به بعد حذف شده است الان php 6 اومده این آموزش دستکم مربوط به 5 سال پیش میباشد

برای بحث php shellscript hardenering پرمیشن بندی فایلهای حساس سیستم عامل و کنترل دایم سرور و همینطور محدود کردن دسترسی perl - python -cgi و همینطور نصب suhosin php path و کانفیگ صحیح آن و تغییرات openbase dir منطقی ترین راهها میباشد. نصب کلی آنتی ویروس - آنتی شل و.. کمک خاصی از نظر بنده نخواهد کرد و سرور از هسته و پایه باید secure باشد

Z.eus
April 11th, 2016, 11:18
برای بنده پ.خ کنید.
درود؛

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

بدرود.

IrIsT
April 11th, 2016, 11:25
Inspiron جان،چیو بفرستم دادا؟کانفیگ یک خط یا خک صفحه نیست
حدودا هر سرورم 72 ساعت فیکس کار میبره.اگر بخواین میتونم کم کم مقاله کنم
Ngnixweb جان،اکثر کانفیگ ها مال خیلی وقته.سال 82 یک مقاله دارم که از کوین متنیک هستش و داخل سایت شخصیش گذاشته بود.
به خیلی چیزا و اون سرفصل هایی که حتی شما داخل سایتتون گذاشتین اشاره شده
پس اینو بدونیم که چندتا فرمان درسته قدیمیه.اما بازم کاربر داره.مثلا alloww url و allow file
این قسمت حالا میگیم باگش بیخیال،میدونید راحت با استفاده از این میشه یک سایتی که با سایت فراخوانی میشه یا با فایل های دیگه و .... دیداس کرد؟بجط lfi و rfi
همچنین میدونستید اگه داحل یک سرور به صورت لوکال،یک اسکریپتی بذاریم که از همین allow هد استفاده میکنه،باعث داون شدن و مصرف زیاد سرور میشه؟
از این ورم بگم که اگه فعال نباشن اسکریپت های خبرحان کار نمیکنند.پس اینم توجه کنید
در مورد safe mod چه کسی میگه این قسمت ااصلا کاربرد نداره؟
نفس کشششش.هههههه.با دلیل اثبات میکنم که safe mod هنوزم تاثیر داره و کانفیگش تاثیر مثبتی میذاره
حالا این به کنار.مگه همه ما از 5.6 یا بالاتر استفاوه میکنیم؟
یکی از دوستان یک مقاله گذاشتن.بخونید.ببینید چنددرصد دارن از 5.3 و 5.4 و 5.5 استفاوه میکنند.
و استفاده خواهند کرد.

یک نصیحت که تجربه بهم اثبات کرده،من شاید بیشتر از اکثریت با این چیزا برخورد دارم.
کوچکترین فرمان و تابع و کوچکترین کانفیگ رو دست کم نگیرید.
شاید شما بگید قدیمیه.اما با اثبات روی یک سرور بهتون نشونکمیدم که اگرم قدیمیه بازم کاربردیه
اما بازم بگم.امنیت اصلی این چیزا نیست.
سو تفاهم نشه ها.داریم به عنوان دوست و همکار و برادر صحبت میکنیم که یک چیزایی هممون یاد بگیریم

- - - Updated - - -

آقا من یک گلایه دارم.
چرا از مطالب استارتر یک تشگر نمیکنید؟خداییی ارزش یک تشکر نداره؟

TegraHost
April 11th, 2016, 11:33
سلام و درود
ممنون از آموزش شما،
چند نکته بگم،این تمام امنیت نیست و راحت بایپس میشه.اگه شما sushion رو کانفیگ نکنید،بایپس میشه.این قسمت کانفیگ خاصشو داره.اشتباه در کانفیگ،یعنی راحت هکر میتونه کارشو بکنه
نکته دوم،بیشنر شل ها،base encoder یا base decoder هستش.این دو تابع رو قرار بدین.بیشتر شل ها از کار میفتند
نکته سوم،مودسکوریتی،همه قکر میکنن نصب کنند و رول عادیشو بذارن تموم.نه.باید رول های خوبی رو ینویسید.بیشترین عاملی که یک هاستینگ و خراب میکنه گذاشتن رول های بد هستش
نکته چهارم،همه فکر میکنن امنیت یعنی این.میان دیزیبل فانکشن رو میبندن.cxs میریزن،بفد مینویشن شل دیگه اجرا نمیشه
با یک تابع ساده و کاربردی که نمیشه اصلا بست،راحت میشه سیم لینک زد و فایل رو فراخوانی گرد
امنیت،چیری نیست که مطلق باشه و بگیم خوبه این تنها راهشه،چنوین سال توی تجربه هایی که داشتم،امنیت یک سرور و هاستینگ،با کانفیگ خیلی دقیق و بسیار مهم که خودش خیلی زمان میبره بدون sushion یا cxs و ....
میشه جلوشو گرفت

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


ممنون از نکاتی که ذکر کردید

InterServer.ir
April 11th, 2016, 13:02
سلام

شل اسکنر ها امروزه فقط برای جوجه هکر ها کاربرد دارند و برای هکر هایی که با شل p8 کار می کنند کاربردی نداره .
بستن فانکشن های php اجازه ساختن php.ini اختصاصی به مشتری نمیده و همین یه نکته منفی برای هاستینگ محسوب میشه.
راه های بایپس مد سکیوریتی زیاده .
suphp فقط برای حفاظت از سایر هاست ها و سرور هست و جلوی اجرای شل رو نمیگیره و حتی اجرای شل بر روی suphp بهتر انجام میشه .
و...

بسته شدن کامل شل رو کا هاستینگ امکان نداره این محدودیت ها فقط باعث آزار مشتری و مدیر سرور میشه به نظرم باید سرور رو در مقابل خطرات شل محافظت کرد وبا وجود شل نباید اجازه روت شدن یا دسترسی به سایر هاست ها داده شه . اینکه شل بتونه آپلود شه یا نشه این مشکل مشتری هست که باید امنیت سایت خودش رو با آپدیت ها و ... حفظ کنه ولی اینکه از سمت سرور در امان باشه و سایت امنش از سمت سرور هک نشه وظیفه مدیر سرور هست. نمیشه که 10 تا سایت امن از امکانات php محروم بشند تا یک سایت نا امن با محدود سازی های سرور امن بشه !

البته یک -دو راه هست که اجرای شل رو غیر فعال می کنه روی هاست نه کل سرور. که اینم تقریبا p8 هست و به کار مدیران هاستینگ نمیاد .

IrIsT
April 11th, 2016, 13:24
سلام

شل اسکنر ها امروزه فقط برای جوجه هکر ها کاربرد دارند و برای هکر هایی که با شل p8 کار می کنند کاربردی نداره .
بستن فانکشن های php اجازه ساختن php.ini اختصاصی به مشتری نمیده و همین یه نکته منفی برای هاستینگ محسوب میشه.
راه های بایپس مد سکیوریتی زیاده .
suphp فقط برای حفاظت از سایر هاست ها و سرور هست و جلوی اجرای شل رو نمیگیره و حتی اجرای شل بر روی suphp بهتر انجام میشه .
و...

بسته شدن کامل شل رو کا هاستینگ امکان نداره این محدودیت ها فقط باعث آزار مشتری و مدیر سرور میشه به نظرم باید سرور رو در مقابل خطرات شل محافظت کرد وبا وجود شل نباید اجازه روت شدن یا دسترسی به سایر هاست ها داده شه . اینکه شل بتونه آپلود شه یا نشه این مشکل مشتری هست که باید امنیت سایت خودش رو با آپدیت ها و ... حفظ کنه ولی اینکه از سمت سرور در امان باشه و سایت امنش از سمت سرور هک نشه وظیفه مدیر سرور هست. نمیشه که 10 تا سایت امن از امکانات php محروم بشند تا یک سایت نا امن با محدود سازی های سرور امن بشه !

البته یک -دو راه هست که اجرای شل رو غیر فعال می کنه روی هاست نه کل سرور. که اینم تقریبا p8 هست و به کار مدیران هاستینگ نمیاد .

با سلام.ممنون از اطلاعات خوبتون


بستن فانکشن های php اجازه ساختن php.ini اختصاصی به مشتری نمیده و همین یه نکته منفی برای هاستینگ محسوب میشه.
غیر فعال کردن php اختصاصی ربطی به بستن فانکشن نداره.برای اختصاص php.ini از suphp میتونید استفاده کنید و راه دیگم وجود داره.بستن تابع فقط برای اجرای یک اسکریپت می باشد.

suphp فقط برای حفاظت از سایر هاست ها و سرور هست و جلوی اجرای شل رو نمیگیره و حتی اجرای شل بر روی suphp بهتر انجام میشه .
کاملا درسته.اما کانفیگ دقیق این,باعث میشه که تا حدی از سیملینک زدن جلوگیری کنه

بسته شدن کامل شل رو کا هاستینگ امکان نداره این محدودیت ها فقط باعث آزار مشتری و مدیر سرور میشه به نظرم باید سرور رو در مقابل خطرات شل محافظت کرد وبا وجود شل نباید اجازه روت شدن یا دسترسی به سایر هاست ها داده شه
اینم درست.اما نه همش.راه وجود داره که شل ها کلا از کار بیفتند.یا نصفه لود میشن که کاربرد ندارن یا اصلا بالا نمیاد.
برای نمونه.شما سه نوع شل که خودتون قبول دارید رو برای من بفرستید.من یک عکس بگیرم تا ببینید چطور میشه.اما بازم موافقم.100% نمیشه گفت اجرا نمیشه.اما میشه کاری کرد که کلا کاربرد نداشته باشند.
برای اینکه آزار و اذیت مشتری,اینه که ما میام یک عالمه دیزیبل فانکشن میذاریم.این باعث میشه که خیلی از هاست ها به مشکل بخورن.
بکف میهن وب هاست,که یکم معروفه.سایت موزیکمو بردم.یک پلاگین نصب کردم.یهو دیدم پیام میده و باز نمیشه.
بهشون گفتم.گفتن باید برید روی پربازدید.حالا چقدر بازدید؟هزار نفر.هاست خودبشو هم گرفته بودم.اما گفت باید برید پر بازدید.هرچی پیام دادم که آقا این فانکشن رو باز بذارید تا درست شه و اصلا بازدید نداریم.اما گوش نکردند.
این باث شد که بیارمش رو سرور خودم و همون فانکشن رو برداشتم و سایتم کامل کار کرد.
این کار باعث میشه که مشتری ها از دست بره و باعث مشکل بشه.
کانفیگ چیزی نیست که مثلا توی فروم میگن چک لیست داریم یا فلان کارو بکنیم و ....
اگه اینطوری از هک محافظت میشه,چطور این همه سایت هرروز داره هک میشه؟
دوستان توی این تاپیک بحث کنیم باهم.خیلی مفیده.

secureconfig
April 11th, 2016, 15:51
سلام.

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

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

پیشنهاد من برای داشتن امنیت بالا ، استفاده از کلود لینوکس هست که بدون نیاز به تغییرات خاصی ، امنیت رو در برابر سیملینک و ... تامین میکنه. همچنین قابلیت lve باعث جلوگیری از down شدن سرور در اثر مصرف زیاد کاربران میشه.

درواقع امنیت زمانی نیاز هست و خوب هست که کاربر/سایتی توی سرور باشه. که با این همه محدودیت مطمینا ۹۰٪ اسکریپت های رایج به مشکل بر میخورن و کاربر ها مجبور به انتقال به هاستینگ های خارجی میشن که هیچ محدودیتی ندارن.(بعضا)

IrIsT
April 11th, 2016, 16:29
سلام.

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

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

پیشنهاد من برای داشتن امنیت بالا ، استفاده از کلود لینوکس هست که بدون نیاز به تغییرات خاصی ، امنیت رو در برابر سیملینک و ... تامین میکنه. همچنین قابلیت lve باعث جلوگیری از down شدن سرور در اثر مصرف زیاد کاربران میشه.

درواقع امنیت زمانی نیاز هست و خوب هست که کاربر/سایتی توی سرور باشه. که با این همه محدودیت مطمینا ۹۰٪ اسکریپت های رایج به مشکل بر میخورن و کاربر ها مجبور به انتقال به هاستینگ های خارجی میشن که هیچ محدودیتی ندارن.(بعضا)

سلام و درود.
اول گفتین که :


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


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

بله.کلا این تاپیک بحث امنیت هستش که داریم در رابطه با اون صحبت میکنیم.فکر نکنید.مطمون باشید که هدف بالابردن سطح امنیت هستش.
نگاه کنید,زمانی که ما میگیم یکی به سرور یا هاست ما نفوذ کرده,اول باید ببینیم از کجا نفوذ کرده.خوب وقتی نفوذ و روش هاشو بدوندی,میتونید تا حدود خیلی خوبی جلوی این حملات رو گرفت.پرل و پایتون که کلا برای اجرای فرامین و همچنین دسترسی شل و اجرا شدن اسکریپت ها و شل ها و .... مربوط به این هاست و حتی با استفاده از این پرل و پایتون و .... به صورت لوکال میشه ضربه بدی به سرور زد.خوب راه حل چیه؟الان گفتیم.لازم نداریم نصب نکنیم.لازم داریم نصب کنیم اما پرمیشن روت بهش بدیم و سطح دسترسی فقط برای روت باشه.
یک مشکلی که من زیاد دیدم,chown ها هستش.
با یک کانفیگ بسیار اشتباه,بعضی ها کلا میان chown هارو کلا روت میکنن یا یک یوزر دیگه..خوب معلومه راحت میشه حتی با یک اسکریپت که هیچ اسکنری جلوشو نمیگیره,کل کانفیگ هارو ذخیره کرد.حالا شما cxs نصب کن یا هر چیزی.یا بگو سرورم شل احرا نمیکنه.
بیشترین ضعفی که ما داریم اینه که اصولی عمل نمیکنیم و توقع داریم امنیت خوب باشه.ما برای هر سروری,یک کانفیگی انجام میدیم.یکی رو دیده بودم برای دایرکت ادمین کانفیگ سی پنل زده بود.یا یک چیزی رو ما میریم از سایت ها پیدا میکنیم و میزنیم.بعد توی سایت هامون میزنیم امنیت سرور,به صورت یکبار 7000000000000 ت همراه با یک هفته تست.
امنیت فراتر از این آموزش و این روش هاست که هنوز هیچ کسی در دنیا نمیتونه ادعا کنه که من کامل بحث امنیت رو میدونم.
حتی واسه اینکه کارمون رو راحت کنیم.میگیم مثلا lve و کلود لینوکس مینصبیم.اصلا ساختار کلودلینوکس چطوریه؟یعنی اگه کلودلینوکس نباشه نمیتونیم جلوشو بگیریم؟چرا باید لقمه آماده بهمون بدن؟
ما باید خودمون راهشو بدونیم.
واسه کنترل پنل دایرکت ادمین,8 ماه فقط 24 ساعته تست میکردم و کار میکردم که فقط بتونم کانفیگ کامل امنیتی مربوط به این کنترل پنل حالا با هر روشی که کمپایل شده,رو کامل بدونم که وقتی گشتم,اول فکر میکردم امنیت این چیزایی هستش که چک لیست میدن یا دیزیبل فانکشن و ... هستش.اما بخدا امنیت این نیست.وقتی تونستیم همگی با کمک هم کاری کنیم که بدون کلادلینوکس یا اینطور سرویس ها,جلوی حملات رو بگیریم,اون موقع میتونیم بگیم امنیت کاریم.
خوشحال میشیم دوستان دیگر هم شرکت کنند.

secureconfig
April 11th, 2016, 17:05
سلام و درود.
اول گفتین که :


که کاملا درسته و تجربه خوبی داشتین.حرفتون تایید میشه
اما این گفته :



بله.کلا این تاپیک بحث امنیت هستش که داریم در رابطه با اون صحبت میکنیم.فکر نکنید.مطمون باشید که هدف بالابردن سطح امنیت هستش.
نگاه کنید,زمانی که ما میگیم یکی به سرور یا هاست ما نفوذ کرده,اول باید ببینیم از کجا نفوذ کرده.خوب وقتی نفوذ و روش هاشو بدوندی,میتونید تا حدود خیلی خوبی جلوی این حملات رو گرفت.پرل و پایتون که کلا برای اجرای فرامین و همچنین دسترسی شل و اجرا شدن اسکریپت ها و شل ها و .... مربوط به این هاست و حتی با استفاده از این پرل و پایتون و .... به صورت لوکال میشه ضربه بدی به سرور زد.خوب راه حل چیه؟الان گفتیم.لازم نداریم نصب نکنیم.لازم داریم نصب کنیم اما پرمیشن روت بهش بدیم و سطح دسترسی فقط برای روت باشه.
یک مشکلی که من زیاد دیدم,chown ها هستش.
با یک کانفیگ بسیار اشتباه,بعضی ها کلا میان chown هارو کلا روت میکنن یا یک یوزر دیگه..خوب معلومه راحت میشه حتی با یک اسکریپت که هیچ اسکنری جلوشو نمیگیره,کل کانفیگ هارو ذخیره کرد.حالا شما cxs نصب کن یا هر چیزی.یا بگو سرورم شل احرا نمیکنه.
بیشترین ضعفی که ما داریم اینه که اصولی عمل نمیکنیم و توقع داریم امنیت خوب باشه.ما برای هر سروری,یک کانفیگی انجام میدیم.یکی رو دیده بودم برای دایرکت ادمین کانفیگ سی پنل زده بود.یا یک چیزی رو ما میریم از سایت ها پیدا میکنیم و میزنیم.بعد توی سایت هامون میزنیم امنیت سرور,به صورت یکبار 7000000000000 ت همراه با یک هفته تست.
امنیت فراتر از این آموزش و این روش هاست که هنوز هیچ کسی در دنیا نمیتونه ادعا کنه که من کامل بحث امنیت رو میدونم.
حتی واسه اینکه کارمون رو راحت کنیم.میگیم مثلا lve و کلود لینوکس مینصبیم.اصلا ساختار کلودلینوکس چطوریه؟یعنی اگه کلودلینوکس نباشه نمیتونیم جلوشو بگیریم؟چرا باید لقمه آماده بهمون بدن؟
ما باید خودمون راهشو بدونیم.
واسه کنترل پنل دایرکت ادمین,8 ماه فقط 24 ساعته تست میکردم و کار میکردم که فقط بتونم کانفیگ کامل امنیتی مربوط به این کنترل پنل حالا با هر روشی که کمپایل شده,رو کامل بدونم که وقتی گشتم,اول فکر میکردم امنیت این چیزایی هستش که چک لیست میدن یا دیزیبل فانکشن و ... هستش.اما بخدا امنیت این نیست.وقتی تونستیم همگی با کمک هم کاری کنیم که بدون کلادلینوکس یا اینطور سرویس ها,جلوی حملات رو بگیریم,اون موقع میتونیم بگیم امنیت کاریم.
خوشحال میشیم دوستان دیگر هم شرکت کنند.
بنده میگم وقتی محدودیت ها ، قابل bypass هستن‌، پس چرا ازشون استفاده کنیم ؟ اسکرپیت های تحت python , perl هم هستن که ممکنه کاربری بخواد ازشون استفاده کنه.
کلود لینوکس باتوجه به امکانات و امنیتی که داره بهترین و اسون ترین راه هست برای ایمن و پایدار نگه داشتن سرور. مدیر سرور کافیه ۵۰ تومان ماهیانه بابت لایسنس کلود لینوکس بده و خیال خودش و کاربرانش راحت باشه. چه از نظر امنیت و چه از نظر پایداری(تاحدودی)

اگر شما روشی برای ایمن سازی بدون اعمال محدودیت دارید ، همه ی ما دوست داریم روشتون رو یاد بگیریم. البته اگر قصد انتشارش رو داشته باشید.
این مورد chown هم واقعا درسته و اگه درست انجام نشه ، هر کسی میتونه کل فایل های دیگران رو ببینه.

Yas-Host
April 11th, 2016, 19:32
سلام و درود.
اول گفتین که :




که کاملا درسته و تجربه خوبی داشتین.حرفتون تایید میشه
اما این گفته :






بله.کلا این تاپیک بحث امنیت هستش که داریم در رابطه با اون صحبت میکنیم.فکر نکنید.مطمون باشید که هدف بالابردن سطح امنیت هستش.
نگاه کنید,زمانی که ما میگیم یکی به سرور یا هاست ما نفوذ کرده,اول باید ببینیم از کجا نفوذ کرده.خوب وقتی نفوذ و روش هاشو بدوندی,میتونید تا حدود خیلی خوبی جلوی این حملات رو گرفت.پرل و پایتون که کلا برای اجرای فرامین و همچنین دسترسی شل و اجرا شدن اسکریپت ها و شل ها و .... مربوط به این هاست و حتی با استفاده از این پرل و پایتون و .... به صورت لوکال میشه ضربه بدی به سرور زد.خوب راه حل چیه؟الان گفتیم.لازم نداریم نصب نکنیم.لازم داریم نصب کنیم اما پرمیشن روت بهش بدیم و سطح دسترسی فقط برای روت باشه.
یک مشکلی که من زیاد دیدم,chown ها هستش.
با یک کانفیگ بسیار اشتباه,بعضی ها کلا میان chown هارو کلا روت میکنن یا یک یوزر دیگه..خوب معلومه راحت میشه حتی با یک اسکریپت که هیچ اسکنری جلوشو نمیگیره,کل کانفیگ هارو ذخیره کرد.حالا شما cxs نصب کن یا هر چیزی.یا بگو سرورم شل احرا نمیکنه.
بیشترین ضعفی که ما داریم اینه که اصولی عمل نمیکنیم و توقع داریم امنیت خوب باشه.ما برای هر سروری,یک کانفیگی انجام میدیم.یکی رو دیده بودم برای دایرکت ادمین کانفیگ سی پنل زده بود.یا یک چیزی رو ما میریم از سایت ها پیدا میکنیم و میزنیم.بعد توی سایت هامون میزنیم امنیت سرور,به صورت یکبار 7000000000000 ت همراه با یک هفته تست.
امنیت فراتر از این آموزش و این روش هاست که هنوز هیچ کسی در دنیا نمیتونه ادعا کنه که من کامل بحث امنیت رو میدونم.
حتی واسه اینکه کارمون رو راحت کنیم.میگیم مثلا lve و کلود لینوکس مینصبیم.اصلا ساختار کلودلینوکس چطوریه؟یعنی اگه کلودلینوکس نباشه نمیتونیم جلوشو بگیریم؟چرا باید لقمه آماده بهمون بدن؟
ما باید خودمون راهشو بدونیم.
واسه کنترل پنل دایرکت ادمین,8 ماه فقط 24 ساعته تست میکردم و کار میکردم که فقط بتونم کانفیگ کامل امنیتی مربوط به این کنترل پنل حالا با هر روشی که کمپایل شده,رو کامل بدونم که وقتی گشتم,اول فکر میکردم امنیت این چیزایی هستش که چک لیست میدن یا دیزیبل فانکشن و ... هستش.اما بخدا امنیت این نیست.وقتی تونستیم همگی با کمک هم کاری کنیم که بدون کلادلینوکس یا اینطور سرویس ها,جلوی حملات رو بگیریم,اون موقع میتونیم بگیم امنیت کاریم.
خوشحال میشیم دوستان دیگر هم شرکت کنند.




در ابتدا یک پیشنهاد به شما می دهم.


جملات خود را پشت سر هم در تاپیک ها ننویسید. یک نظم بهشون بدید و یک فاصله و ... تقریبا بنده تا به جملات شما میرسم skip میکنم و میرم به پاسخ بعد!


آیا شما راهی برای عدم استفاده از کلاد لینوکس دارید؟ وب سرور را امن کنید از طریق php نفوذ خواهند کرد . php را امن کنید از طریق python/perl/cgi نفوذ خواهند کرد . python/perl/cgi را امن کنید از طریق کرنل نفوذ خواهند کرد. کرنل را patch کنید از طریق های دیگر ...! حتی در کلاد لینوکس و دیوار امنیتی cagefs باگ های زیادی غیر قابل پیش بینی هست.!


1- بستن فانکشن های زیر:




http://paste.ubuntu.com/15760579/



2- تعریف Open_basedir با مقدار زیر:




http://paste.ubuntu.com/15760584/





3- غیرفعال سازی Follow SymLinks در apache configuration و تعریف آن در یکی از include file های httpd.conf:




http://paste.ubuntu.com/15760591/



4- فعال سازی mod_security و استفاده از قابلیت شناسایی فانکشن های خطرناک و شل های معروف در هنگام اجرا در آدرس ها


5- محدودیت در سطح دسترسی فایل های زیر:




http://paste.ubuntu.com/15760596/



همچنین در کران اجرا کنید چون بعضی برنامه ها بصورت خودکار اقدام به تغییر سطح دسترسی به 701 می کنند .


6- تعریف function های خطرناک نیز در suhosin برای عدم اجرا شدن بیشتر شل ها (90درصد!!) : در suhosin.executor.func.blacklist

همچنین دوستان عزیز لطفا به جای حرف های 5 سطری اگر دانشی دارند به اشتراک بگذارند.


موفق و پیروز.

farsistar
April 22nd, 2016, 13:06
با اجرای دستور chmod 700 /usr/bin/perl پلاگین csf در دایرکت ادمین به مشکل بر می خورد
ظاهرا با اجرای این دستور پلاگین هایی که از perl استفاده می کنند نمی توانند اجرا شوند (کنترل پنل دایرکت ادمین)
پ.ن : سطح دسترسی پیشفرض 755 برای این سرویس مناسب است

IrIsT
April 23rd, 2016, 02:58
با اجرای دستور chmod 700 /usr/bin/perl پلاگین csf در دایرکت ادمین به مشکل بر می خورد
ظاهرا با اجرای این دستور پلاگین هایی که از perl استفاده می کنند نمی توانند اجرا شوند (کنترل پنل دایرکت ادمین)
پ.ن : سطح دسترسی پیشفرض 755 برای این سرویس مناسب است

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