Давайте немного внесем ясность в то, с чем мы пытаемся работать...
1. Свое железо, своя операционка, свой PHP, свой сайт.
Что мы имеем? Мы должны заботиться о безопасности железа, патчить саму операционку, патчить PHP и конечно же то что на нем крутится, сам сайт.
2. VDS\VPS - о железе и операционке заботится хостер, у нас есть рутовые права, мы можем ставить какие то модули сами. Заботится надо только о безопасности сайтов.
3. Шаринг-хостинг. Все что можно сделать, какие модули поставить - все зависит от хостинга. Рутовых прав нету, есть только доступ на FTP и в SQL. Все. Работаем только с тем с чем нам разрешили.
С точки зрения безопасности конечно же первый предпочтительнее, третий наименее гибок, второй - компромиссный вариант.
Но давайте не будем забывать еще и о стоимости того или иного решения. Если у человека магазин на бесплатном движке и $100 на допил, то первые два варианта отпадают сразу.
Давайте рассматривать пока что только третий вариант, поскольку подавляющее большинство пользователей OpenCart используют все таки его, и даже если использовать первый и второй, то безопасность самого сайта там тоже присутствует.
1. Исходный код. Еще до того как магазин будет закончен, нужно помнить о безопасности, а именно о том откуда взялся тот или иной код. Бывает так что непонятно откуда взявшийся модуль уже несет в себе бэкдор. Проверить его на virustotal не составит труда.
2. Права доступа на файлы и папки. Какие права ставить - 640, 777 - зависит от многого, но в любом случае нужно руководствоваться минимально необходимыми правами для работы. Да, конечно же, если у Вас свое собственное железо, то можно вообще раздел смонтировать в RO и навсегда забыть о правах, но мы же говорим о более сложном варианте?
3. Защита доступа к FTP - обязательно сложные пароли и по возможности ограничить доступ по IP адресам, если хостинг позволяет.
4. Файл .htaccess. Опять таки, если третий вариант хостинга, то без него никуда. Его можно закидывать в разные папки с разными параметрами, уже писали.
5. Бэкапы. Бэкапы делают все хостеры, у себя же нужно иметь эталонную копию файлов и базы. И нужно это не для того что бы быстро восстановить сайт, это делается из админки хостера за пару кликов, а для того что бы иметь возможность сравнить файлы по содержимому и найти те или иные изменения которые непонятно кем вносились. И опять таки это ищется не для того что бы удалить изменения, а для того что бы понять что собственно произошло и почему.
6. Защита админки. Да, есть много способов защиты админки. Можно через .htaccess разрешить доступ только с определенных IP адресов, или добавить .htpasswd и входить по паролю сначала в каталог, потом в админку, или переименовать её, или добавить капчу, что бы не подобрали пароль. Пароли, опять таки - не ставьте простые пароли. Вроде как прописная истина, но никто не этого не делает. Но честно говоря я не вижу особого смысла тут заморачиваться, поскольку если каким то образом залит шелл на хостинг, то можно получить доступ и в админку, и куда угодно. И вряд ли злоумышленнику интересно сколько чего и кому вы продали в своем магазине.
7. Собственно поиск уязвимостей. Вот тут много говорили - найдут дыру и поломают. А что мешает самим поискать эти уязвимости, и устранить их? Есть куча сканеров безопасности. Причем делать это надо не только после окончания работ по сайту, а периодически.