Наглухо закрываем доступ к админке в Interspire Shopping Cart

shopmaster 31 Май, 2010 11:56 Безопасность Постоянная ссылка Трекбэки (0)

Статья Шопмастера о защите административного раздела Интернет-магазинов

Админки магазинов открыты для нессанкционированого доступа

Практически во всех современных интернет-магазинах существует возможность неавторизованного входа в административную панель управления.

В этом посте я расскажу, как наглухо закрыть такой доступ в Интернет-магазине, работающем на движке Interspire Shopping Cart.

Однко, это вовсе не значит, что ISC такой дырявый, и его надо избегать.

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

То же относится и к подавляющему большинству других магазинов. Связано это не с какими-то конкретными дырами, а, скорее, с психологией, с тем, как работают мозги у программистов.

 

Не буду описывать, как именно осуществляется проникновение, дабы не возбуждать нездоровый ажотаж многочисленной орды пионЭров, и не провоцировать ненужную суету вокруг действующих Интернет-магазинов.

Давайте лучше на примере Interspire Shopping Cart посмотрим, чем грозит проникновение в магазин злоумышленника, и зачем оно кому-то вообще может быть нужно.

Зачем проникать в чужой магазин

Ну, во-первых, незаконно проникший в панель управления магазином злоумышленник получает доступ ко всей информации, доступной администратору магазина.

Звучит ужасающе, но на деле, мне кажется, ничего особо страшного.

В случае с Interspire Shopping Cart первое, что может интересовать интрудера - системная информация: пути на сервере, название и доступ к базе данных, и тому подобное.

Да, он получает эту информацию, если включен ее вывод администратору.

Но реально использовать ее практически невозможно. При правильной настройке сервера, логин/пароль на доступ к базе данных работают только непосредственно на том сервере, где установлен магазин (то есть на localhost), и удаленно достучаться к базе не получится. Информация о путях на сервере может быть использована для получения доступа к файлам, но опять же при правильной настройке сервера (в частности, имеется в виду невозможность доступа к папкам через соседей, имеющих сайты на том же хостинге) использовать полученную информацию не удастся.

Что же остается?

Цифровые товары

А остается тоже не мало. Остается доступ к товарам. Если магазин продает цифровые товары, то можно их все умыкнуть (например, чтобы выложить на файлообменниках). Собственно, именно желание получить файлы цифровых товаров, послужило причиной попыток проникновения в панель управления Магазина Блогмастеров http://www.BlogMasters.ru/shop, и инициировало написание этого материала. Цифровые товары могут быть редкими, дорогим, ценными, и какими угодно еще.

База товаров

Немалый интерес могут представлять база данных товаров и изображения товара. Базу данных можно "слить", и использовать в другом магазине, своем, или клиентском, или просто впарить кому-нибудь. При наличии 50-100.000 товарных позиций это может представлять большой интерес, и сэкономить уйму времени.

Клиенты

Далее - информация о клиентах. Кредитная информация обычно в магазинах не хранится, так что умыкнуть номера кредиток не получится. Но можно получить базу данных по клиентам с адресами физическими и адресами электронной почты. По последним при случае можно и спам разослать. А в целом, такая база представляет собой довольно большую ценность, потому что в ней представлены люди, склонные к совершению покупок в Интернете, то есть те, кому потенциально проще продать товар в онлайне. Эффективность работы по такой базе в разы превышает всевозможные "холодные звонки", сканирование адресных справочников, и другие методы. В Штатах это отдельный многомиллионный бизнес. У нас дела обстоят иначе, но и тут можно найти пути получения выгоды от такой информации.

Ваши экаунты в других системах

Следующее, что можно выудить, получив нессанкционированный доступ к панели управления магазином - параметры настроек различных модулей: оплаты, доставки, оповещения. И потом попытаться взломать ваши экаунты в других системах - тех же Вэбманях, или системе рассылки уведомлений через SMS о поступлении новых заказов. И попытаться стырить ваши виртуальные денюжки, или воспользоваться вашими оплаченными кредитами в различных системах в свою пользу.

Вандализм

Ну, и последнее, что может сделать злоумышленник - напакостить в админке через замену текстов на страницах, установление ссылок на другие ресурсы, и т.д.

Последнее, кстати, чрезвычайно маловероятно, потому что если подобное проникновение было осуществлено, то сделал это профессионал, а не какой-то пионЭр, а профессионал таких следов оставлять не станет.

Давайте же посмотрим, как можно защититься от всего описанного выше.

Защита панели управления Интернет-магазина (Административной панели) от несанкционированного проникновения на примере Interspire Shopping Cart

Первое, что вы можете сделать, это отключить вывод системной информации о сервере в панель управления Интернет-магазином.

Для этого откройте файл /admin/includes/whitelabel.php, и убедитесь, что строка 114 выглядит следующим образом:

 

$GLOBALS['ISC_CFG']['DisableSystemInfo'] = true;

 

Не даю здесь конфигурационный файл для загрузки, поскольку индивидуальные настройки в моем магазине могут отличаться от ваших, причем значительно. Поэтому просто откройте файл конфигурации /admin/includes/whitelabel.php в текстовом редакторе, и исправьте строку 114, если это необходимо.

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

Второе - замена используемого по умолчанию логина администратора.

В магазине PrestaShop, например, сразу после установки административная папка переименовывается, что усложняет поиск файлов панели управления магазином. То же можно сделать в Viart Shopping Cart. В случае Interspire Shopping Cart сделать это без ущерба для функционирования невозможно.

Кроме того, при установке используется стандартное имя суперадминистратора "admin", что не очень хорошо.

Давайте поменяем его.

Для этого нужно войти в базу данных, найти таблицу isc_users (она, скорее всего, будет 5 снизу), теперь находим первую запись в таблице, открываем на редактирование, и заменяем "admin" на то, что вам больше нравится, например "vasyapupkin". Сохраняем, и закрываем соединение с базой данных.

(Доступ к базе данных можно использовать любой, обычно для этого используется программа phpMyAdmin. Вы можете использовать то, чем привыкли пользоваться.)

Ранее в блоге Шопмастера http://shopmaster.blogmasters.ru сообщества Блогмастеров www.BlogMasters.ru уже рассматривался вопрос запрещения нессанкционированого доступа к языковым файлам локализации (см. этот пост: Магазин ISC: Новая версия, старые дыры: ОБНОВЛЯЕМСЯ!).

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

Если хотите, можете скачать оба этих файла из моего блога http://shopmaster.blogmasters.ru по этой ссылке:

Файлы .htaccess и .htpasswd

По поводу того, куда эти файлы поместить, я скажу чуть позже.

Оба файла - обыкновенные текстовые файлы, которые можно отредактировать в текстовом редакторе. Важно то, что в них написано.

Для работы с файлом паролей вам потребуется дополнительная программа для кодирования паролей.

Можно воспользоваться, например этой, по ссылке с сервера Letitbit:

Htpasswd.Generator.Professional.v3.0

Все, что вам нужно от этой программы - закодированный пароль.

Сейчас в интернете существует много сайтов, на которых можно сгенерировать логин и пароль для файла .htpasswd, это обычно бывает и быстрее и проще, чем запускать генератор паролей локально.

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

4WebHelp's online .htpasswd encryption tool

Alterlinks .htaccess password generator

htmlite's htpasswd encryption page

Вам предложат ввести логин, затем пароль, затем повторить пароль, после чего следует нажать на кнопку генерации строки для файла .htpasswd.

Можно также просто сгенерировать закодированный пароль, например, воспользовавшись этой Веб-страницей:

Онлайн кодирование паролей

Получив закодированный пароль, вставляете его в файл .htpasswd в виде логин-двоеточие-пароль, например:

vasyapupkin:1Hd7C4D8rg==

Здесь использовался логин "vasyapupkin", и пароль "1234567".

Теперь кладете оба эти файла на сервер в папку "admin".

Если ваши навыки работы с серверами ограничены, можно на этом остановиться (надо только отредактировать путь к файлу паролей в .htacess, в 5 строке снизу, аналогично тому, как это описано ниже). Однако, это будет неправильно, поскольку файл с паролями должен находиться за пределами тех папок на сервере, к которым открыт доступ из Интернета.

Если вы можете перенести файл .htpasswd в папку, расположенную выше public_html (или "doc", или другую корневую папку вашего сервера), то непременно сделайте это.

Расположение папок на сервере индивидуально для вашего сервера, примерный путь к файлу должен выглядеть вроде этого:

/home/vasyapupkin/.htpasswd

Этот так называемый "абсолютный" путь на сервере вам также нужен для внесения изменений в файл .htaccess.

Если вы перенесли файл .htpasswd, то впишите этот путь к файлу в файле .htaccess. В результате текст файла будет выглядеть вроде этого:

 

<Files .htaccess> deny from all </Files>

<Files .htpasswd> deny from all </Files>

AuthUserFile /home/vasyapupkin/public_html/admin/.htpasswd
AuthName "This is the area for administrators and vendors only! Please provide your access information here."
AuthType Basic
Require valid-user
ErrorDocument 401 "<meta http-equiv=refresh content=0;URL=http://www.blogmasters.ru/shop>"

 

Здесь в 5 снизу строке указан путь к файлу паролей. В 4-й снизу строке идет запись, которая будет показана пользователям при попытке обращения к защищенной папке; текст должен быть записан латиницей, иначе не прочитается. В данном случае надпись на английском языке поясняет, что к данному разделу доступ разрешено только администраторам и продавцам магазина. Можете использовать эту надпись, если хотите. Последняя строка осуществляет переход пользователя по указанному в ней УРЛ, если введены неверный логин или пароль. Для примера, переход осуществляется на страницу Магазина Блогмастеров http://www.blogmasters.ru/shop, поменяйте этот адрес на тот, который нужен вам, указав либо титульную страницу своего магазина, либо страницу, на которой приведено описание, почему осуществлен переход на нее (неверный ввод логина или пароля).

Теперь, при обращении к адресу входа в административную панель магазина, система попросит ввести логин и пароль, в данном случае те, что вы указали в файле .htpasswd. При использовании файлов, выложенных в блоге Шопмастера http://shopmaster.blogmasters.ru для примера, нужно ввести логин "vasyapupkin" и пароль "1234567".

После того, как вы их введете, система откроет вам доступ к стандартной панели входа в административный раздел магазина.

Естественно, когда вы добавляете новых администраторов или продавцов в магазин, вам необходимо внести дополнительные записи в файл .htpasswd. Делается это просто: в тактовом редакторе дописываете в файл дополнительные строки все в том же формате логин-двоеточие-пароль, по одной записи на строку.

Это, безусловно, добавляет ручной работы, но совсем немного, особенно если учесть, что таким образом повышается безопасность вашей системы.

Заключение

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

Как всегда, оставляйте свои вопросы, запросы и замечания в блоге Шопмастера http://shipmaster.blogmasters.ru Сообщества Блогмастеров www.BlogMasters.ru, или присылайте на адрес электронной почты shopmaster@list.ru

Приятного и безопасного вам шоповодства!
Шопмастер


Закладки:These icons link to social bookmarking sites where readers can share and discover new web pages.
    blinkbits BlinkList blogmarks co.mments connotea del.icio.us De.lirio.us digg Fark feedmelinks Furl LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists YahooMyWeb ecto NewsGator

Комментарии


Добавить комментарий

Добавить комментарий
 authimage


Powered by BlogMasters.Ru