Содержание
Безопасность
Уровни безопасности
Теория
Допустимые значения уровня безопасности securelevel вариируются от-1 до 3.
- -1 - безопасность отключена
- 0 - небезопасный уровень:
- используется во время загрузки или в однопользовательском режиме
- чтение файлов устройств и запись в них - строго согласно выставленным разрешениям
- любые системные флаги могут быть сброшены
- 1 - безопасный уровень:
- режим по умолчанию для многопользовательской системы
- уровень безопасности может быть понижен только с помощью init
- запрещена запись в устройства /dev/mem, /dev/kmem и /dev/io
- устройства сырых дисков в смонтированных файловых системах доступны только для чтения
- системные файловые флаги immutable и append-only не могут быть сброшены
- модули ядра не могут быть загружены или выгружены
- 2 - уровень высокой безопасности: к первому уровню добавляются свойства
- дисковые устройства всегда доступны только на чтение, не зависимо от того, смонтированы они или нет
- settimeofday(2) и clock_settime(2) не могут установить время, меньше текущего
- 3 - уровень сетевой безопасности: ко второму уровню добавляются свойства
- pf фильтр и правила NAT не могут быть изменены
Практика
Узнать текущий уровень безопасности можно командой
epsilon# sysctl kern.securelevel
Выставляется уровень безопасности в /etc/rc.conf:
kern_securelevel_enable="YES" kern_securelevel=1
Уровень безопасности в процессе работы системы может только повышаться.