Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Безопасность

Подписаться на эту рубрику по RSS

Защита файловой системы (Filesystem Protection).

     Как говорилось ранее, псевдофайловая система /prос предоставляет информацию о процессах, которую может употреблять хакер в своих целях. Эта опция дает возможность ограничить доступ к /proc двумя способами:

  • Restrict /proc to User Only (CONFIG_GRKERNSEC_USER) - не root- пользователи не смогут просматривать /proc-информацию о процессах других пользователей, а также информацию о сети и информацию, относящуюся к ядру.
  • Allow Special Group (CONFIGGRKERNSEC USERGROUP)

    — создается специальная группа, которой можно просматривать /proc-информацию. GID этой группы должен быть указан в опции GID for Special Group (CONFIG_GRKERNSEC_PROC_GID).

Далее...

В отличие от SELinux, которая направлена на одну задачу мандатного управления доступом, Grsecurity предоставляет более обширный диапазон технологий укрепления системы, частично перенесенных из мира Open-BSD. Grsecurity реализует мандатное управление доступом (MAC) через применение списков доступа ACL.

     Одна из основных целей Grsecurity - сократить до минимума конфигура­цию системы, потому что сложно настраиваемые системы часто настраива­ются неправильно, что приводит к возникновению потенциальных «дыр» в системе безопасности. Grsecurity значительно проще в на­стройке и использовании, чем SELinux.

     Некоторые основные функции Grsecurity:

Далее...

Модули защиты.

Рубрика: Безопасность | Управление доступом
Метки: |
Дата: 18/06/2009 15:40:46

Возможности root'a

     Начиная с версии ядра 2.1, Linux разделяет всю мощь пользователя root на набор маленьких действий, называемых возможностями (capabilities). Каж­дая возможность представляет какой-то отдельный аспект власти пользова­теля root (например, CAP_CHOWN - возможность изменения владельца файла). Потому что возможности дискретны, надо предоставить процессу отдельные возможности - все или ни одной.

     На данный момент Linux поддерживает 28 возможностей, 7 из которых соответствуют POSIX-стандарту. Полный список возможностей приведен в файле /usr/include/linux/capability.h. Рассмотрим самые инте­ресные из них:

Далее...

Хотя многопользовательская природа Linux и оставшихся Unix-систем рассмат­ривается как изрядно сильная, она все еще далека от совершенства. Са­мая эффективная концепция в мире компьютерной безопасности заключа­ется в предоставлении пользователю минимальных привилегий.

     Unix же не соответствует этому правилу, потому что предоставляет макси­мальный контроль над системой одному пользователю (root) или процес­су с полномочиями root. Во многих случаях даже обычным пользователям часто предоставляются чрезмерные полномочия. Например, зачем поль­зователю, который зарегистрировался в системе только для чтения почты, возможность компиляции исходного кода или запуска фоновых демонов?

     В некоторой степени данная проблема решается употреблением групп и SUDO. В этом случае администратор может определить для каждого пользователя действия, которые он может реализовывать с полномо­чиями root.

Далее...

Несмотря на то, что синтаксис файла политики простой, внесение в него любого системного вызова дело довольно непростое. Кроме знания, что делает некоторый системный вызов, нужно описать каждый сис­темный вызов, используемый приложением.

     Чтобы не забыть какой-нибудь вызов, нужно провести трассировку системных вызовов с помощью ранее рассмотренной программы systrace. Когда будет создан базовый файл политик, разрешающий все необходи­мые приложению системные вызовы, нужно приступить к ужесточению правил - к исследованию различных системных вызовов, которые могут быть использованы для атаки.

Создание файла политики - занятие изрядно утомительное. Systrace предоставляет альтернативный способ.

Далее...

Как уже было сказано, ядром Systrace являются файлы политики, в которых описаны разрешенные системные вызовы и их параметры для конкретных приложений. Файлы политик должны быть помещены в каталог /etc/systrace. Если в этом каталоге файлы политик не найдены, Systrace будет искать их в каталоге ~/.systrace.

     Имя файла политик зависит от приложения, для которого надо эту политику применить, например, если нам надо применить политику для /bin/login, файл политики будет называться bin_login, то есть все слэ­ши в полном имени файла заменяются знаками подчеркивания, а первый слэш - удаляется.

Далее...

Словосочетание «системный вызов» часто применяется администраторами без полного понимания его сути. Представим, что системный вызов - это запрос (на получение ресурсов или выполнение действий) пользователь­ским приложением ядра, например запрос на создание каталога (системный вызов sys_mkdir), или запрос на установку системных часов (sys_stime), или запрос на монтирование файловой системы (sys_mount).

     В Linux обусловлено почти 200 системных вызовов, которые используются для разных действий. Полный список системных вызовов досту­пен на сайте: http://linuxassembly.org/syscall.html.

Далее...