====== Безопасность ====== ===== Уровни безопасности ===== ==== Теория ==== Допустимые значения уровня безопасности **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 Уровень безопасности в процессе работы системы может только повышаться.