امن کردن لینوکس

درود
اقدامات زیر تا حد زیادی جلوی اجرای اسکریپت های مخرب 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

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

کد:
<IfModule mod_suphp.c>
<Location />
suPHP_ConfigPath /usr/local/lib/
</Location>
</IfModule>
کد:
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 در هاستینگ عمومی مشکلاتی ایجاد میکنه
من منکر این حرف نیستم ! ولی معمولا از هر 50 سایتی که میزبانی میکنی یکی دو مورد مشکل دارن که قطعا! قطعا! امنیت ارزش بیشتر از یکی دوتا کاربر هست
برای روشن کردن SafeMode فایل زیر را ویرایش کنید , عبارت safe_mode را در صفحه پیدا کنید و مقدار آن را به On تغییر دهید
nano /usr/local/lib/php.ini

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

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

  • 1 کاربر این مقاله را مفید می دانند
آیا این پاسخ مفید بود؟

مقالات مرتبط

اموزش تصویری فعال کردن ssh در سرور اختصاصی vmware

امروز شرکت سرو ای تی اموزش تصویری فعال کردن ssh در vmwareرا تدارک دیده امیدوارم استفاده کافی را...

چگونه ÷سورد خود را در vmware تغیر بدیم

Local users and groups روی کاربر root کلیک راست کنید. EDIT گزینه change password رو فعال...

آموزش رجیستر کردن vmware esxi با سریال نامبر(آموزش قرار دادن سریال نامبر)

VMWARE ESXi +4 nf64r-0y042-m8eg9-3325k-83a2d Hv69k-dy28j-h8061-932zk-0ak68 VMWARE ESXi +5...

آموزش نصب وارنیش کش Varnish Cache روی سرور مجازی

سیستم کش وارنیش یا Varnish Cache یک شتاب دهنده و سریع کننده برنامه ها و وب سایت های مبتنی...

آموزش نصب کش Memcached در لینوکس

مکش یا Memcached یک سیستم کش بسیار قوی و پیشرفته است که اشیاء و کوئری های دیتابیس را در...