Jump to content
  • entries
    4
  • comments
    28
  • views
    1,683

Как не надо делать при разработке магазина на Opencart

spectre

1,572 views

Инструкция как делать НЕ НАДО!!!

 

1. Никаких admin admin и 123456!

 

Ни в коем случае не ставьте admin admin ни в каких случаях, даже если вам просто нужно поиграться с опенкартом

У вас рядом могут быть живые сайты, которые пострадают

 

Запомните - имея админку опенкарта можно получить доступ ко всей файловой системе и другим сайтам сервера/хостинг-аккаунта

 

Никаких [email protected]!

пишите свою или доверенную почту на которую вы сможете получить свой сложный пароль типа &*^%hygkjhGJHG^*&@ghkjhqeeqeqr 

это гораздо безопаснее! Злоумышленник может зарегать [email protected] - и привет!

Отключите демо аккаунт - там доступна на чтение вся информация!

Переименуйте учетку admin - уже плюс к стойкости

Добавьте двухфакторную авторизацию в админку, даже через .htpasswd, это уже осложнит жизнь потенциальному хакеру

Ограничьте сверху доступом по IP

 

2. Никакого phpmyadmin в мир!

В 90% случаев phpmyadmin доступен в мир по ip/phpmyadmin

Закрывайте его для чужих, ну, свой ip можно оставить

Попросите хостера это сделать или так же защитить двухфакторной аутентификацией

 

3. Никаких админеров!

В каждом пятом сайте админер лежит в корне, удаляйте его после работы или переименуйте в lwjdkhkjwrehtkwrjhvsfvgsfgsf.php если без него нельзя жить!

Это тоже потенциальная уязвимость

 

4. Никаких логов!

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

И их можно посмотреть даже под демо-аккаунтом

Логи должны быть доступны только вам, error_log не должен лежать в корне сайта для всех

 

5. Никаких архивов в корне сайта!

У многих лежит в корне архив site.tar.gz, db.sql, backup.zip и прочее

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

Никаких доступов в текстовых файлах, ничего!

image.png.7b558465cb7dea836256b811ed4e0036.png

 

вот все должно быть в корне!

 

6. Регулярно меняйте ВСЕ пароли

Это касается всего, базы, хостинга, фтп, админки сайта, проводите регулярно эту проверку

Рекомендую раз в месяц

Также сканируйте свой сайт каким-то айболитом или чем-то подобным на предмет всякой херни

 

7. Не ставьте ломаных модулей (даже бесплатных)!

Подавляющее число модулей на опенкарт стоят до 1000 р, это не та сумма чтобы ставить себе на сайт бомбы замедленного действия с варезных сайтов!

В один прекрасный момент этот механизм активируется и вы потеряете свой сайт и репутацию с потрохами!

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

 

8. Никаких ошибок php на фронте!

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

Не умеете - просите хостера! 

Это касается всей служебной информации

 

9. SQL-инъекции

В интернете полно скриптов как базово обезопасить свой сайт хотя бы от самых популярных инъекций!

Найдите в интернете правила для apache и/или nginx и примените их, если не понимаете - попросите специалиста!

 

10. Давая данные кому-то - не забывайте их менять!

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

Потратьте 3 минуты после работы на смену доступов!

FTP еще желательно делать по IP чтобы 21 порт был недоступен недоверенным людям, у каждого вменяемого разработчика IP статический (постоянный)

Включите mod_security в PHP, он всякую шушеру нормально отбивает

suhosin тоже неплох, но его настраивать надо

 

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

Часто чтобы покрасить кнопку люди скидывают пароль от хостинга где лежит десяточка сайтов. А ведь не все люди добросовестны

 

11. Никогда не держите яйца в одной корзине!

 

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

Часто вижу как дев и прод находятся на одном сервере рядышком, а к деву admin admin потому что разработчику так удобно и он не может запомнить пароль посложнее

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

 

12. Отрубите tool/upload

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

А если необходимость есть - сделайте дополнительные проверки!

 

13. Совет от @mpn2005

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

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

Это касается и конфигов, и robots, и htaccess, да и любых php файлов.

 

14. Пропишите правильно права на директории!

Обычно для папок 755, для файлов 644

веб-сервер должен быть запущен от имени владельца файлов и папок

 

15. Подключите SSL

Большинство хостингов дает сертификаты от Let's Encrypt бесплатно, а если и не дает - то купить недорого, хватит любого

 

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

Менеджеру совершенно не нужно знать smtp-пароль на почту и настройки модулей и иметь возможность смены вашего пароля как администратор

В опенкарт это не сильно понятный процесс но есть модули которые помогают

Постарайтесь сделать так что даже если сотрудник обидится он не смог навредить вам и вашему сайту

 

 

 

Если у вас есть проблемы хотя бы по одному из пунктов - то у вас большие проблемы!!!

 

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

 

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

 

Будьте внимательны и бдительны, это ваше бабло и репутация!

 

 

Кто дочитал - всем спасибо за внимание, ваш spectre

 

  • +1 26


10 Comments


Recommended Comments

Цитата

9. SQL-инъекции

В интернете полно скриптов как базово обезопасить свой сайт хотя бы от самых популярных инъекций!

Найдите в интернете правила для apache и/или nginx и примените их даже если сами в этом нифига не понимаете!

Вот тут всё же стоит чуть по другому подойти к вопросу:

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

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

Это касается и конфигов, и robots, и htaccess, да и любых php файлов.

 

  • +1 2

Share this comment


Link to comment
15 часов назад, mpn2005 сказал:

Вот тут всё же стоит чуть по другому подойти к вопросу:

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

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

Это касается и конфигов, и robots, и htaccess, да и любых php файлов.

 

 

Согласен, подразумевается что человек если не понимает правил то и не сможет их применить и обратится к специалисту) 

Я с вашего позволения добавлю это новым правилом

 

Share this comment


Link to comment

Все четко, даже добавить нечего.

Разве что, проверьте возможность запрета на скачивание файлов движка (шаблонов) по прямой ссылке, как это бывает почти у половины демок шаблонов.

 

<FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# взято из opencart 3

# nginx
location ~\.(tpl|twig|ini|log)$ {
  deny all;
  error_page 403 =404 / ;
}

 

Share this comment


Link to comment
9 минут назад, SooR сказал:

это бывает почти у половины демок шаблонов.

 

в оригинальном htaccess это есть, это на совести "авторов"

 

Share this comment


Link to comment

Не давайте свой логин в админку исполнителям

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

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

 

Share this comment


Link to comment
1 час назад, spectre сказал:

Я с вашего позволения добавлю это новым правилом

Да. Без проблем.

 

И ещё надо упомянуть, что именно давать для работ.

Очень часто вместо доступа на фтп дают доступ к панели хостинга. Да ещё и с кучей сайтов.

Для большинства работ доступ в панель хостинга не нужна. 

Share this comment


Link to comment
8 минут назад, mpn2005 сказал:

Да. Без проблем.

 

И ещё надо упомянуть, что именно давать для работ.

Очень часто вместо доступа на фтп дают доступ к панели хостинга. Да ещё и с кучей сайтов.

Для большинства работ доступ в панель хостинга не нужна. 

это сразу же дописал как вспомнил))) вообще идея создать памятку для всех, тк ее как оказалось за столько лет нет 

Share this comment


Link to comment
2 минуты назад, spectre сказал:

это сразу же дописал как вспомнил))) вообще идея создать памятку для всех, тк ее как оказалось за столько лет нет 

Да. Вроде всё просто. Вроде все и знают.

Но каждому клиенту сложно всё это регулярно объяснить.

Особенно, когда дел на 5 минут с простыми правками, а тут доступы admin/admin и в панель хостинга.

Когда есть время поясняю клиентом, но не всегда это реально.

Share this comment


Link to comment

Полезная статья. Взялся сам сеье поднимать интернет магазин. Сам программист на c# виндоус iis. В php Linux и сисадминстве тут нубяра. Открываю новый чудный мир) что можете ещё добавить по бекапам как их правильно делать и как правильно хранить? И чем их лучше делать?

Share this comment


Link to comment
В 13.08.2020 в 21:04, mpn2005 сказал:

Да. Вроде всё просто. Вроде все и знают.

Но каждому клиенту сложно всё это регулярно объяснить.

Особенно, когда дел на 5 минут с простыми правками, а тут доступы admin/admin и в панель хостинга.

Когда есть время поясняю клиентом, но не всегда это реально.

сколько будет стоять сделать и проверить эти все пункты ? 

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.