The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Замена setuid-бита на capabilities для системных программ в Linux
С целью избавления системы от программ с suid-битом, можно использовать следующую инструкцию.
Для привязки capabilities к исполняемому файлу используется утилита setcap из пакета libcap2-bin:

   sudo apt-get install libcap2-bin

Для формирования списка setuid-root и setgid-root программ можно использовать следующие команды:

   find /bin /sbin /lib /usr/bin /usr/sbin /usr/lib -perm /4000 -user root
   find /bin /sbin /lib /usr/bin /usr/sbin /usr/lib -perm /2000 -group root

Команды для замены setuid/setgid для базовых пакетов:

coreutils

   chmod u-s /bin/su
   setap cap_setgid,cap_setuid+ep /bin/su

dcron

   chmod u-s /usr/bin/crontab
   setcap cap_dac_override,cap_setgid+ep /usr/bin/crontab

inetutils

   chmod u-s /usr/bin/rsh
   setcap cap_net_bind_service+ep /usr/bin/rsh

   chmod u-s /usr/bin/rcp
   setcap cap_net_bind_service+ep /usr/bin/rcp

   chmod u-s /usr/bin/rlogin
   setcap cap_net_bind_service+ep /usr/bin/rlogin

iputils

   chmod u-s /bin/ping
   setcap cap_net_raw+ep /bin/ping

   chmod u-s /bin/ping6
   setcap cap_net_raw+ep /bin/ping6

   chmod u-s /bin/traceroute
   setcap cap_net_raw+ep /bin/traceroute

   chmod u-s /bin/traceroute6
   setcap cap_net_raw+ep /bin/traceroute6

pam

   chmod u-s /sbin/unix_chkpwd
   setcap cap_dac_read_search+ep /sbin/unix_chkpwd

shadow

   chmod u-s /usr/bin/chage
   setcap cap_dac_read_search+ep /usr/bin/chage

   chmod u-s /usr/bin/chfn
   setcap cap_chown,cap_setuid+ep /usr/bin/chfn

   chmod u-s /usr/bin/chsh
   setcap cap_chown,cap_setuid+ep /usr/bin/chsh

   chmod u-s /usr/bin/expiry
   setcap cap_dac_override,cap_setgid+ep /usr/bin/expiry

   chmod u-s /usr/bin/gpasswd
   setcap cap_chown,cap_dac_override,cap_setuid+ep /usr/bin/gpasswd

   chmod u-s /usr/bin/newgrp
   setcap cap_dac_override,cap_setgid+ep /usr/bin/newgrp

   chmod u-s /usr/bin/passwd
   setcap cap_chown,cap_dac_override,cap_fowner+ep /usr/bin/passwd

xorg-xserver

   chmod u-s /usr/bin/Xorg
   setcap cap_chown,cap_dac_override,cap_sys_rawio,cap_sys_admin+ep /usr/bin/Xorg


screen - обязательно требует setuid для выполнения определенных проверок

util-linux-ng - не рекомендуется использовать данный пакет с capabilities, так
как в реализации команд mount и umount присутствуют определенные проверки,
которые действуют только с setuid и пропускаются с  capabilities, что дает
возможность пользователям монтировать файловые системы к которым они не имеют доступа.
Подробнее об опасностях, которые сулит перевод программы с setuid на
capabilities без проведения аудита кода, можно прочитать здесь.
 
04.11.2010 , Источник: https://wiki.archlinux.org/index.ph...
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ RSS ]
 
  • 1, segoon, 23:11, 04/11/2010 [ответить] [смотреть все]
  • +/
       setcap cap_chown,cap_dac_override,cap_sys_rawio,cap_sys_admin+ep /usr/bin/Xorg
    Это, конечно, сильно уменьшает права Х-сервера. Эксплойту будет очень сложно получить права админа.
     
  • 2, konst, 19:25, 07/11/2010 [ответить] [смотреть все]
  • +/
    а зачем это надо, если остаются хоть какие-то setuid-битные файлы?
     
  • 3, User294, 22:19, 08/11/2010 [ответить] [смотреть все]
  • +/
    >  дает возможность пользователям монтировать
    > файловые системы к которым они не имеют доступа

    О как. Т.е. возможен еще и даунгрейд секурити таким макаром :)

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 18.02 Как подружить Linux-ядро 3.x и утилиту LSI MegaCli
    - 17.02 Сборка операционной системы Mozilla Boot to Gecko (B2G) для экспериментов в QEMU
    - 13.02 Работа в Linux с автоматом записи и печати на DVD/CD дисках Primera Bravo XRP
    - 12.02 Перекодирование русских символов вида =D0=9B в транслит
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList