SELinux против AppArmor против безопасности

Я должен настроить сервер, который должен быть максимально безопасным. Какое улучшение безопасности вы бы использовали и почему, SELinux, AppArmor или grsecurity? Можете ли вы дать мне несколько советов, советов, плюсов / минусов для этих трех?

НАСКОЛЬКО МНЕ ИЗВЕСТНО:

  • SELinux: самый мощный, но самый сложный
  • AppArmor: более простая настройка / управление, чем SELinux
  • grsecurity: простая настройка благодаря автоматическому обучению, больше возможностей, чем просто контроль доступа

2 ответа

Я провел много исследований в этой области. Я даже использовал наборы правил AppArmor для MySQL. AppArmor - самая слабая форма разделения процессов. Свойство, которое я использую, заключается в том, что все процессы имеют права на запись в одни и те же каталоги, такие как /tmp/, Что хорошо в AppArmor, так это то, что он ломает некоторые эксплойты, не попадая в пути пользователя / администратора. Однако у AppArmor есть некоторые фундаментальные недостатки, которые не будут исправлены в ближайшее время.

SELinux очень безопасен, это также очень раздражает. В отличие от AppAmoror, большинство легитимных приложений не будут работать, пока SELinux не будет перенастроен. Чаще всего это приводит к неправильной настройке администратора SELinux или отключению всего этого вместе.

grsecurity - это очень большой пакет инструментов. Тот, который мне нравится больше всего, - расширенный chroot. Это еще более безопасно, чем SELinux, хотя для установки chroot-тюрьмы требуется некоторое умение и некоторое время, когда SELinux и AppAprmor "просто работают".

Есть 4-я система, Виртуальная машина. В виртуальных средах были обнаружены уязвимости, которые могут позволить злоумышленнику "вырваться". Однако виртуальная машина имеет большее разделение, чем chroot, поскольку в виртуальной машине вы разделяете меньше ресурсов между процессами. Ресурсы, доступные для виртуальной машины, являются виртуальными и могут практически не перекрываться между другими виртуальными машинами. Это также относится к <buzzword> "облачные вычисления" </buzzword>, В облачной среде между базой данных и веб-приложением может быть очень четкое разделение, что важно для безопасности. Также возможно, что 1 эксплойт может владеть всем облаком и всеми виртуальными машинами, работающими на нем.

Лично я бы использовал SELinux, потому что я бы в конечном итоге нацелился на некоторый вкус RHEL, который по большей части настроен из коробки. В Red Hat также есть отзывчивый сопровождающий и множество очень хорошей документации по настройке SELinux. Полезные ссылки ниже.

Другие вопросы по тегам