LINUX.ORG.RU

Защита веб-сервера от физического доступа


0

1

Есть необходимость поставить веб-сервер в сеть заказчика. При этом код приложения и данные на этом сервере должны быть доступны только через предусмотренные веб-интерфейсы. Другими словами, надо сделать так чтобы даже разобрав сервер и получив носитель злоумышленник:

1. не мог получить код приложения (ruby, не компилируется и не шифруется)

2. не мог скопировать носитель (например для запуска на виртуальной машине или другом железе или для нелицензионного распространения). Ну, или чтобы копия носителя не заработала в таких сценариях.

Сервер будет стоять в изолированном интранете, так что нет возможности обеспечить внешнюю авторизацию при запуске.

Ось - Linux, Технологии: RoR, Mongo.

Какие существуют подходы к решению таких задач?


Ответ на: комментарий от fr_butch

Я так и знал что щас про рубиэнкодер кто-нибудь прытко нагуглит :)

Его по ряду соображений использовать не желательно (я про это в условии написал, разве нет?)

Есть ли более низкоуровневые решения? На уровне операционки/файловой системы?

Или, например, привязка к hasp-ключу, или что-то в этом духе...

Lexa
() автор топика
Ответ на: комментарий от Lexa

Шифрование на уровне FS. Проблема только в том, что после ребута надо будет вводить пароль. Хотя есть клиент не такой продвинутый - можно и «автовводом» воспользоваться.

anonymous
()
Ответ на: комментарий от anonymous

Шифрование на уровне FS не удовлетворяет пункту #2. Автору — ИМХО из-за 2-го пункта проблема нерешаема: руту позволено всё, а значит, и менять ответ на вопрос «будет ли работать тут ruby код» путем модификации этого кода вплоть до вырезания закодированных частей или частей, связанных с ID материнской платы, и заменой их на свои самописные.

Bers666 ★★★★★
()

dm-crypt + luks + dropbear в initrd для ввода фразы при ребутах

pekmop1024 ★★★★★
()

Теоретически нет способа такой защиты. На практике - можно попробовать запутать злоумышленника нестандартной архитектурой сервера: шифрованием ФС и прочей лабудой.

segfault ★★★★★
()
Ответ на: комментарий от Bers666

После ребута подключаться по ssh, вручную монтировать шифрованную ФС и запускать сервисы.

sin_a ★★★★★
()

Шифрование диска. Вопрос как вводить ключ при запуске зависит от способа доступа. Самый надежный — пришел, воткнул флешку, загрузился с нее ввел ключ. Менее надежно когда загрузка идет с диска — теоретически у злоумышленника есть возможность поправить загрузчик.

soomrack ★★★★★
()
Ответ на: комментарий от Lexa

Аппаратный ключ это просто носитель для ключа шифрования. Если он воткнут в УСБ, то его обычно тоже защищают пин-кодом, так что это возвращение к нашим баранам получается.

В общем это теоретически нереализуемо. Ты должен каким-то образом сообщить системе ключ дешифровки в любом случае.

Можно, к примеру, извратится так - воткнуть в сервер USB-GSM свисток, и написать скрипт который будет мониторить входящие SMS и пытаться дешифровать жесткий диск тем паролем который ты ему будешь присылать. Только надо настроить удаление смсок сразу по понятным причинам.

blind_oracle ★★★★★
()
Ответ на: комментарий от Lexa

Это такая финтиклюшка которая генерит циферки по своему алгоритму какому-то и показывает на экране? Не знаю, слабо представляю как ее применить...

blind_oracle ★★★★★
()

Security by obscurity

Led ★★★☆☆
()
Ответ на: комментарий от blind_oracle

ну, все зависит от бюджета, требовании и то, плевать ли автору на нарушителя вплоть до УК РФ или нет :-)

Pinkbyte ★★★★★
()

Нужно мощное шифрование на уровне ФС, как уже правильно заметили. Ну и криптостойкие алгоритмы, длинный ключ и защищенный канал передачи данных. Второй вариант - армейский взвод в серверной.

arknir
()
Ответ на: комментарий от arknir

>армейский взвод в серверной.

можно проще(но у ТС это как раз невозможно) - физически не подпускать к серверам различных долбо^W ненужных людей методом «ключ есть только у админа»

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Я как раз на это и намекал. Если информация стоит взлома с проникновением, она стоит и месяца взлома любого закриптованого харда.

arknir
()
Ответ на: комментарий от blind_oracle

Или за 5 минут, 4 из которых привязывали админа к стулу. Если кто-то получает прямой доступ к серверу - он может получить и прямой доступ к админу. А если эти ребята лезут в серверную незаконно, они также могут незаконно вставить админу паяльник в задницу.

arknir
()
Ответ на: комментарий от blind_oracle

> Любой грамотно зашифрованный хард взламывается 10^5 лет расчетов на суперкомпьютере.

Актуально только если скрывается информация от специальных служб и очень могущественных личностей, которые имеют или могут иметь доступ к таким вычислительным мощностям.

blackst0ne ★★★★★
()
Ответ на: комментарий от arknir

> Вырезается дыра в корпусе и вытаскивается винт. Так что не вариант.
А если по корпусу изнутри провести тонкий петляющий проводок, который намертво приклеить к стенке? При размыкании проводка — бабах

Xenius ★★★★★
()

> не мог получить код приложения (ruby, не компилируется и не шифруется)

А вообще, копирастия зло. На месте заказчика я бы на такие условия не согласился — если для меня пишется код, то пусть мне он будет доступен под GPL (или совместимой) лицензией

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Слушай, проще дядьку с пистолетом посадить - как-то безопаснее.

arknir
()

Запихать сервер в сейф вместе с килограммчиком тротила. При попытке вскрытия сейфа - бабах!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Запихать сервер в сейф вместе с килограммчиком тротила. При попытке вскрытия сейфа - бабах!

Если сейф сначала окунуть в жидкий азот, то потом можно спокойно открывать - физические процессы практически остановятся и взрыва не будет. Главное потом вернуть жёсткий диск к жизни...

KivApple ★★★★★
()
Ответ на: комментарий от Eddy_Em

Ну может во что-то более холодное. В любом случае при определённой температуре (и она выше абсолютного нуля) атомы будут двигаться слишком медленно для взрыва (во всяком случае достаточного по силе. чтобы уничтожить системник).

KivApple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.