Хотя безопасность всех веб-сайтов важна, безопасность веб-сайта электронной коммерции особенно важна, поскольку эти сайты хранят данные пользователей и финансовую информацию, связанную с заказами. Любая попытка взлома таких данных может нанести огромный ущерб вашему магазину. Несмотря на то, что Magento считается самой безопасной и надежной системой электронной коммерции, все же есть некоторые дополнительные меры безопасности, которые помогут сделать ее защиту надежной. В этой статье я рассмотрел несколько простых шагов, которые помогут сделать ваш магазин Magento еще более безопасным и надежным.
1. Обеспечение безопасности имени администратора и пароля
Одним из первых шагов по обеспечению безопасности вашего сайта Magento является использование безопасного имени пользователя и пароля. Основное правило для создания надежного пароля — всегда использовать пароль, который трудно угадать, например, такие строки, как «123» или «abc», или ваш номер телефона, дату рождения и т. Д. Это всегда лучшая практика. хранить пароль длиннее восьми символов, и это должно быть сочетание букв (a, b, c и т. д.), цифр (1, 2, 3 и т. д.) и специальных символов (@, &, # и т. д. .).
Помимо наличия безопасного пароля, также очень важно создать имя пользователя, которое не легко предсказать. Большинство попыток взлома увенчались успехом, потому что хакерам нужно только угадать пароль, поскольку в качестве имен пользователей в большинстве случаев используются простые для угадывания имена, такие как «admin», «administrator» и т. Д.
Поэтому я настоятельно советую вам создавать неуниверсальные имена пользователей, такие как ваш псевдоним, фамилия, название компании и т. Д. Существует возможность создать имя пользователя во время установки Magento, но даже после установки вы можете изменить свое имя пользователя Magento и пароль, перейдя в Система> Моя учетная запись.
По умолчанию путь админ-панели для Magento выглядит следующим образом: http://myexamplestore.com/admin . Поскольку это довольно известный путь для всех, он подвержен множеству угроз безопасности. Если мы изменим путь администратора на уникальный и непредсказуемый путь, такой как http://myexamplestore.com/secureadmin , мы сможем пресечь большинство попыток взлома в зародыше. Этот небольшой шаг может внести значительный вклад в повышение безопасности установки Magento и стать лучшей защитой от сломанных атак аутентификации и управления сеансами.
Чтобы изменить путь администратора в Magento, перейдите в файл app/etc/local.xml
, найдите строку с этим кодом: <![CDATA[admin]]>
и измените строку admin
на требуемую строку администратора. Например, если вы хотите изменить URL-адрес панели администратора на http://myexamplestore.com/securedadmin , измените код CDATA на <![CDATA[securedadmin]]>
3. Добавление двухфакторной аутентификации для администратора
Обычный способ повышения безопасности любой системы — добавить к ней еще один уровень безопасности с помощью двухфакторной аутентификации, когда система требует двух отдельных аутентификаций для предоставления доступа.
Простым примером этого является проверка подлинности карты банкомата. Вы должны не только ввести свою карту в качестве одного из факторов аутентификации, но также и свой PIN-код, который является еще одним фактором аутентификации, следовательно, двухфакторной аутентификации.
Есть несколько отличных расширений, которые позволяют двухфакторную аутентификацию в Magento и делают ее намного более безопасной.
Одним из таких расширений Magento является Rubon . Позволяет добавлять доверенные смартфоны, с помощью которых вы можете получить доступ к админ-панели Magento. Другой — это Extendware , который добавляет двухфакторную аутентификацию в вашу систему через Google Authenticator. Оба они очень хорошие дополнения, и стоит попробовать.
4. Использование зашифрованного (SSL / HTTPS) соединения
Еще один довольно простой в реализации шаг безопасности Magento — включить защищенные URL-адреса HTTPS / SSL.
Всякий раз, когда данные передаются между вами и вашим сервером, существует риск того, что эти данные будут перехвачены третьими лицами. Поскольку эти данные могут содержать важную информацию, такую как данные для входа в систему, информацию о базе данных и т. Д., Эти данные, попавшие в чужие руки, могут вызвать значительные проблемы.
Поэтому для передачи данных всегда полезно использовать безопасное зашифрованное соединение. Обеспечение шифрования вашего сайта по протоколу HTTPS / SSL также сделает его PCI-совместимым и более надежным в глазах ваших клиентов.
Вы можете сделать это в Magento, просто перейдя в System> Configuration> General> Web. В поле «Базовый URL» измените «http» на «https» и включите « Использовать безопасные URL-адреса в веб- интерфейсе» и « Использовать безопасные URL-адреса» в «Admin».
5. Использование безопасного FTP для загрузки файлов
Хотя важно зашифровать и обезопасить передачу данных между вашим браузером и вашим сервером, важно также обеспечить передачу данных на ваш сервер через FTP. Одним из распространенных способов взлома интернет-сайтов является перехват паролей FTP. Эта проблема безопасности может быть эффективно проверена с помощью SFTP (SSH File Protocols). Этот протокол обеспечивает дополнительное шифрование учетных данных пользователя с использованием файла секретного ключа для проверки подлинности. Вы также должны убедиться, что ваши права доступа к файлам не установлены на 777, так как это сделает их доступными для записи кем-либо и создаст угрозу безопасности.
6. Ограничение доступа администратора только к предварительно утвержденным IP-адресам
В Magento есть опция, с помощью которой мы можем заранее определить IP-адреса, которые могут получить доступ к админ-панели Magento. Этот шаг может добавить большой уровень безопасности в ваш магазин Magento. Вы можете создать список IP-адресов компьютеров вашего и ваших коллег и добавить их в список IP-адресов, которые могут получить доступ к панели администратора вашего сайта Magento. Все остальные пользователи IP-адресов не смогут получить доступ к вашей админ-панели Magento.
Чтобы включить это ограничение IP-адресов, прежде всего вам нужно отредактировать ваш файл .htaccess, чтобы ввести IP-адреса, которые вы хотите разрешить. Для этого введите следующий код в файл .htaccess:
1
2
3
4
5
6
7
8
|
AuthName «Protected Area»
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 192.168.112.11
allow from 168.121
</Limit>
|
Здесь будет разрешен IP-адрес «192.168.112.11», и, во-вторых, будут разрешены все IP-адреса, начинающиеся с «168.121». Вы можете разрешить столько IP-адресов, сколько хотите, следуя этому формату. Всем другим IP-адресам, не упомянутым там, будет отказано в доступе.
Следующим шагом является создание новой папки «admin» в корневом каталоге Magento. Скопируйте файл index.php вашего Magento в эту папку и измените относительные пути к файлам config.php и Mage.php, изменив эти две строки:
1
2
|
$compilerConfig = ‘../includes/config.php’;
$mageFilename = ‘../app/Mage.php’;
|
Обратите внимание, мы только добавили ../
в эти пути к файлам.
Теперь мы должны направить пользователей, приходящих к нашим администраторам, в этот каталог. Для этого введите эти строки в ваш файл .htaccess:
1
2
|
Redirect permanent /index.php/{admin_path} /admin/index.php/{admin_path}
Redirect 301 /index.php/{admin_path} /admin/index.php/{admin_path}
|
Здесь {admin_path}
указывает новый путь администратора, который мы вручную изменили на шаге 2. Например, он может быть securedadmin
, как мы определили в примере на шаге 2.
Обратите внимание, что этот шаг безопасности следует реализовывать только в том случае, если ваш провайдер предоставляет вам статический IP-адрес. Некоторые интернет-провайдеры назначают пользователям динамические IP-адреса каждый раз, когда они подключаются к Интернету. В таких случаях, поскольку ваш IP-адрес постоянно меняется, вам не следует реализовывать этот шаг безопасности.
7. Отключение вредоносных функций PHP
Некоторые функции PHP более подвержены внедрению вирусов и представляют угрозу безопасности. Лучше всего сначала отключить эти вредоносные функции PHP. Если ваш код основан на каких-либо таких функциях, лучший способ — использовать какую-то альтернативную, более безопасную функцию с аналогичными функциями. Чтобы отключить такие вредоносные функции, откройте файл php.ini и добавьте в него следующий код:
1
|
disable_functions = “apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode”
|
Если у вас уже есть некоторые функции отключения кода в вашем файле php.ini, просто добавьте функции, приведенные в приведенном выше коде. Если какая-либо из вышеупомянутых функций действительно важна для файлов вашей темы / модуля, и вы не можете найти альтернативу, вы можете исключить их из этого списка.
8. Отключение индексации каталогов
Список каталогов — еще одна лазейка во многих серверах. Через список каталогов любой может ввести URL-адрес вашего сайта и увидеть структуру каталогов и расположение файлов на всем вашем сайте (как на скриншоте ниже). Это может сделать ваш сайт очень уязвимым для атак безопасности.
Эту лазейку можно эффективно закрыть, отключив индексацию каталогов. Для этого добавьте следующую строку кода в ваш файл .htaccess:
1
|
Options -Indexes
|
9. Снижение риска инъекций MySQL
Как и в любой другой системе электронной коммерции, на веб-сайтах Magento есть много полей формы, в которые пользователи могут вводить данные, такие как поля заказа, поля профиля, поля отзывов клиентов и т. Д. Иногда хакеры используют эти поля для внедрения оператора MySQL, что может в результате раскрыть внутреннюю технологию информация, или может разрешить доступ к ограниченным областям сайта. Хотя Magento отлично справляется с любой подобной атакой, все же рекомендуется использовать брандмауэры веб-приложений, чтобы обеспечить защиту вашего веб-сайта от любых подобных атак.
Есть еще много способов сделать вашу установку Magento еще более безопасной, но я уверен, что если вы выполните все вышеперечисленные шаги, у вас будет очень надежный и безопасный сайт Magento, который сможет выдержать большинство попыток взлома.
Помимо вышеупомянутых шагов, один очевидный способ сделать ваш сайт Magento более безопасным — постоянно обновлять установку Magento. Команда Magento отлично справляется с исправлением возможных уязвимостей, поэтому последняя версия Magento обычно лучше и безопаснее. Вы также должны сохранять свой адрес электронной почты, связанный с Magento, безопасным, поскольку любой, кто может получить доступ к этому адресу электронной почты, может получить доступ к вашему магазину Magento.
В комментариях делитесь своими мыслями и отзывами об этой статье, и не забывайте делиться ею с друзьями, если вам это нравится.