У меня есть каталог, полный конфиденциальных данных, и я хочу зашифровать этот каталог для защиты от внешних злоумышленников. я все еще хочу иметь возможность читать из каталога и отображать эти данные на веб-странице в ее первоначальном виде. Инструменты шифрования данных, такие как eCryptFs, позволят это сделать? если это так, то как именно это работает, если данные смонтированы / размонтированы? здесь вступает в игру автонастройка?
2 ответа
Как правило, если зашифрованная файловая система / файл монтируется, его содержимое становится доступным для всех пользователей, имеющих доступ к папке (и корневому каталогу). Я думаю, что наиболее реальное решение вашей проблемы:
- Используйте LUKS для создания зашифрованной файловой системы
- Монтировать при загрузке (или при запуске демона HTTP)
- Не кладите ключ к контейнеру на коробке (вводить пароль каждый раз неудобно, но часто допускаемая ошибка)
- Измените права доступа к каталогу на 700
- Смена владельца на пользователя веб-сервера (обычно
www-data
)
Это запретит всем в системе (кроме www-data и root) доступ к файлам.
Если вы действительно хотите добиться максимальной безопасности, вы можете написать что-то вроде:
- При доступе к веб-странице, спросите зашифрованный пароль контейнера
- Смонтировать зашифрованный контейнер
- Получить необходимые файлы
- Размонтировать контейнер
Имейте в виду, что монтирование / размонтирование - очень дорогая операция, поэтому ваша веб-страница будет работать очень медленно.
Вы можете купить аппаратный токен (смарт-карту) и использовать ключ, хранящийся на карте. Это позволит вам шифровать и дешифровать файлы в пакетном режиме без необходимости сохранять пароль (когда вы отключили проверку пин-кода пользователя карты) всякий раз, когда карта подключена ... но также будет препятствовать тому, чтобы кто-либо формировал просто копирование ключ.