Как повысить безопасность сайта электронной коммерции Magento

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

Благодаря огромной коллекции сторонних разработанных плагинов и тем, которые расширяют функциональность и дизайн по умолчанию, Magento развивается в WordPress индустрии электронной коммерции.

Тем не менее, растущая популярность Magento дает хакерам достаточно веские основания для нацеливания на эту платформу электронной коммерции.

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

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

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

1. Выберите надежный и безопасный пароль для учетной записи администратора Magento.

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

Убедитесь, что пароль администратора имеет длину не менее десяти случайных символов и включает цифры, прописные и строчные буквы и специальные символы (например, «q&tA;-Q&4′?> # 6»).

Удалите любые другие учетные записи, которые вы не используете.

Чем меньше у вас аккаунтов, тем меньше возможностей у хакеров.

2. Используйте зашифрованное соединение (SSL / HTTPS) для всех веб-страниц Magento

SSL — это безопасный протокол, который шифрует конфиденциальную информацию, такую ​​как учетные данные для входа, личную информацию и т. д, отправляемую из веб-браузера на веб-сервер.

Чтобы внедрить SSL на своем веб-сайте Magento, сначала получите сертификат SSL (например, от Let’s Encrypt).

Получив сертификат, настройте веб-сервер на прослушивание через порт 443 и включите SSL через серверную часть администрирования Magento.

Например, если вы используете Apache на сервере на основе Debian, создайте новый виртуальный хост:

 # vi /etc/apache2/sites-available/your-domain.com-ssl.conf 
Добавьте следующие строки:
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName your-domain.com
    DocumentRoot /var/www/html/magento/
    SSLEngine on 
    #Specify the path to your SSL certificate file:
    SSLCertificateFile /etc/apache2/ssl/your-domain.crt
    #Specify the path to private key file:
    SSLCertificateKeyFile /etc/apache2/ssl/your-domain.key
    #Specify the path to CA certificate:
    SSLCACertificateFile /etc/apache2/ssl/ca-bundle.crt
    <Directory /var/www/html/magento>
        Options -Indexes +FollowSymLinks +MultiViews
        Order allow,deny
        AllowOverride All
    </Directory>
    ErrorLog /var/log/apache2/ssl_error.log
    CustomLog /var/log/apache2/ssl_access.log combined
</VirtualHost>
</IfModule>
Включите модуль Apache mod_ssl:
# a2enmod ssl
Отключите виртуальный хост SSL по умолчанию и включите виртуальный хост your-domain.com-ssl.conf:
# a2dissite default-ssl
# a2ensite your-domain.com-ssl.conf 
Наконец, перезапустите Apache, чтобы изменения вступили в силу:
 # /etc/init.d/apache2 restart 
Войдите в административную часть Magento, затем перейдите в ‘System’ >> ‘Configuration’.
В меню слева под списком выбора «General» нажмите «Web».
На вкладке «Secure» замените «http» на «https» и установите «Use secure URLs in Frontend» и «Use secure URLs in Admin» на «Yes».
Не забудьте очистить кеш Magento и кеш вашего веб-браузера, а затем попробуйте зайти на ваш сайт с помощью https.
Если некоторые ваши посетители добавили ваш веб-сайт в закладки, используя http://your-domain.com, и вы хотите убедиться, что все запросы на http перенаправляются на https, вы можете добавить следующие строки в файл .htaccess, расположенный в корне вашего веб-сайта Magento (например, /var/www/html/magento/.htaccess):
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://your-domain.com/$1 [R=301,L]

3. Создайте пользовательский путь для входа в «админку»

URL администратора по умолчанию для Magento (например, yourstore.com/store/admin) может стать легкой целью для хакеров, пытающихся проникнуть в бэкэнд Magento с помощью атак методом перебора.

Чтобы предотвратить это, вы можете настроить путь администратора по умолчанию следующим образом.

Войдите на свой сервер через SSH как root.

Затем откройте файл «local.xml», расположенный в каталоге «/app/etc» вашей установки Magento (например, «/var/www/html/magento/app/etc/local.xml»), и найдите следующую строку :

<![CDATA[admin]]>

Замените «admin» на что-то более сложное, например «MyMagento123», или на то, что вы хотите, чтобы URL-адрес администратора был отличен от дефолтного.

Это изменит URL администратора на «yourstore.com/store/MyMagento123».

4. Белый список только утвержденных IP-адресов для доступа администратора

Помимо сокрытия URL-адреса администратора, как описано выше, вы можете ограничить доступ к URL-адресу администратора на уровне сети.

Другими словами, ограничьте доступ администратора только несколькими IP-адресами или блоками CIDR, которые вы явно одобрили.

Чтобы настроить белый список IP-адресов для Apache, добавьте следующую директиву LocationMatch в конфигурацию вашего виртуального хоста.

Обратите внимание, что «MyMagento123» — это пользовательская страница входа администратора, которую вы определили ранее.

<LocationMatch "MyMagento123">
Order Deny,Allow 
Deny from All 
Allow from 111.111.111.0/24
</LocationMatch>

Не забудьте перезапустить Apache после обновления белого списка.

Теперь вы сможете получить доступ к пользовательской странице входа администратора (yourstore.com/store/MyMagento123) только с указанного блока IP-адреса.

5. Укрепите права доступа к файлу вашего сайта Magento.

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

Для этого пользователь веб-сервера (www-data в Debian или apache в CentOS) должен иметь доступ к файлам и каталогам веб-сайта Magento в корневом каталоге документов веб-сайта Magento, поэтому для этого выполните следующую команду (в Debian):

 # chown www-data:www-data -R /var/www/html/magento 
Установите chmod 750 для каталогов и 640 для всех файлов веб-сайта, кроме каталогов «app/etc», «media» и «var», для которых требуется разрешение 770 (разрешения 770 дают полный контроль владельцу и группе, и никаких разрешений для кто-нибудь еще):
# find /var/www/html/magento -type f -print0 | xargs -r0 chmod 640
# find /var/www/html/magento -type d -print0 | xargs -r0 chmod 750
# chmod -R g+w /var/www/html/magento/{app/etc,media,var}

6. Используйте двухфакторную аутентификацию для доступа администратора

В отношении безопасности не существует такой вещи, как серебряная пуля.

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

Если включено расширение для двухфакторной аутентификации, вам потребуется предоставить одноразовый код безопасности, чтобы получить доступ к бэкэнду Magento.

Одноразовый код безопасности генерируется приложением Google Authenticator, установленным на вашем смартфоне, которым злоумышленник не обладает.

7. Используйте расширения Magento только из надежных источников.

Безопасность любой программной системы так же сильна, как и ее самое слабое звено.

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

Даже при наличии всех других средств защиты требуется только одна уязвимость одного плохо написанного расширения, чтобы сломать вашу систему Magento.

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

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

8. Обновляйте Magento на регулярной основе

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

Перед началом обновления Magento рекомендуется создать резервную копию файлов вашего веб-сайта Magento и его базы данных.

Чтобы узнать, какая версия Magento в настоящее время установлена на вашем веб-сайте, войдите на свой сервер через SSH как root, перейдите в корневой каталог документов вашего веб-сайта на основе Magento (например, ‘/ var / www / html / magento’) и запустите следующие команды:

# cd /var/www/html/magento
# php -r "include 'app/Mage.php'; echo 'Your Magento version is: ', Mage::getVersion(); " ; echo ""; 

Заключение

В этом руководстве мы обсудили лучшие методы обеспечения безопасности для сайтов электронной коммерции на платформе Magento.
Следуя этим рекомендациям, вы существенно улучшите безопасность своего веб-сайта Magento.
Существуют и другие методы, которые вы можете использовать за пределами конфигурации Magento для улучшения общей безопасности вашего сайта, например блокировка нежелательных IP-адресов или установка IDS, поэтому обязательно сделайте все, что сможете.
Как правило, лучше размещать интернет-магазин на VPS или выделенном сервере, чем на виртуальном хостинге.
Вы будете иметь лучшую производительность, и вы будете иметь больше контроля над вашим хостом, если вы используете VPS или выделенный хостинг.
Что бы вы ни делали, будьте осторожны при настройке вашего Magento. Помните, что одна маленькая ошибка может сломать всю установку Magento.

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40