У меня есть веб-приложение (PHP), которое мне нужно оставить в помещении клиента. У них нет интернета, и они не хотят использовать его для использования моего приложения.
Поэтому я должен оставить Linux-сервер на их месте. Но меня беспокоит, что кто-то получит доступ к моему серверу и мой PHP-код. Помимо шифрования PHP (Ion encoder, Zend Guard) и шифрования диска LUKS, я не знаю, что еще я могу сделать, чтобы предотвратить мой компьютер.
Я знаю, Microsoft давным-давно заявила, что если у кого-то есть физический доступ к машине, ее следует считать взломанной, поэтому мое приложение / сервер будет на «враждебной территории», но у меня нет выбора. Но я могу сделать все возможное, чтобы предотвратить это. Я рассматриваю возможность отключения TTY и включения входа через SSH с ключами, чтобы только я мог получить к нему удаленный доступ (что означает, когда я доберусь туда со своим ноутбуком).
Какой из них лучше? вся моя установка на сервере или внутри виртуальной машины внутри сервера? поскольку диск будет зашифрован, меня не особо беспокоит, что кто-то копирует мой диск (я тоже не могу слишком много делать). Но тогда как я могу предотвратить изменение пароля root от grub?
Кроме того, даже если я защищу паролем BIOS, не будет ли он разблокирован при перепрошивке платы?
Да, если они смогут разобрать коробку и вытащить батарею BIOS, они смогут разблокировать BIOS. Я также не уверен, что размещение вашего приложения на виртуальной машине даст то, что вы ищете.
Вы, вероятно, захотите хранить его в клетке для цветов. Что-то вроде этого:
Если они не могут физически прикоснуться к нему, они не смогут открыть корпус, получить доступ к жратве и т. Д. Это промышленный стандарт для такого рода вещей.
Есть связанные затраты, и вам, возможно, придется подумать, в какой момент вы тратите больше, чем стоит защита вашего кода. (Я не могу ответить на это; только вы знаете денежную ценность своего кода.)