Вопрос или проблема
Учитывая приведенные модели использования и угроз, какова оптимальная реализация шифрования? Оптимальный определяется как подход, который наилучшим образом соответствует модели использования.
Модель использования
- Компьютер должен быть оптимизирован для производительности.
- Использование компьютера будет включать значительные операции чтения и записи данных, включая как небольшие, так и большие блоки чтения/записи.
- Место для хранения (SSD) будет в ограничении, поэтому не следует его тратить зря.
Модель угроз
- Компьютер будет физически защищен и не будет подвержен возможному физическому вмешательству.
- Единственные люди, которые будут иметь физический доступ к компьютеру, будут уполномочены его использовать.
- Физическая кража всегда будет возможна, но маловероятна (низкая награда / высокий риск).
- Компьютер будет подключен к Интернету. Серверы работать не будут. Удаленный доступ не будет поддерживаться. Аппаратные и программные фаерволы помогут обеспечить безопасность.
- Только данные, хранящиеся на компьютере, должны быть зашифрованы. Имена используемых приложений, временные метки входа, настройки системы, настройки приложений, списки MRU, история оболочки и т.д. не нуждаются в шифровании.
Рассматриваемые в настоящее время подходы к реализации (другие идеи также приветствуются):
- Поместить систему и данные в один раздел и зашифровать весь раздел с помощью LUKS. Это самый простой метод, но, вероятно, он не обеспечит наилучшей производительности, так как системный раздел не нужен для шифрования (это не кажется необходимым, учитывая модель угроз).
- Поместить систему в нешифрованный раздел, а данные – в отдельный зашифрованный раздел LUKS. Это, вероятно, обеспечит наилучшую производительность, но имеет недостаток в виде наличия отдельных резервов неиспользуемого пространства в каждом разделе, тем самым тратя место для хранения.
- Создать один раздел, но использовать виртуальные тома (например, с использованием btrfs). Оставить виртуальный том системы нешифрованным и зашифровать виртуальный том данных с помощью LUKS. После проведения некоторых поисков в Интернете мне неясно, будет ли это действительно работать и как это повлияет на производительность по сравнению с реализацией, описанной выше.
Вы описали только одну угрозу: физическую кражу. Чтобы предотвратить кражу ноутбука, важно сделать его непригодным к использованию без пароля. Это означает настройку пароля BIOS/микропрограммного обеспечения и шифрование всего диска.
Если вы просто ограничите доступ к разделу данных, вор получит ценнейший новый ноутбук, даже если у него не будет доступа к данным.
Ответ или решение
При выборе оптимального подхода к реализации шифрования в Linux, важно учитывать как модели использования, так и модели угроз, представленные в задании. Рассмотрим каждый из пунктов подробно.
Модель Использования:
- Оптимизация по производительности: Необходимо минимизировать влияние шифрования на общую производительность системы.
- Существенные операции чтения и записи данных: Как малые, так и большие блоки данных должны обрабатываться эффективно.
- Экономия дискового пространства: Шифрование не должно приводить к нецелесообразным затратам памяти, особенно учитывая, что SSD пространство ограничено.
Модель Угроз:
- Физическая безопасность: Компьютер физически защищен, что снижает вероятность вредоносного вмешательства.
- Контроль доступа: Все имеющие физический доступ к компьютеру являются авторизованными пользователями.
- Риск физической кражи: Хотя кража возможна, она маловероятна, и к ней следует отнестись осторожно.
- Подключение к интернету: Важные защитные меры принимаются через брандмауэры и отсутствие удаленного доступа.
- Шифрование только данных: Необходимо шифровать только хранимые данные.
Рассматриваемые Подходы:
-
Шифрование всего раздела с помощью LUKS: Это простой метод, но, как указано выше, он будет неоправданно шифровать системный раздел, что negatively отразится на производительности.
-
Отдельные незаштитанный системный и зашифрованный данные разделы: Этот способ обеспечивает наилучшие показатели производительности, однако приводит к неэффективному использованию пространства на SSD, так как возникает риск наличия незанятого места.
-
Создание одного раздела с виртуальными томами (например, с использованием btrfs): Системный том остается незашифрованным, а данные хранятся в зашифрованном томе LUKS. Однако необходимо проверить, как это повлияет на производительность и совместимость.
Рекомендации:
На основании анализа предложенных моделей, лучшим решением для данной ситуации будет второй подход — разделение на зашифрованный и незашифрованный тома.
Хотя существует потенциальная проблема с раздвоением пространства, это решение оптимально по производительности. Системные операции могут осуществляться без шифрования, что будет способствовать высокой скорости, а данные остаются защищенными. Это решает проблему физической кражи, поскольку доступ к важным данным без пароля будет невозможен.
Дополнительные рекомендации:
- Настройка BIOS/Прошивки: Установите пароль на уровень BIOS/прошивки, чтобы предотвратить возможность запуска системы без авторизации.
- Регулярные резервные копии: Создавайте резервные копии данных для защиты от технических неисправностей.
- Мониторинг системы: Внедрите системы мониторинга для отслеживания изменений в доступе к данным и поведения системы в целом.
Заключение:
Подбор оптимального шифрования для Linux зависит от конкретной модели использования и угроз. Исходя из ваших требований, рекомендую применять отдельный зашифрованный раздел с использованием LUKS для хранения данных, что обеспечит как высокий уровень производительности, так и безопасность ваших данных.