Вот-вот должна была выйти новая ветвь ядер — 2.4.0. Дата выхода откладывалась несколько раз, подогревая интерес к новой разработке. Можно было бы говорить о маркетинговой политике компании-разработчика, если бы операционная система Linux разрабатывалась одной организацией с целью получения коммерческой выгоды. В действительности нет никакой компании, никакой политики и никакой выгоды. Ведь, несмотря на свою популярность, ОС Linux сохраняет статус бесплатно распространяемой.
Когда в 1991 года Линус Торвальдс объявил официальную версию 0.2, вряд ли он представлял себе все возможные сферы применения своего детища |
Сейчас мы наблюдаем стремительный рост серверных решений на базе Linux, неспешное, но постоянное увеличение клиентских рабочих мест и «предреволюционную» ситуацию в использовании ОС в качестве маршрутизатора и межсетевого экрана.
Linux-ядра содержали фильтр пакетов, начиная с ряда 1.1. Первое его поколение, основанное на ipfw, было перенесено Аланом Коксом из BSD в конце 1994 года, затем развито Джосом Восом и другими разработчиками для Linux 2.0. Пользовательский инструмент ipfwadm управлял правилами фильтрация. С его помощью можно было настроить простейшие правила для работы с фильтрацией пакетов, разрешить или запретить трансляцию адресов, установить «прозрачное» проксирование. Система была не очень удобной, но главное — она работала. Сразу же появились первые коммерческие решения межсетевых экранов на базе Linux-платформ. В середине 1998 года для ядра Linux 2.2 была реализована утилита ipchains.
В процессе эксплуатации межсетевых экранов выяснилось, что использовать системы с открытыми исходными текстами достаточно выгодно в силу целого ряда причин.
- Регулярные обновления. Очередные рабочие версии программ выходят раз в несколько дней. Наличие возможности контакта с автором через электронную почту позволяет рассчитывать на исправление обнаруженной ошибки в течение недели-другой.
- Возможность самостоятельной модификации. Поскольку программа доступна в исходных текстах, то, при условии определенного уровня квалификации, можно самостоятельно вносить в них изменения и добавлять собственные функции. Все модификации с помощью системы согласований вносятся в конечную версию программы. Кроме того, при внесении правок в исходный текст происходит их проверка и согласование между различными группами программистов, поэтому преднамеренное внесение закладок в программу становится если не невозможным, то гораздо более трудным делом, чем в случае коммерческих продуктов.
- Существование массы конференций и форумов, в которых можно задать вопрос и получить квалифицированную помощь.
- Лицензионная чистота продукта. При использовании свободно распространяемых программ в своих решениях нет опасности столкнуться с преследованием за нарушение чьих-то авторских прав и торговых марок.
Вследствие этого, многие домашние и университетские сети, а также выход в Сеть многих малых и средних предприятий защищаются сегодня с помощью экранов на базе Linux.
Работа фильтра пакетов
Весь трафик, проходящий через межсетевой экран, пропускается через заблаговременно созданный свод «правил», содержащий указания, как поступать с тем или иным пакетом в зависимости от адреса отправителя, получателя или службы, к которой он принадлежит. Правила могут указывать примерно следующее: разрешить проход всех Web-пакетов с адреса 10.0.0.1 на адрес 12.12.12.12; запретить проход всех Telnet пакетов с адреса 12.12.12.12 на адрес 10.0.0.1, все попытки записывать в журнал. Правила также определяют, вести ли журнал попыток нарушения запретов, подсчитывать количество прошедших пакетов, устанавливать приоритеты одних пользователей перед другими. Для удобства работы администратора, правила могут объединяться в группы, или цепочки.
Следующим шагом в развитии фильтра пакетов стало введение IP-цепочек в версии ядра 2.1.102, которые начиная с версии 2.2 перекочевали в стабильную ветвь IPchains. Здесь самое время прокомментировать идеологию разработки ядер Linux. Одновременно существует и разрабатывается два ядра — стабильное и нестабильное. Стабильное, как следует из его названия, включает в себя проверенный и отлаженный код, а нестабильное — различные эксперименты и изыски (в том числе, новые драйверы, подходы и подсистемы). Поэтому все новое появляется сначала в нестабильных ядрах, а затем переносится в стабильные. Для удобства стабильные ядра, вопреки мнению пифагорейцев, имеют нумерацию с четной второй цифрой, нестабильные — с нечетной. Так, ядра 1.3.4, 2.1.100 и 2.3.1 — нестабильные, а 1.2.8, 2.2.17 и будущее 2.4.0 — стабильные.
Для управления фильтром стала использоваться программа ipchains, которая пришла из лагеря BSD. Принятие новой идеологии было обусловлено тем, что старый код (будем называть его по имени управляющей программы ipfwadm) не работал с фрагментами, имел 32-разрядные счетчики, не позволял работать с протоколами отличными от TCP, UDP или ICMP, не мог определять обратные правила, имел некоторые ошибки и был довольно труден в управлении. Основным преимуществом нового подхода к построению фильтра пакетов была детально проработанная возможность создавать определяемые пользователем цепочки правил.
Каждый пакет, проходящий сквозь межсетевой экран, последовательно обрабатывается в трех встроенных цепочках: входной (input), выходной (output) и пересылочной (forward). Очень часто вся обработка заключается в том, что входная цепочка по какому-нибудь правилу просто отбрасывает пакет. Добавляемые пользователем цепочки внесли разнообразие в эту линейную схему — теперь пользователь имеет возможность создать свою цепочку правил, назвав ее, например bad-net, и задать в ней порядок обработки пакетов, пришедших из «нехорошей» сети: например, пропускать только Web-пакеты, подсчитывая их количество и задерживать все остальные без уведомления отправителя, занося в журнал попытки нарушения. Теперь остается лишь вставить во входную цепочку условие, перенаправления пришедшего пакета по определенным критериям в цепочку bad-net. Не правда ли, очень напоминает структурное программирование, когда функция сначала определяется, а потом просто вызывается из основной программы или другой функции?
С введением программы ipchains появилась возможность строить сложные разветвленные стратегии защиты, предварительно определяя порядок действия правил. Подобные средства особенно важны при использовании межсетевого экрана одновременно для соединения более двух сетей. Рассматривая новшества, появившиеся в свое время в 2.2, можно сказать, что это ядро, помимо поддержки нового оборудования, характеризовалось новой архитектурой, значительно повышающей его производительность и устойчивость. Несмотря на то что требования к ресурсам несколько возросли, это был значительный шаг вперед, позволявший создавать новые прогрессивные системы защиты.
Возможности нового ядра
Прогресс не стоит на месте и все новшества, которые появлялись в линейке нестабильных ядер 2.3, требовали «выхода» на свет. И вот началась разработка нового ядра — стабильной версии 2.4 (версия 2.4.0-test11). Рассмотрим его концептуальные отличия, особенно касаясь тех, которые напрямую влияют на безопасность системы, а также на моменты несовместимости с предыдущей линейкой 2.2, которые могут послужить камнями преткновения в создании надежной системы защиты.
Вновь расширился список поддерживаемых платформ. Особенно актуально появление поддержки Pentium IV и Itanium; теперь ядро может работать с процессорами с тактовой частотой до 2 ГГц и оперативной памятью емкостью до 64 Гбайт. Система, оснащенная ядром 2.4, обеспечивает одновременное функционирование 10 IDE-контроллеров и до 16 Ethernet-адаптеров. Это позволит использовать в качестве аппаратной платформы для межсетевого экрана новые производительные машины, обрабатывающие большие объемы трафика. Так же, как ядро 2.2 в сравнении с предыдущими версиями имело более совершенную реализацию работы с памятью и дисковыми подсистемами, так и 2.4 представляет новую разработку в этой области. Во-первых, это чисто количественное увеличение одновременно работающих процессов и улучшенная масштабируемость в многопроцессорных системах. Во-вторых, возможность работы с большим числом пользователей и групп.
Сетевая подсистема также претерпела значительные изменения. Например, если раньше процессы, находящиеся в состоянии ожидания сетевого соединения, при поступлении запроса «пробуждались» все сразу, то в новом ядре наведен порядок. Вообще, сетевая система переписана кардинально: увеличена масштабируемость, повышена надежность работы на многопроцессорных конфигурациях, даже учтены «изъяны» реализации основных протоколов Internet в различных ОС, включая Windows. Разработчики ядра утверждают, что сегодня только Linux полностью удовлетворяет спецификациям IPv4. Полностью переписан механизм фильтрации пакетов и трансляции сетевого адреса. Поддерживается большее число стандартных сетевых интерфейсов.
Объединены возможности обычного протокола PPP и его ISDN-«собрата». Добавлена возможность PPPoE (PPP over Ethernet, используемый некоторыми провайдерами услуг DSL-сетей). В новой ветви ядра появилась поддержка протокола NetBEUI, необходимого для нормального функционирования некоторых сетевых Windows-приложений. Из версии 2.3 перенесен встроенный в ядро демон HTTP. Он отличается большей компактностью и может быть использован в случаях, когда применение «полновесного» Apache нецелесообразно. Правда, для российского пользователя эта новость может показаться неактуальной, так как поддержка «многострадальных» русских кодировок в этом Web-сервере не предусмотрена.
Хотя действующие в США ограничения на экспорт криптосредств были пересмотрены еще во времена Linux 2.2, ядро 2.4, вряд ли, включит их поддержку в главном исполнении. Импорт и экспорт криптографических средств регулируется по-разному в разных странах мира, и это затрудняет жизнь многим разработчикам Linux.
Новый Linux как шлюз Internet
Новая система маршрутизации обещает быть более гибкой. Например, разделены подсистемы фильтрации и трансляции адресов. Теперь многие протоколы могут маршрутизироваться через Linux-компьютер. Одним из существенных дополнений стало появление в сетевой поддержке механизма явного уведомления ECN (Explicit Congestion Notification), который позволяет совместимым с ним маршрутизаторам обмениваться с Linux сообщениями о состоянии маршрутов. Это дает Linux-маршрутизатору возможность оптимизировать трафик, направляя пакеты по тем маршрутам, пропускная способность которых на данный момент наибольшая.
Как уже было сказано, механизм фильтрации пакетов и трансляции сетевого адреса в новом ядре претерпел очередную радикальную модификацию. Предыдущая была совсем недавно, при переходе на ядро 2.2. И вот для Linux 2.4 появились инструменты нового поколения, предназначенные для нового ядра. Одна из уникальных возможностей этих инструментов — использование синтаксиса ядер Linux 2.0 (утилита ipfwadm) и Linux 2.2 (утилита ipchains), что дает возможность безболезненного перехода на новое ядро и модификации старых систем защиты. Фильтр пакетов в новом ядре получил название netfilter, а утилита его конфигурирования — iptables.
Какие же изменения произошли в новом фильтре пакетов по сравнению со старым?
- Изменились названия встроенных цепочек — теперь они пишутся в верхнем регистре, потому что цепочки INPUT и OUTPUT используются только в местных пакетах. Они предназначены для того, чтобы видеть все входящие и исходящие пакеты соответственно.
- Флаг -i теперь обозначает входящий интерфейс и работает только в цепочках INPUT и FORWARD. Правила в цепочках FORWARD и OUTPUT, которые использовали -i, должны быть изменены на -o.
- Правила для портов TCP и UDP теперь должны разъясняться флагами —source-port (или -sport — «исходный порт») и -destination-port (или -dport — «порт назначения»), и помещаются после флага -p tcp или -p udp, поскольку этим загружаются расширения TCP или UDP соответственно.
- Флаг TCP «-y» теперь называется «-syn», и должен устанавливаться после «-p tcp».
- Цель DENY теперь называется DROP.
- Обнуление встроенных цепочек также очищает счетчики политик.
- Пролистывание цепочек дает моментальный снимок их счетчиков.
- REJECT и LOG являются теперь расширенными целями (т.е. являются отдельными модулями ядра).
- Названия цепочек теперь могут иметь длину до 31 символа.
- Цель MASQ теперь называется MASQUERADE и использует несколько измененный синтаксис. REDIRECT, хотя и сохранила имя, также подверглась изменению синтаксиса. (Более подробно об этом можно узнать в документе NAT-HOWTO.)
- Опция «-o» больше не используется для направления пакетов на пользовательское устройство. Для этого теперь применяется направление на цель QUEUE.
Для замены сетевых адресов теперь используется две различные идеологии: трансляция по источнику Source NAT (SNAT) и трансляция по получателю Destination NAT (DNAT).
Трансляция по источнику означает изменение исходного адреса первого пакета (например, изменяется адрес для входящих пакетов). Трансляция по источнику всегда производится после маршрутизации, перед тем, как выпустить пакет «в провод». «Маскарад» (Masquerading) — специализированная форма SNAT. Трансляция по источнику полезна в случае, когда производится подключение к Internet локальной сети с фиктивными адресами (например, 192.168.1.0 или 10.0.0.0). Такой вариант подключения очень часто выбирают небольшие предприятия, поскольку он позволяет решить сразу несколько проблем. Во-первых, не нужно менять адреса на всех подключаемых машинах: достаточно задать правило трансляции. Во-вторых, не нужно платить за большое пространство IP-адресов. Тем более что стандартным у провайдеров стало выделение при подключении всего 8 IP-адресов. Во-вторых, при работе во внешней сети отображается только один адрес — адрес машины-шлюза. Тем самым достигается дополнительная конфиденциальность, ведь никто не знает, сколько машин находится за шлюзом. Вариант подключения с трансляцией адреса беспроигрышен при организации доступа по коммутируемым телефонным линиям: один динамически распределяемый IP-адрес может обеспечить нормальную работу сети из 5-7 машин.
Трансляция по назначению означает присвоение альтернативного адреса предназначения для первого пакета, например, когда идет входящая связь. Трансляция по назначению всегда делается перед маршрутизацией, когда пакет сначала приходит «из провода». Перенаправление порта (Port forwarding), разделение нагрузки (load sharing) и «прозрачное» проксирование (transparent proxying) — это формы DNAT. Перенаправление портов и основанная на его базе технология «прозрачного» проксирования позволяет создавать связку «межсетевой экран — прокси-сервер», для того чтобы обрабатывать поток запросов от пользователей, которые даже не подозревают, что работают через прокси-сервер. Как это происходит? Клиент посылает запрос, например, по протоколу HTTP (порт 80). Этот запрос должен пройти через оснащенный iptables шлюз во внешнюю сеть. Включенная процедура «прозрачного» проксирования вылавливает из общего потока пакеты, имеющие порт назначения 80 и перенаправляет их на порт прокси-сервера (к примеру, 3128). Прокси-сервер, специально настроенный для обработки подобных запросов, извлекает из них адреса назначения, выполняет выкачивание необходимой информации и возвращает ее клиентам. В результате клиенты даже не подозревают, что работают через прокси-сервер — он для них становится «прозрачным».
Новый фильтр пакетов расширяем; это означает, что к нему могут быть подключены новые модули. При желании модули можно разрабатывать самостоятельно. Часть из этих расширений уже использовались в ipchains; речь идет о расширениях в виде модулей ядра (/lib/modules/2.4.0-test11/net). Пока они не могут загружаться по требованию, поэтому их надо подгружать самостоятельно с помощью команды modprobe. В будущем планируется создать механизм автозагрузки по требованию.
Новшеством версии 2.4 стали дополнения к iptables в виде разделяемых библиотек, которые обычно «живут» в /usr/local/ lib/iptables/, хотя некоторые дистрибутивы помещают их в /lib/iptables или /usr/lib/iptables. Дополнения бывают двух типов: новые цели и новые тесты. Некоторые протоколы автоматически предлагают новые тесты (на данный момент это TCP, UDP и ICMP). Для этих протоколов тесты задаются в командной строке после флага «-p», загружая соответствующее дополнение. Для явного задания новых тестов используется флаг -»m», загружающий дополнение, которое после этого становится доступным. Для получения помощи по дополнению можно использовать флаг загрузки этого дополнения (-p или -m) в комбинации с флагом «-h» или «-help».
В качестве краткого резюме по новому фильтру пакетов можно отметить, что революции, с точки зрения пользователя, не произошло, и командная строка iptables мало чем отличается от командной строки ipchains, разве что стала более понятной, простой и удобной. Почти все изменения произошли внутри. Но, думаю, что и перечисленных преимуществ достаточно для того, чтобы сделать вывод о высокой эффективности решений на базе нового ядра.
LIDS
Кроме систем защиты, встроенных в ядро, существует множество других разработок, повышающих безопасность Linux-систем. Одна из них — LIDS (Linux Intrusion Detection System), система обнаружения вторжений, призванная защитить рабочие станции и серверы «изнутри». Изначально системы GNU/Linux имели ряд потенциальных проблем безопасности:
- незащищенность файловой системы;
- незащищенность процессов;
- незащищенность администрирования системы;
- возможность злоупотребления правами со стороны суперпользователя;
- отсутствие механизма гарантированного установления подлинности получающего доступ к системе;
- неразвитая модель контроля доступа.
Конечно, это лишь потенциальные слабости системы, но они могли послужить лазейками при взломах. Пакет LIDS представляет собой дополнение к ядру и инструмент администрирования, способствующие увеличению безопасности на уровне ядра Linux. Он призван ограничить суперпользователя в правах для того, чтобы не давать злоумышленникам шансов. Естественно, делается все это не в ущерб работе: при вводе специального пароля, хранящегося в зашифрованном виде в скрытом системном файле, суперпользователь может быть «восстановлен в правах».
Эта прекрасная система начала свой путь с ядра версии 2.2.13, но лучше всего зарекомендовала себя в новом ядре. Естественно, что использовать ее можно не только в межсетевых экранах, но и в Web-серверах, даже в рабочих станциях. Самое «красивое» применение системы защиты LIDS — это запрещение модификации информационного наполнения, которое делает бессмысленным сам процесс взлома Web-сервера. Отметим, что установка и работа LIDS ведется независимо от установок межсетевых экранов. Если при разработке Web-сервера принимается решение о необязательности установки фильтрации пакетов, но высказывается пожелание о дополнительных средствах защиты, то использование LIDS — как раз тот случай.
Резюме
Безопа8сность системы складывается из нескольких составляющих: грамотно выбранные программные компоненты, надлежащая их установка и конфигурация и грамотное администрирование. Новое ядро Linux значительно расширяет возможности для создания удобных, безопасных и надежных систем защиты. Нет сомнений, что вскоре будут сделаны дистрибутивы на его базе.
Как и прежде, второй «половиной» надежности системы защиты продолжает оставаться грамотный, профессиональный администратор. Именно он «ведет» ваш экран, Web-сервер или почтовый шлюз. Его задача — реагировать на ситуацию, устранять неполадки и предотвращать неблагоприятное развитие событий. Поскольку новое ядро Linux является преемником старых версий, знания, опыт и навыки ваших системных администраторов, работающих с Linux, становятся только актуальнее, а локальные сети, охраняемые Linux-экранами безопаснее.
Александр Колядов — начальник отдела защиты информации компании «Атанор». С ним можно связаться по электронной почте по адресу: koljadow@atanor.ru.
Некоторые термины
Фильтрация пакетов. Весь трафик, проходящий через межсетевой экран, пропускается через заблаговременно созданный свод «правил», который содержит указания, как поступать с тем или иным пакетом в зависимости от адреса отправителя, получателя или службы, к которой он принадлежит. Естественно, что правила записываются на языке, более понятном машине, чем человеку и выглядят гораздо сложнее. Также правила определяют, вести ли журнал попыток нарушения запретов, подсчитывать количество прошедших пакетов, устанавливать приоритеты одних пользователей перед другими. Для удобства работы администратора, правила могут объединяться в группы. Такие группы получили название цепочек.
Трансляция сетевого адреса. При подключении к Сети возможны ситуации, когда для работы выделяется всего несколько IP-адресов на всю локальную сеть, состоящую из десятков машин. В таком случае используют механизм, называемый трансляцией сетевых адресов — машина-шлюз заменяет во всех пакетах, идущих во внешнюю сеть, внутренние адреса на свой собственный «настоящий» адрес, а во всех пакетах, идущих обратно, производит обратное преобразование.
Прозрачное проксирование. Если хотят добиться, чтобы все клиенты работали через прокси-сервер (обычно это актуально для протоколов HTTP и FTP), используют механизм межсетевого экрана, который «вылавливает» соответствующие запросы и направляет их на обработку прокси. Клиенту в этом случае не требуется специальных настроек для работы.
Различия между ipchains и ipfwadm.
Многие параметры были повторно переопределены: заглавные буквы теперь указывают команду, а строчные буквы теперь указывают опцию.
Поддерживаются произвольные цепочки, так даже встроенные цепочки обозначаются именами вместо флажков (напр. «input» вместо «-I»).
«-k» опция исчезла: используйте «! -y?.
«-b» опция фактически вставляет/добавляет/удаляет два правила, скорее чем одно правило `bidirectional?.
«-b» опцию можно использовать с «-C», чтобы сделать две проверки (в каждом направлении).
«-x» опция в «-l» была заменена на «-v».
Больше не поддерживаются множественные порты источника и адресата. Однако можно воспользоваться возможностью отрицать диапазоны портов.
Интерфейсы могут быть определены только именем (не адресом). Старая семантика заменена в ядре 2.1.
Фрагменты проверяются, не разрешены автоматически. Могут быть проверены произвольные протоколы над IP.Изменено старое поведение соответствий SYN и ACK (который предварительно игнорировались для не-TCP пакетов); опция SYN не допустима для не-TCP-специфичных правил.
Счетчики на 32-разрядных машинах теперь 64-разрядные.
Поддерживаются обратные опции, ICMP коды, уайлдкарты интерфейсов.
Исправлены манипуляции с TOS: старый код ядра зависал при неправильном управлении битом `Must Be Zero? TOS; теперь ipchains возвращает ошибку.
Возможности загружаемых дополнений
TCP-дополнения
Загружаются при включении флагом -protocol tcp:
-tcp-flags — позволяет оперировать с TCP-пакетами определенного типа (SYN, ACK и т. п.) Программа ipchains могла работать только с пакетами типа SYN, iptables различает их все, а специально для SYN есть свое дополнение -syn.
-source-port (-sport) — работа с пакетами, пришедшими с определенного исходного порта или диапазона портов. Порты могут быть указаны как по именам служб (/etc/services), так и числами. Диапазоны могут задаваться двумя именами, отделенными знаком «-», что очень полезно для закрытия внешних интерфейсов, например, используя синтаксис —source-port ftp, можно пропускать во внутреннюю сеть только ответы от ftp-серверов.
-destination-port (-dport) — то же самое, только для входного порта. Это наиболее часто используемый флаг, который, по сути, осуществляет фильтрацию всех протоколов. Если во входной цепочке разрешается
-destination-port www, это означает пропускать все запросы, направленные к Web-серверам.
UDP-дополнения
Загружаются при включении флагом -protocol udp
Включают флаги -source-port (-sport) и -destination-port (-dport), работают так же, как описано про дополнения TCP. Протокол UDP используется такими важными службами, как DNS, ICQ и некоторыми другими.
ICMP-дополнение
Загружается при включении флагом -protocol icmp
Это флаг -icmp-type, описывающий типы пакетов, которые нужно разрешить/запретить. Тип может задаваться как названием, так и числовым значением. Список доступных значений можно получить с помощью флагов -p icmp -help. Протокол ICMP не имеет самостоятельного значения при организации служб Internet, но призван передавать различные служебные сообщения, возникающие при работе. Наиболее знакомое применение протокола ICMP — команда ping. Любопытно, что тип пакетов, направляемых во внешнюю сеть этой командой, называется ping, а ответы на них -pong. Например, если запретить прохождение пакетов ping и разрешить прохождение pong сквозь внешний интерфейс, мы можем сделать наш шлюз «невидимкой» — его невозможно будет «пинговать» из внешней сети, но из внутренней будет «пинговаться» вся Сеть.
Другие дополнения
Задействуются флагом -m
-mac — позволяет работать с аппаратным (MAC) адресом сетевого адаптера, задаваемым в пакетах, поступающих в INPUT и FORWARD-цепочки. Задается только один адрес.
-mac-source — может использовать знак отрицания ! и задает MAC-адрес Ethernet-адаптера в формате 00:60:08:91:CC:B7. Очень полезное дополнение, которое позволяет анализировать не только заголовки IP-пакетов, но даже заголовки Ethernet-кадров. Эта возможность может быть задействована в случаях, когда нужно запретить смену IP-адреса пользователем.
-limit — загружается флагом -m limit или —match limit и используется для ограничения числа транзакций, например, для подавления сообщений в файлы журнала. Параметры соответствуют количеству раз в секунду.
Система обнаружения вторжений для Linux
Основные особенности системы LIDS:
Защита файлов. Никто, включая администратора, не может изменять защищенные файлы. Кроме того, любой файл может быть просто скрыт.
Защита процессов. Никто, включая администратора, не может убивать защищенные процессы. Процессы могут быть скрыты.
Имеется датчик сканирования портов в ядре.
Конфигурирование системы возможно только после набора дополнительного пароля, который хранится в закрытом и зашифрованном файле. Поскольку вся настройка системы ведется с помощью утилиты, не зная пароля нельзя изменить установки.
Защита файлов и процессов ведется на уровне приложений, то есть две разные программы, запущенные с правами одного пользователя будут иметь разные полномочия.
LIDS позволяет запретить перезапуск системы, поэтому вывод из строя защищенной машины становится возможен только при наличии физического доступа.
Система ведет журнал действий с защищенными объектами, при необходимости может посылать сообщения по электронной почте.