Главная > Операционные системы > UNIX
Описание: Системы BSD предоставляют несколько предопределённых настроек безопасности, известных как уровни безопасности (securelevels). Кандидат должен знать на каком он уровне безопасности, можно ли поднять или опустить уровень безопасности и как. Практика: init(8), sysctl(8),
Комментарий
Функциональность securelevel можно рассматривать как метод защиты ядра, сырых устройств (raw devices), и файловой системы от атак злоумышленника, которому удалось взломать учётную запись суперпользователя. Защита ядра в общем случае включает в себя невозможность загрузки собственных модулей ядра и прослушивания проходящего через систему трафика. Функциональность securelevel/security присуствует во всех BSD системах с небольшими отличиями.
Уровни безопасности служат для ограничения возможностей системы до такой степени, которая соответствует её рабочему окружению (среде работы). В OpenBSD он устанавливается скриптом rc.securelevel(8):
# $OpenBSD: rc.securelevel,v 1.16 2004/07/06 04:05:03 deraadt Exp $
#
# в этом скрипте определяются действия, которые можно осуществить ДО
# того, как система перейдёт в безопасный режим. Действия, которые можно
# совершить ПОСЛЕ того, как будет определён уровень безопасности
# системы, должны помещаться в скрипт
В FreeBSD значение уровня безопасности
выставляется в файле kern_securelevel_enable="YES" kern_securelevel=1 В DragonFly BSD уровень безопасности выставляется так же как в FreeBSD, за исключением того, что переменной kern_securelevel_enable выставлять не надо.
В NetBSD уровень безопасности так же
выставляется через файл securelevel=1 Уровень безопасности может быть прочитан или установлен с помощью утиллиты sysctl(8) через переменную kern.securelevel. По окончании процесса загрузки системы вы можете узнать текущий уровень безопасности системы набрав в командной строке:
Вы можете повысить уровень безопасности командой:
В процессе работы уровень безопасности системы может только повышаться. Уменьшение значения переменной ядра kern.securelevel запрещено. Ядра OpenBSD и NetBSD предоставляют 4 уровня системной безопаности, а FreeBSD и DragonFly BSD — 5. Последний уровень в них разбит на два подуровня.
Наивысший уровень безопасности во FreeBSD и DragonFly BSD разбит на два уровня. Невозможность изменения правил pf(8) и NAT вынесены на уровень 3. Режим повышенной безопасности может показаться драконовским, но он задумывался как последняя линия обороны в случае если учётная запись суперпользователя вскрыта. Эти эффекты предотвращают обход файловых флагов путем прямой модификации сырых дисковых устройств или стирание файловой системы при помощи команды newfs(8). Далее, они могут ограничить потенциальное разрушающее действие (потенциальный вред от) вскрытого файрвола, путем запрещения модификации правил пакетного фильтра pf(8). Предотвращение перевода системного времени назад помогает при послеаварийном анализе и прибавляет уверенности в корректности журнальных файлов. При этом несколько страдает точность вычисления времени, так как блокировка времени осуществляется немгновенно. Так как уровень безопасности может быть изменён при помощи отладчика ddb(4), вполне логично заблокировать его работу, как представлено уровнями 1 и 2 (и 3 во FreeBSD и DragonFly BSD). Это обеспечивается установкой переменных ядра ddb.console и ddb.panic в 0.
Не лишним будет упомянуть, что установку переменных на этапе
загрузки можно выполнить в конфигурационном файле
ddb.console=0 ddb.panic=0 В разных системах семейства BSD придаётся различный смысл различным уровням безопасности. Чтобы получить конкретную информацию по вашей операционной системе, используйте следующие ссылки:
Главная > Операционные системы > UNIX |