Я подумываю разместить в сети сайт, который мог бы стать привлекательной целью для хакеров или сотрудников хоста, которые могли бы изменить код сайта в свою пользу.
Не желая самостоятельно размещаться, я думал о подключении к хосту по SSH, загрузке исполняемого файла md5 и обеспечении того, чтобы md5 поверх кода сайта соответствовал ожиданиям.
Но, конечно, код можно было изменить и вернуть обратно между моими сканированиями.
Я мог бы автоматизировать md5 через SSH, чтобы окно для модификации существенно сузилось, но в идеале я бы хотел, чтобы код md5 был каждый раз, когда посетитель его использует, аннулируя информацию, предоставленную посетителю, если произошло вмешательство.
Я просто не могу поставить такую проверку целостности кода онлайн, так как он может быть взломан. Кроме того, код, который я вижу в защищенной оболочке, такой же, как и для посетителя ...
Существуют ли какие-либо признанные методы удаленной проверки целостности кода перед выполнением?
Вся информация о подписи кода, которую я читал, обычно появляется во время развертывания или загрузки.
Проверка целостности сайта каждый раз, когда к нему обращаются, кажется странным подходом к этому.
Я бы порекомендовал вам использовать мониторинг целостности файлов система, которая будет проверять ваш сайт на соответствие «заведомо надежному» базовому уровню. Они пойдут намного дальше простой проверки MD5 - они обычно используют гораздо более сильные хеши, такие как SHA-256, а также проверяют атрибуты, свойства безопасности и т. Д. Проверки целостности можно автоматизировать, и вы можете запланировать их запуск через короткие промежутки времени. Любые хорошие также будут иметь возможность оповещения.
Если вы используете Linux, изучите Tripwire. Если вы работаете в Windows, подумайте о чем-нибудь вроде Ionx Verisys.
Вы также должны убедиться, что сервер закаленный соответственно. Как вы это сделаете, будет зависеть от вашей ОС.
Tripwire может проверять различия в файлах: http://www.tripwire.org/
Размещенный код на практике должен никогда быть изменяемым вживую. Для развертывания используйте систему контроля версий, чтобы любые изменения можно было отслеживать для конкретного человека. Затем во время развертывания вы можете заблокировать файлы сайта, чтобы они не могли быть изменены.
Если вы действительно беспокоитесь о том, что хост может поставить под угрозу ваши данные или приложение, я бы поискал другой хост.