как настроить разрешения «скачать», чтобы предотвратить выполнение эксплойтов

Существует хост с локальной службой, которая получает данные из удаленного места (например, http) и сохраняет его локально в /var/log/data/ в некоторых mydir.

 $ ls -al /var/log/data drwxr-sr-x+ 4 root datalog 4096 Feb 4 18:59 . drwxr-xr-x 4 root root 4096 Feb 4 18:59 .. drwxr-sr-x+ 2 root service 4096 Feb 4 19:07 mydir 

Локальная служба запускается с сервисом: владение сервисом.

Предположим, что я хочу предотвратить выполнение эксплойтной программы, которая будет найдена в /var/log/data/mydir :

 -rwxr-sr-x 1 root service 133156 Jul 19 2014 exploit 

Обратите внимание на бит «s» (setgid) в файле эксплойта, который заставляет его выполнять с правами группы обслуживания (аналогично локальной службе).

Как я могу предотвратить потенциальный эксплойт от выполнения там?
Удаление «x» (go-x) из /var/log/data/ и /var/log/data/mydir ? Возможно, это нарушит работу службы …?
Любая другая идея?

3 Solutions collect form web for “как настроить разрешения «скачать», чтобы предотвратить выполнение эксплойтов”

Поскольку я вижу, что нет права на запись для group & others, поэтому они не могут создать любой файл / каталог здесь.

вам просто нужно убедиться, что если вы удалите разрешение на запись от root, что произойдет?

Вы можете использовать ACL, чтобы запретить всем пользователям права на запись и выполнение, а затем явно разрешить только пользователю учетной записи службы иметь только полный rwx. http://linux.die.net/man/1/setfacl

Вы можете уменьшить риск постоянного использования, убедившись, что служба не может создать исполняемый файл в любом месте. Для этого убедитесь, что все файловые системы, к которым имеет доступ служба, соответствуют хотя бы одному из следующих условий:

  • только для чтения
  • смонтирован с опцией noexec
  • не содержит каталога, доступного для записи службой

Запуск службы в chroot тюрьме поможет с уменьшением части файловой системы, которую служба может видеть вообще. Вы можете использовать привязки для просмотра части файловой системы в другом месте.

Обратите внимание, что setgid – это в основном красная селедка. Если злоумышленник может создать исполняемый файл и может обмануть вашу службу при ее запуске, эксплойт будет работать с группой службы в любом случае. Setgid – это только проблема, если злоумышленник может создать исполняемый файл setgid через вашу службу и может обмануть другого пользователя для выполнения этого файла.

Также обратите внимание, что вы получаете только очень небольшую защиту. Если злоумышленник может обмануть вашу систему в выполнении загружаемого файла, скорее всего, у них уже есть способ выполнить произвольный код. Одна вещь, которую вы можете получить, состоит в том, что если злоумышленнику не удастся записать исполняемый файл, эксплойт может не пережить перезапуск службы. Однако это предполагает, что вектор эксплойта – это, например, некоторая сетевая уязвимость, а не, например, уязвимость в синтаксическом анализе файлов.

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

  • Печатать структуру файла в Unix
  • Как получить список затронутых файлов между двумя точками времени?
  • Как узнать, имеет ли файл CAP_NET_ADMIN?
  • Автоматическая команда запуска при копировании файлов в каталог
  • Доступ к каталогу как другому пользователю
  • Перемещение нескольких файлов из нескольких каталогов в исходный адрес
  • Есть ли способ узнать, сколько процессов открывает файл?
  • Мониторинг доступа к каталогу на машине Linux
  • Разрешение группы ACL по-прежнему не позволяет разрешениям на запись
  • Как контролировать открытие и закрытие файлов?
  • Карта чтения / записи файла для получения вывода / отправки ввода в скрипт?
  • Interesting Posts

    запустить исполняемый файл при загрузке

    Автоматически приобретать новый IP-адрес в новой сети

    Что означает «d» в результатах ls -al и что называется этим слотом?

    длительная задержка в (win) rar перед добавлением файлов

    Передача команды sed для открытия команды

    Диск почти заполнен на сервере с помощью CPanel

    Пропуск VGA – код 43 с KVM и libvirt на всех аппаратных средствах AMD

    Перемещение файлов при извлечении RPM

    Переустановка Linux с резервным копированием

    Название «уведомлено» ресурсом из «уведомленного» ресурса в кукольном

    VIM – изменить время ожидания комбинированных ключевых карт

    Отсутствие массива RAID-массива mdadm reassembles как raid0 после отключения питания

    Чтобы защитить мои данные, полезно иметь отдельные разделы данных (вместе с отдельным домашним разделом)

    Запустите команду в фоновом режиме, дождитесь определенной строки журнала, затем выполните новую команду на переднем плане

    Где я могу найти хороший шаблон bashrc?

    Linux и Unix - лучшая ОС в мире.