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

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

  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 и прочее.
    • Эти файлы можно скачать!!! Там есть все конфиги, логины пароли и прочее интересное, Вы сами отдаете свой сайт злоумышленникам.
    • Никаких доступов в текстовых файлах, ничего!
    • Вот все должно быть в корне!
  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
 
FTP как защитить при помощи TLS или SSL ? Смена порта с 21 на какойто другой это временно, порт на котором висит FTP найдут в итоге и что потом бывает, все мы знаем
 
Назад
Сверху