امنیت لینوکس

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


بعضی از فانکشن ها بر روی سرور باید Disable شوند, این کار جلوی شل هایی که از این فانکشن ها استفاده میکنند را میگیرد
برای این کار دستور زیر را در SSH وارد کنید

nano /usr/local/lib/php.ini

سپس کلید های ترکیبی CTRL+W را فشار دهید(مثل همان CTRL+F یا find در Notepad) و عبارت مقابل را در صفحه جستجو کنید

disable_functions

کد:

disable_functions = ""

 

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

fpassthru,show_source,crack_check,crack_closedict,crack_getlastmessage,crack_opendict,psockopen,proc_open,proc_nice,proc_terminate,proc_get_status,proc_close,system,dl,ctrl_dir,tmp,systemroot,server_software,get_current_user,HTTP_HOST,php_uname,ini_restore,popen,pclose,exec,shell_exec,suExec,passthru,apache_child_terminate,pfsockopen,leak,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,escapeshellcmd,escapeshellarg,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,posix_access,posix_get_last_error,posix_getppid,posix_mknod,posix_strerror,posix_access,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,php_ini_scanned_files,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_initgroups,posix_isatty,posix_kill,posix_mkfifo,posix_mknod,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,symlink,allow_url_fopen

 

دقت کنید تا فانکشن ها دقیقا مثل تصویر زیر وارد شوند
امنیت لینوکس
ممکن است این فانکشن ها در برخی از CMS ها مشکلاتی ایجاد کند ! در صورت بروز هر گونه ممکن میتوانید فانکشن مورد نظر را از این لیست حذف کنید
طبق توصیه CSF بستن فانکشن های زیر نیز کفایت میکند
کد:

show_source,system,shell_exec,passthru,exec,phpinfo,popen,proc_open,allow_url_fopen

 

بعد از کپی کردن فانکشن ها کلید های ترکیبی CTRL+X را فشار دهید و فایل را ذخیره کنید

فانکشن ها در PHP.ini اصلی سرور غیر فعال شدند ولی به صورت پیشفرض هر کاربر میتواند برای خود فایل php.ini بسازد و بدون اینکه هیچ یک از این فانکشن ها برایش غیر فعال باشد از شل خود استفاده کند
پس ما باید کاری کنیم که تنها PHP.ini که در سرور استفاده میشود همینی باشد که ما کانفیگش کردیم

خصوصی کردن PHP.ini
کد:

nano /usr/local/apache/conf/includes/pre_main_global.conf

 

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

suPHP_ConfigPath /usr/local/lib/

کد:

nano /opt/suphp/etc/suphp.conf

 

فایل بالا را ویرایش کنید و ; های اول خطوط زیر را بردارید
کد:

application/x-httpd-php=/usr/local/lib/
application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/

 

در نهایت هم آپاچی را با دستور زیر ری استارت کنید

service httpd restart

 

مرحله بعدی نصب آنتی ویروس ClamAV هست
دستور ها
کد:

cd /etc/yum.repos.d
wget http://www.linuxmail.info/files/dag-clamav.repo
yum clean all
yum -y install clamav clamav-devel clamd
/etc/init.d/clamd restart
/scripts/upcp --force

 

دستور /scripts/upcp –force فقط مربوط به کاربرانی هست که از Cpanel استفاده میکنند
برای اسکن فایل ها توسط ClamAV میتوانید از دستور های زیر استفاده کنید
کد:

cd /home
clamscan -vr

 

مرحله بعدی روشن کردن SafeMode هست
از دیدگاه خیلی از افراد SafeMode در هاستینگ عمومی مشکلاتی ایجاد میکنه
من منکر این حرف نیستم ! ولی معمولا از هر ۵۰ سایتی که میزبانی میکنی یکی دو مورد مشکل دارن که قطعا! قطعا! امنیت ارزش بیشتر از یکی دوتا کاربر هست
برای روشن کردن SafeMode فایل زیر را ویرایش کنید , عبارت safe_mode را در صفحه پیدا کنید و مقدار آن را به On تغییر دهید

nano /usr/local/lib/php.ini

 

مرحله بعدی غیر فعال کردن PHP4 هست
یکی از دوستان سرورش رو جهت تست در اختیار بنده قرار داد با php5 هیچکار نتوانستم انجام دهم ولی در PHP4 براحتی توانستم method های امنیتی را bypass کنم
جدیدا php4 اصلا استفاده نمیشه و فقط هاستینگ های قدیمی برای سایت های قدیمیشون از این نسخه در کنار php5 استفاده میکنند

مرحله آخر هم خرید لایسنس و استفاده از LiteSpeed Load Balancer هست
بطور مثال شل اجرا میشه ولی هر کاری میخواد بکنه ارور ۴۰۳ و.. میگیره
البته LiteSpeed Load Balancer در کارایی سرور هم نقش بسزایی داره و استفاده اصلیش برای اون هست