Здравствуйте, vsb, Вы писали:
vsb>Как ты себе это представляешь? Не может он зайти под рутом в работающую виртуальную машину. Откуда он пароль возьмёт?
Зачем в работающую? У него есть образ диска, с которого можно загрузиться независимо от работы машины, или просто его исследовать без загрузки.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[10]: Что нужно для размещения программы на удаленном серве
Здравствуйте, Passerby, Вы писали:
P>А Энигма сможет защитить ключи, т.е. константные строки?
Да, если они будут в бинарно скомпилированной DLL, в этом случае этот код будет выполняться в защищенной вирт.машине (хотя я вот видел что в энигме появилась какая-то защита дот-нет байт-кода, но у меня доверия к этому пока мало).
И напомню, что лучше также дополнительно усилить защиту "математикой", т.е. не использовать для шифрования симметричный ключ, т.к. при доступе к нему злоумышленник сможет им же и расшифровать твой файл. Размещать в публичной DLL нужно публичный ключ ассиметричной пары, а расшифровывать уже приватным ключом на приватном компьютере. Если конечно бизнес-логика это подразумевает. Если же расшифровкой тоже должна заниматься та же программа на том же публичном сервере, то приватный ключ нужно тоже размещать в защищённой DLL. Использование приватного ключа, пусть и в публичном блоке программы, всё равно немного затрудняет взлом, чем симметричный ключ, имхо.
Re[12]: Что нужно для размещения программы на удаленном серве
Здравствуйте, gyraboo, Вы писали:
G>Здравствуйте, Passerby, Вы писали:
P>>А Энигма сможет защитить ключи, т.е. константные строки?
G>Да, если они будут в бинарно скомпилированной DLL, в этом случае этот код будет выполняться в защищенной вирт.машине (хотя я вот видел что в энигме появилась какая-то защита дот-нет байт-кода, но у меня доверия к этому пока мало).
Тогда сделаю класс из двух константных строк строк и скомпилирую в dll. G>а расшифровывать уже приватным ключом на приватном компьютере.
Скорее всего помещу dll на тот же сервер, т.к. WCF не знаю. И IP моего ПК динамический.
Re[3]: Что нужно для размещения программы на удаленном сервере?
P>Откуда же я знаю? Про какой монитор спрашиваешь? Просмотрел несколько предложений, нигде про мониторы не говорится. Мне нужен быстрый сервер с быстрым интернетом. И чтобы нельзя было посмотреть программу и секретные ключи в ней. Консольная программа сейчас работает под Win 10 на моем ПК, на диске занимает 2.4 мб, диспетчер показывает оперативную память 24 мб, загрузка i5 7500 процессора 2%, но скоро подключу еще модули и загрузка возрастет, думаю раза в 2 или 3. P>Какой выбрать сервер: VPS, VDS или дедик? Какую выбрать ОС: Debian, Ubuntu, Xubuntu, CentOS, FreeBSD? Какая из них защищенней? Какую программу потом установить для шифрования диска? Что сделать, чтобы я мог на своем ПК смотреть результат на консоли, а на сервере это смотреть не было возможности? Если такое нельзя, удалю вывод на консоль и оставлю вывод в файл, который надо будет скачивать. У меня нет никакого опыта, даже малого работы с сервером.
4 варианта:
1. Потратить несколько лет на освоение ИБ
2. Отдать человеку, оплатив, который в этом разбирается — самый практичный
3. "Домашний" хостинг с доступом через VPN. Быстрый сервер с быстрым интернетом
4. Отказаться от всей затеи сразу
Легкого варианта нет. Точно-точно — нет и не будет.
По теме, как тут писали, Linux, console, в stdout не выводи
Секреты храни в Hashicorp Vault или в всторонних сервисах, Elastic Secret manager AWS), Azure Keyvault и т.п. Но и с этим, тебе п. 1 или 2 обязательны.