سلام به همه دوستانی که به این انجمن مراجعه میکنن. در این یکی دو سال اخر حفره های امنیتی متعددی در فروشگاه گزارش شده که راه نفوذ بسیاری از هکرها و علاقه مندان به این مسائل رو باز کرده و با هر بار حمله این گونه افراد ما در صدد رفع اون بودیم و من چندین بار روشها رو آموزش دادم. اما این بار میخوام یک روشی رو براتون آموزش بدم که بسیار مفید و قوی هست و سایت شما 99% صاحب امنیت میشه.
من برای یکی از دوستانمون نسخه نهایی فروشگاه ویرچو رو نصب کرده بودم و برحسب کنترل که چندی قبل وارد سایتش شدم دیدم که کلی فایل با پسوند php در فولدر images قرار دارند و حدود 60 فایل ویروسی رو حذف کردم که مجددا روز بعد ایجاد شدن. البته روش رمز گذاری بر پوشه مدیریت خیلی جواب میده و این کار رو حتما انجام بدهید. اما از سایت مرجع فروشگاه سازمون oscommerce اسکریپتی رو براتون پیشنهاد میدم که 99% امنیت سایتتون تضمین میشه . اول این فایل رو دانلود کنید : از
اینجا
فایل زیپ را باز کنید و محتویات فایل osc.php را طوری که میگم تغییر بدهید.
1) مقدار متغییر سطر 21 $httphost را به نام سایتتون تغییر بدهید مثلا :
$httphost = "www.netcloob.com";
2) مقدار متغییر سطر 38 را به
تغییر دهید.
3) مقدار متغییر سطر 49 را
تغییر دهید.
4) مقدار متغییر سطر 50 را به آدرس ایمیل خودتون تغییر دهید تا ایمیل های گزارش بهتون برسه !
5) مقدار متغییر سطر 51 رو هم یکی از آدرس ایمیلهای سایتتون مثلا مدیریت بزارید.
خوب این فایل رو ذخیره کنید و به همراه فایل osc_sec.php این فایلها رو در پوشه هایincludes
ریشه سایت و هم مدیریت کپی کنید.
6) فایل application_top.php را هم در ریشه و هم در مدیریت باز کنید و دنبال عبارت
require('includes/configure.php');
بگردید و این سطر رو زیر اون اضافه کنید.
require_once( DIR_FS_CATALOG . 'includes/osc_sec.php' );
7) سطر
if (!isset($PHP_SELF)) $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
را پیدا کنید و این اسکریپت رو با اون جایگزین کنید :
// set php_self in the local scope
if( !isset( $PHP_SELF ) ) {
if ( @phpversion() >= "5.0.0" && ( !ini_get("register_long_arrays" ) || @ini_get("register_long_arrays" ) == "0" || strtolower(@ini_get("register_long_arrays" ) ) == "off" ) ) $HTTP_SERVER_VARS = $_SERVER;
$PHP_SELF = ( ( ( strlen( ini_get('cgi.fix_pathinfo' ) ) > 0 ) && ( ( bool ) ini_get('cgi.fix_pathinfo' ) == false ) ) || !isset( $HTTP_SERVER_VARS['SCRIPT_NAME' ] ) ) ? basename( $HTTP_SERVER_VARS[ 'PHP_SELF' ] ) : basename( $HTTP_SERVER_VARS[ 'SCRIPT_NAME' ] );
}
این کار رو هم در فایل مدیریت و هم ریشه سایت انجام بدهید.
8) اگر کنترل پانل سایت شما دارای آنتی ویروس هست با اون فایلهای آلوده رو پاک کنید. پوشه های تصاویر و بقیه پوشه های های مشکوک رو کنترل کنید تا فایلی غیر عادی وجود نداشته باشد.
9) در پوشه images فایلی با نام
درست کنید این دستورات رو داخل اون قرار بدهید.
# $Id$
#
# This is used to restrict access to this folder to anything other
# than images
# Prevents any script files from being accessed from the images folder
<FilesMatch "\.(php([0-9]|s)?|s?p?html|cgi|txt|pl|exe)$">
Order Deny,Allow
Deny from all
</FilesMatch>
10) حتما به صورت مستمر نسخه نهایی این پچ امنیتی رو پیگیری کنید . از اینجا
دقت کنید که در هر بار دریافت نسخه جدید تنظیمات آموزش داده شده رو انجام دهید.
این وصله امنیتی به خوبی از شما در برابر حملات و نفوذهای هکرهای مختلف محافظت میکند و با هر بار حمله ایمیلی برای شما گزارش میکند. در ضمن آی پی حمله کننده را نیز بلوک میکند تا مهاجم خارجی و داخلی فرصت حمله مجدد نداشته باشد. در صورتی که گزارش حملات بهتون رسید در اینجا به ما خبر بدهید تا آماری بدست آوریم.
موفق باشید
دستمزد من فقط یه تشکر ساده در انجمن هست نه بیشتر - البته اعتبار هم چیز بدی نیست !!!!