Categories

Новые шаблоны

Защитите Ваш osCommerce магазин!

Chris Diaz Октябрь 31, 2011
Rating: 4.2. From 5 votes.
Please wait...

Вопрос безопасности всегда был одним из самых важных для владельцев интернет-магазинов. В этой статье мы покажем некоторые способы повышения безопасности магазина на платформе osCommerce 2.2 и способы защиты посетителей магазина.

Сама платформа OsCommerce 2,2 имеет ряд уязвимостей. Очень важно исправить их, прежде чем ими воспользуются "недоброжелатели". Платформа OsCommerce является продуктом с открытым исходным кодом и тысячи разработчиков упорно трудятся, чтобы предложить Вам дополнения, которые помогут расширить функциональность Вашего магазина, добавляя новые функции и возможности. Но где гарантии того, что установка сторонних дополнений не повысит уровень уязвимостей Вашего магазина?

Начнем с элементарных вещей.

Удаление установочной директории.

После установки интернет-магазина osCommerce Вы можете увидеть предупредительные сообщения в верхней части страницы. Одно из них гласит о необходимости удаления директории "Install" из соображений безопасности:

Удалите инсталляционную директорию: …/install. Это необходимо для обеспечения безопасности.

Здесь Вы можете использовать 2 варианта:

  • Удалить директорию "install" из папки osCommerce на Вашем веб-сервере (рекомендуется);
  • Переименовать директорию "install" (к примеру, install_123);

Установка прав доступа

Два других предупреждения связаны с правильными правами доступа CHMOD для файлов конфигурации. Руководство о том, как решить эту проблему можно найти здесь.

Обратите внимание, что права доступа CHMOD для других директорий не должны быть больше, чем 755. Если хостинг-провайдер требует использования прав доступа 777 , то время подумать о смене своего хостинга.

Защита панели управления

На данный момент возможно сделать это двумя способами:

  • переименуйте папку admin;
  • добавьте защиту .htaccess в переименованную папку.

Переименование папки admin всегда было хорошей мерой предосторожности, однако об этом никогда не сообщалось во время установки. После переименования admin папки каталога, Вам придется изменить две строки в файле переменовання_admin_папка/includes/configure.php:

	define('DIR_WS_ADMIN', '/renamed_admin_directory/');
	define('DIR_FS_ADMIN', '/your/path/to/directory/renamed_admin_directory/');

Для установки пароля на папку admin вы можете использовать функцию защиты паролем в Вашей панели управления хостингом. Пожалуйста, свяжитесь с Вашим хостинг-провайдером для более подробной информации.

Удаление Файлового Менеджера

Давно известно, что файловый менеджер является угрозой для безопасности и должен быть удалён. Использование файлового менеджера для редактирования сайта может привести к повреждению некоторых файлов. Исходя из этого, пользоваться им не рекомендуется, и что еще хуже, сейчас существует очень неприятный "хак", который использует файловый менеджер, чтобы получить доступ к Вашему сайту.

Чтобы удалить файловый менеджер выполните следующие действия:

  1. Откройте главный каталог файлов osCommerce и удалите файл "file_manager.php" из директории catalog/admin.
  2. Также откройте файл «admin/includes/boxes/tools.php» и удалите следующую строку:
    			'<a href="' . tep_href_link(FILENAME_FILE_MANAGER) . '" class="menuBoxContentLink">' . BOX_TOOLS_FILE_MANAGER . '</a><br>' .
    		
  3. Известно также, что файл "admin/define_language.php" является уязвимым к тем же "хакам", что и файловый менеджер. Настоятельно рекомендуется удалить файл.

Защита форм

Дополнение Security Pro очищает строку запроса, однако любая форма которая использует значение $ _POST останется нетронутой. Если Вы используете какие-либо post method формы, рекомендуется сделать следующее на страницах, использующих значение переменной $ _POST.

Откройте файл, который использует post method форму и после строки:

	require('includes/application_top.php');

добавьте следующее:

	// clean posted vars
reset($_POST);
          while (list($key, $value) = each($_POST)) {
                   if (!is_array($_POST[$key])) {
                          $_POST[$key] = preg_replace("/[^ a-zA-Z0-9@%:{}_.-]/i", "", urldecode($_POST[$key]));
                } else { unset($_POST[$key]); } // no arrays expected 
          }

Предотвращение хакерсих атак

Дополнение Security Pro

Основной целью является предотвращение любой вредоносной атаки на интернет-магазин osCommerce через уязвимость в строке запроса ($ _GET / $ HTTP_GET_VARS). Security Pro — это ценное дополнение для osCommerce 2.2 и 2.3.

Про дополнение (информация взята из инструкций к Security Pro)

Первый Pro Security был написан еще в марте 2008 года, когда стало известно, что магазины на платформе osCommerce были взломаны через строку запроса. Проблема остается актуальной даже в новой osCommerce 2.3.x версии. Целью Security Pro не является исправление кодировки osCommerce, основной целью являются тысячи сторонних дополнений, которые, как правило, плохо написаны.

Security Pro использует новый код, но концепция остается прежней… С установленным дополнением Security Pro становится невозможно осуществить вредоносный запрос через строку запроса, пока страницы интернет-магазина osCommerce загружают application_top.php.

Дополнения XSS .htaccess на мой взгляд, являются бесполезными, так как они осуществляют лишь ничтожную часть того, что делает Security Pro. Единственное полезное, что я мог увидеть, это REQUEST_METHOD и TRACE|TRACK.

Концепция проста, но эффективна. Это пустая трата времени — пытаться создать черный список огромного количества хакерских векторов, как пытаются сделать XSS-скрипты. Единственным выходом является белый список, и это то, что Security Pro делает очень хорошо.

Установка

Процедура установки быстрая и несложная, поэтому Вы не столкнётесь с какими-либо трудности.

  1. Скачайте пакет дополнений и разархивируйте файлы.
  2. Откройте скачанный пакет и перейдите к папке «upload > catalog». Поместите папку «includes» в корневую папку osCommerce. Папка содержит отдельный файл, её перемещение не навредит Вашему магазину.
  3. Перейдите к папке «catalog/includes» и откройте файл «application_top.php» .
  4. Используя инструмент поиска найдите линию:
    			if ($request_type == 'NONSSL') {
    		
    и добавьте следующую часть кода перед указанной выше линией:
    				// Security Pro by FWR Media
    				include_once DIR_WS_MODULES . 'fwr_media_security_pro.php';
    				$security_pro = new Fwr_Media_Security_Pro;
    				// If you need to exclude a file from cleansing then you can add it like below
    				//$security_pro->addExclusion( 'some_file.php' );
    				$security_pro->cleanse( $PHP_SELF );
    				// End - Security Pro by FWR Media
    		

Вот и всё. Установка завершена.

Как проверить работу данного дополнения?

Вы выполнили некоторые модификации в файле и загрузили дополнительный файл на веб-сервер. Наверняка Вы хотите проверить работу дополнения. Для проверки следует открыть страницу расширенного поиска или использовать окно поиска. В поле ввода вставьте следующий набор символов: [w](o)%3Cr%3Ek|i*n^g. Запустите поиск. По завершению поисковый запрос должен выдать слово: "working".

Контролирование сайта для выявления несанкционированных изменений

Мониторинг Сайта

Это дополнение будет создавать запись ваших файлов таким образом, что Вы сможете следить за любым их изменением. Если какие-либо файлы были удалены либо добавлены, если был изменён размер, метка или разрешение файла, Вы получите уведомление по электронной почте.

Дополнение совместимо с версиями платформы osCommerce 2.2 и 2.3 .

Установка

  1. Скачайте пакет дополнений и разархивируйте файлы.
  2. В зависимости от версии платформы, откройте папку oscommercce_2.3 или oscommerce_MS2_or_RC2 и скопируйте директорию admin в корневой каталог osCommerce. Будут перезаписаны лишь те файлы, которые связаны с этим дополнением.
  3. Откройте файл admin/includes/languages/english.php и добавьте следующую часть кода перед закрывающим тэгом ?> :
    			// sitemonitor text in includes/boxes/sitemonitor.php
    			define('BOX_HEADING_SITEMONITOR', 'SiteMonitor');
    			define('BOX_SITEMONITOR_ADMIN', 'Admin');
    			define('BOX_SITEMONITOR_CONFIG_SETUP', 'Configure');
    			define('IMAGE_EXCLUDE', 'Exclude');
    		
  4. Также следует отредактировать файл «admin/includes/filenames.php» . Добавьте следующую часть кода перед закрывающим тэгом ?> :
    			define('FILENAME_SITEMONITOR_ADMIN', 'sitemonitor_admin.php');
    			define('FILENAME_SITEMONITOR_CONFIG_SETUP', 'sitemonitor_configure_setup.php');
    			define('FILENAME_SITEMONITOR_CONFIGURE', 'sitemonitor_configure.txt');
    		
  5. В файле «admin/includes/column_left.php» нужно также добавить следующую часть кода перед закрывающим тэгом ?> :
    			require(DIR_WS_BOXES . 'sitemonitor.php');
    		
    для osCommerce 2.2 и
    			include(DIR_WS_BOXES . 'sitemonitor.php');
    		
    для osCommerce 2.3
  6. Откройте панель управления osCommerce и перейдите к меню admin->Sitemonitor->Configure. Здесь можно настроить дополнение в соответствии с Вашими потребностями.
  7. Для получения дополнительной информации о настройке дополнения проверьте файл readme.txt , который находится внутри пакета.

Блокировка несанкционированного доступа с ловушкой для IP

Защита сайта с помощью ловушки для IP

Дополнение работает путём создания ловушки в определённой папке, на которую могут натолкнуться только программы-вредители или злоумышленники (хакеры обычно используют файл Robots.txt, чтобы найти уязвимые файлы на сервере). После посещения данной папки злоумышленник будет заблокирован, его IP-адрес записывается в одном из файлов на Вашем сервере. Дальнейшие попытки злоумышленника навредить Вашему сайту будут тщетными, поскольку теперь сайт для него заблокирован.

Установка

  1. Скачайте пакет дополнений и разархивируйте файлы.
  2. Откройте скачанный пакет и перейдите к папке«catalog».
  3. Поместите все файлы и папки в корневой каталог osCommerce на Вашем сервере.
  4. Откройте файл «personal/index.php» и замените стандартный адрес электронной почты Вашим собственным на линии:
    			$emailad = 'you@yoursite.com';
    		
    убедитесь, что адрес записан в кавычках.
  5. Откройте файл «includes/application_top.php» и найдите линии:
    			// include the list of project filenames
    			require(DIR_WS_INCLUDES . 'filenames.php');
    		
    добавьте следующую часть кода после вышеуказанных линий:
    			// IP Trap V5
    			include(DIR_WS_INCLUDES . 'secret.php'); 
    		
  6. Вот и всё. Установка завершена.

Для получения дополнительной информации о настройке дополнения проверьте файл install.txt , который находится внутри пакета.

Защита Htaccess

Защита сайта с помощью файла .htaccess

Это дополнение содержит скрипты, которые помогут защитить Ваш сайт используя файл Htaccess. Это сбор скриптов для файла .htaccess, которые помогут защитить Вас от злоумышленников. Подвергаясь массовым атакам, этот файл блокирует много программ-роботов, в частности библиотека libwww-perl, которая будет контролировать весь диапазон частот. Файл .htaccess не может быть использован на сервере Windows.

  1. Скачайте пакет дополнений и разархивируйте файлы.
  2. Откройте файл htaccess_protection.html в окне вашего браузера и используйте скрипты htaccess, их необходимо добавить в файл .htaccess который находится в корневом каталоге osCommerce на Вашем сервере.

Использование скриптов .htaccess требует специальных навыков, за неимением таковых, пожалуйста, сделайте резервную копию файла .htaccess перед выполнением любых изменений.

Эта запись была размещена в OsCommerce туториалы и помечена как osCommerce, security. Добавьте в закладки постоянную ссылку.

Submit a ticket

Если вы не смогли найти подходящее решение проблемы, пожалуйста воспользуйтесь следующей ссылкой, чтобы отправить запрос команде технической поддержки.
Отправить запросВы получите ответ в течение 24 часов

Чат
We help you to choose the right product.