![Linux-сервер как RAM-диск](https://rvso.com/image/1493943/Linux-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BA%D0%B0%D0%BA%20RAM-%D0%B4%D0%B8%D1%81%D0%BA.png)
Я хочу настроить антикриминалистический сервер Linux для защиты своих пользователей.
Моя цель — сделать так, чтобы дистрибутив Linux и все его содержимое работали из оперативной памяти, не сохраняя ничего постоянно.
Возможно, в конечном итоге мне понадобится сохранять выбранные вещи (например, сообщения об ошибках или отзывы пользователей) на зашифрованном жестком диске, чтобы я мог прочитать их в случае их исчезновения. Однако все остальное не следует записывать на диск.
Я немного знаю о RAM-дисках, но не уверен, как заставить все работать с них? Любая помощь в том, как это сделать, или лучшие решения были бы приветствуются.
решение1
Я бы рекомендовал рассмотреть device mapper. Вы можете создать дисковое устройство только для чтения, содержащее базовую ОС, затем сопоставить RAM-диск (если вам нужен только небольшой записываемый слой) или зашифрованный диск с временным ключом (для большего объема записываемого пространства) какзаписываемое наложение. Использование снимка карты устройств создает наложение уровня блочного устройства. После настройки этого вам нужно выполнить chroot в раздел.
Для более сложной настройки вы можете выполнить описанную выше настройку из initramfs.
В качестве альтернативы вы также можете использовать OverlayFS/AUFS для наложения на уровне файловой системы.
Если вам нужен своп, вам также следует убедиться, что вы зашифровали свой своп.
Возможно, вам также захочется взглянуть на TAILS OS (The Amnesiac Incognito Live System).
решение2
Это не тривиальная задача, если вы знаете, что делаете. Судя по всему, вам придется бороться.
Имейте в виду, что вам придется перестраивать систему с нуля, если она когда-нибудь отключится. Кроме того, установка Linux, которая действительно будет полезна, потребует минимум около 20 ГБ памяти. Если вы используете сжатый RAM-диск, это немного поможет (возможно, уменьшив вдвое потребность в несжатом), но все равно потребуется много оперативной памяти.
С другой стороны, вы можете создать обычную установку Linux на жестком диске, а затем использоватьunionfsдля создания записываемого слоя (который может иметь форму RAM-диска или зашифрованного раздела) поверх базовой установки.
решение3
Вы можете рассмотреть вариант загрузки PXE и загрузки данных прямо в оперативную память, это кажется самым простым решением для ваших задач.
По этой ссылке есть руководство по загрузке ram и загрузке ram pxe. http://reboot.pro/topic/14547-linux-load-your-root-partition-to-ram-and-boot-it/
http://eduardo-lago.blogspot.com/2012/06/ram-only-pxe-boot-smallest-diskless.html