- 13.11.18
- 1,497
- 3,000,000 ₽
- 23
Всем привет.
Хочу поделиться наблюдением, которое меня самого немного удивило — недавно пересмотрел своё отношение к одной системе, которую раньше считал просто «удобной», и оказалось, что зря её недооценивал. Речь про Fedora.
Долгое время думал про неё так: приятный дистрибутив, разработчики любят, свежий софт — но при чём тут безопасность? Когда заходит разговор про security-ориентированный Linux, обычно всплывают Qubes, Whonix, Tails — системы, которые с самого рождения затачивались именно под защиту. Fedora в этот список как-то не попадала. А зря.
Вся соль в SELinux. История у него занятная — разработали его в АНБ, потом отдали открытому сообществу. Работает он иначе, чем стандартная модель прав в Linux. Обычно если у процесса есть root, он может почти всё, что захочет. SELinux добавляет ещё один слой контроля сверху: даже с правами root процесс жёстко ограничен тем, что явно прописано политикой безопасности конкретно для его типа.
И вот тут кроется главная особенность Fedora. SELinux технически можно поставить почти куда угодно, но большинство популярных систем — Ubuntu, Debian, Mint — либо вообще его не трогают, либо используют более мягкий AppArmor. Fedora — один из немногих массовых дистрибутивов, где SELinux включён и реально работает в enforcing-режиме прямо с установки, без плясок с бубном.
Почему это вообще важно. У SELinux три состояния: выключен, «просто записывает в лог» и «реально не пускает». Многие системы, которые его включают, оставляют именно в режиме логирования — видит, что что-то не так, но и пальцем не шевелит. Fedora сразу работает в режиме реального принуждения.
Возьмём простой пример. Допустим, веб-сервер словил уязвимость, его взломали. На обычной системе без активного контроля доступа скомпрометированный процесс может полезть куда угодно, если формально у него есть на это права. С включённым SELinux даже взломанный сервер заперт рамками того, что разрешено конкретно для этого типа процессов. Взлом одного сервиса не превращается автоматом в доступ ко всей системе.
Плюс мелочи, которые тоже играют роль — файрвол работает из коробки и блокирует входящие подключения без всякой ручной настройки, а за плечами дистрибутива стоит крупная компания, значит быстрый и предсказуемый цикл патчей, а не надежда, что волонтёры успеют что-то залатать вовремя.
Честно, не всё так гладко. Fedora не заменит Qubes с изоляцией каждого приложения в своей виртуалке. Не даст анонимизации трафика, как Whonix. Нет того уровня специфичного hardening ядра, который есть у более узкоспециализированных систем. Это дистрибутив общего назначения, где безопасность — одна из задач, а не смысл существования. Но на фоне других систем общего назначения этот самый SELinux в режиме принуждения из коробки реально даёт фору, о которой большинство даже не задумывается.
И минусы тоже имеются. SELinux иногда реально раздражает. Некоторые приложения не рассчитаны на такие строгие политики и начинают чудить, требуя ручной настройки исключений. А сообщения об ошибках у него мутные — вместо внятного «вот тут доступ запрещён потому-то» получаешь что-то невнятное, приходится копаться в логах аудита, чтобы понять, что вообще произошло.
В сухом остатке — Fedora редко всплывает в разговорах про самый безопасный линукс, не строит из себя security-систему. Но по факту, благодаря включённому по умолчанию строгому режиму SELinux, она даёт защиту от компрометации отдельных процессов на уровне, который в большинстве других дистрибутивов приходится настраивать вручную, если вообще кто-то этим озаботится.
Хочу поделиться наблюдением, которое меня самого немного удивило — недавно пересмотрел своё отношение к одной системе, которую раньше считал просто «удобной», и оказалось, что зря её недооценивал. Речь про Fedora.
Долгое время думал про неё так: приятный дистрибутив, разработчики любят, свежий софт — но при чём тут безопасность? Когда заходит разговор про security-ориентированный Linux, обычно всплывают Qubes, Whonix, Tails — системы, которые с самого рождения затачивались именно под защиту. Fedora в этот список как-то не попадала. А зря.
Вся соль в SELinux. История у него занятная — разработали его в АНБ, потом отдали открытому сообществу. Работает он иначе, чем стандартная модель прав в Linux. Обычно если у процесса есть root, он может почти всё, что захочет. SELinux добавляет ещё один слой контроля сверху: даже с правами root процесс жёстко ограничен тем, что явно прописано политикой безопасности конкретно для его типа.
И вот тут кроется главная особенность Fedora. SELinux технически можно поставить почти куда угодно, но большинство популярных систем — Ubuntu, Debian, Mint — либо вообще его не трогают, либо используют более мягкий AppArmor. Fedora — один из немногих массовых дистрибутивов, где SELinux включён и реально работает в enforcing-режиме прямо с установки, без плясок с бубном.
Почему это вообще важно. У SELinux три состояния: выключен, «просто записывает в лог» и «реально не пускает». Многие системы, которые его включают, оставляют именно в режиме логирования — видит, что что-то не так, но и пальцем не шевелит. Fedora сразу работает в режиме реального принуждения.
Возьмём простой пример. Допустим, веб-сервер словил уязвимость, его взломали. На обычной системе без активного контроля доступа скомпрометированный процесс может полезть куда угодно, если формально у него есть на это права. С включённым SELinux даже взломанный сервер заперт рамками того, что разрешено конкретно для этого типа процессов. Взлом одного сервиса не превращается автоматом в доступ ко всей системе.
Плюс мелочи, которые тоже играют роль — файрвол работает из коробки и блокирует входящие подключения без всякой ручной настройки, а за плечами дистрибутива стоит крупная компания, значит быстрый и предсказуемый цикл патчей, а не надежда, что волонтёры успеют что-то залатать вовремя.
Честно, не всё так гладко. Fedora не заменит Qubes с изоляцией каждого приложения в своей виртуалке. Не даст анонимизации трафика, как Whonix. Нет того уровня специфичного hardening ядра, который есть у более узкоспециализированных систем. Это дистрибутив общего назначения, где безопасность — одна из задач, а не смысл существования. Но на фоне других систем общего назначения этот самый SELinux в режиме принуждения из коробки реально даёт фору, о которой большинство даже не задумывается.
И минусы тоже имеются. SELinux иногда реально раздражает. Некоторые приложения не рассчитаны на такие строгие политики и начинают чудить, требуя ручной настройки исключений. А сообщения об ошибках у него мутные — вместо внятного «вот тут доступ запрещён потому-то» получаешь что-то невнятное, приходится копаться в логах аудита, чтобы понять, что вообще произошло.
В сухом остатке — Fedora редко всплывает в разговорах про самый безопасный линукс, не строит из себя security-систему. Но по факту, благодаря включённому по умолчанию строгому режиму SELinux, она даёт защиту от компрометации отдельных процессов на уровне, который в большинстве других дистрибутивов приходится настраивать вручную, если вообще кто-то этим озаботится.