Как полезный монтирует/tmp noexec?

если Вы хотите немного, дополнительные свойства в соответствии с Linux - пробуют htop.

это - вершина на стероидах, можно настроить его для отображения на процессорном времени 'панелей', тратят в userland/system/iowait/irqs., это могло бы высказать Вам хорошее мнение, что является причиной загрузки.

все еще - некоторая информация, которую Вы получаете от vmstat, не будет отображена в htop.

можно также смотреть на SAR от sysstat. [iostat, упомянутый Kyle Brandt, является частью того же пакета].

39
задан 9 October 2009 в 16:16
6 ответов

Вот аргументы в пользу утилиты, которую я придумал до сих пор:

Современные ядра фиксируют /lib/ld-linux.so дыра, так, чтобы это не могло отобразить исполняемые страницы от a noexec файловая система.

Точка интерпретаторов является, конечно, все еще беспокойством, хотя я думаю меньше об одном, чем люди могли бы требовать. Обоснование, которое я могу придумать, состоит в том, что были многочисленные уязвимости расширения полномочий, которые полагались на создание конкретного уродливого syscalls. Без взломщика, обеспечивающего двоичный файл, было бы намного более трудно сделать зло syscalls. Кроме того, интерпретаторы сценария должны быть непривилегированными (я знаю, что это исторически иногда не имело место, такой как с suid жемчугом), и так нуждался бы в их собственной уязвимости, чтобы быть полезным в нападении. По-видимому, возможно использовать Python, по крайней мере, выполнить некоторое использование.

Много 'консервированного' использования могут попытаться записать и выполнить исполняемые файлы в /tmp, и так noexec уменьшает вероятность падения на нападение в виде сценария (скажите в окне между раскрытием уязвимости и инсталляцией исправлений).

Таким образом существует все еще преимущество безопасности для монтирования /tmp с noexec.

Как описано в средстве отслеживания ошибки Debian, устанавливая APT::ExtractTemplates::TempDir в apt.conf к каталогу, который не является noexec и доступный для корня устранил бы беспокойство debconf.

31
ответ дан 28 November 2019 в 19:46
  • 1
    однако, я имею , слышал, что приложения будут иногда повреждаться, если/tmp не будет исполняемым файлом. I' ve все же, чтобы на самом деле видеть, что он происходит все же. –  neoice 9 October 2009 в 09:56
  • 2
    Как отмечено в руководстве, связанном в вопросе, это действительно смешивает с предварительным конфигурированием пакета Debconf, не настраивая альтернативу. –  Phil Miller 13 October 2009 в 21:15

Много пакетов Debian требуют, чтобы/tmp был исполняемым файлом для пакета для установки. Они часто отмечаются как ошибки ('нормального'/'wishlist' серьезность):

https://www.google.com/#q=site:bugs.debian.org+noexec +/tmp

Я получил просто эту ошибку при установке обновленного ядра на стабильном ответвлении как раз сегодня.

Таким образом, это похоже на Debian (и производные?) не готово к/tmp быть смонтированным noexec...

7
ответ дан 28 November 2019 в 19:46

Даже при том, что обходные решения существуют для большинства дополнительных мер безопасности, которые Вы могли бы принять решение реализовать, даже наиболее легко обошедшие меры безопасности (такие как монтирование/tmp noexec или выполнение SSH на альтернативном порте) будут мешать автоматизированным или заданным сценарием нападениям, которые полагаются на значения по умолчанию для функционирования. Это не защитит Вас от решительного и хорошо осведомленного взломщика, но хорошо более чем 99% времени, Вы не будете противостоять решительному или хорошо осведомленному взломщику. Вместо этого Вы будете защищать себя от автоматизированного сценария нападения.

4
ответ дан 28 November 2019 в 19:46

добавьте следующее к/etc/apt.conf, или,/etc/apt/apt.conf.d/50remount

DPkg::Pre-Install-Pkgs {"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};
6
ответ дан 28 November 2019 в 19:46
  • 1
    я заменил mount /bin/mount в случае, если PATH изменяется. Вы никогда не будете знать. –  Lekensteyn 10 December 2010 в 17:24

Существуют приложения, которым для установки требуется исполняемый файл / tmp. На предыдущей работе, до того, как я туда попал, администраторы настроили / tmp noexec, но я обнаружил, что пакет db2 не устанавливается. Даже если вы распакуйте пакет db2 в другом месте, процедура установки копирует некоторые файлы в / tmp и ожидает, что сможет их выполнить, что, конечно, не удалось из-за отказа в разрешении. Если вы не знаете, что файловая система смонтирована как noexec, это может ввести в заблуждение. Продолжить установку удалось только после того, как я перемонтировал / tmp без noexec.

В любом случае, дело в том, что по крайней мере один коммерческий продукт требует, чтобы / tmp не был смонтирован noexec, и могут быть другие. Я не нашел для этого действительно веской причины. Если вам нужна лучшая безопасность, я бы выбрал selinux.

1
ответ дан 28 November 2019 в 19:46

Первый: Он охватывает множество различных случаев атак Выключить его, потому что было несколько известных способов обойти это (некоторые из которых даже исправлены), - это странно. Злоумышленники, загружающие код в / dev / shm или / tmp, - обычное дело.

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

  • Это также может быть остановлено пользовательскими ограничениями iptables.
  • Это также может быть остановлено SELinux.
  • Это также может не быть остановлено из-за легко доступного другого эксплойта.

Дело в том, чтобы сделать его настолько сложным, насколько вы легко можете, и исключить 99% атак.

Второй: Он останавливает плохую практику (запуск файлов из temp, установка основных приложений через / tmp вместо пользовательского tmpdir), оставляя данные в / tmp. Пользовательские установщики обычно понимают TMPDIR Также: даже если нет: время установки, как действие на определенный момент времени, не является веской причиной для отключения проблемы безопасности навсегда .

Третье: Учитывая анонимные пространства имен в / tmp («функция»), вы действительно хотите ограничить то, что там помещается, и запускать оттуда.

Forth: Удобство здесь не играет роли. Предположим, мы запускаем серверы за деньги и с определенной целью: мы несем ответственность за все это. «О, я не блокировал / tmp, потому что мне нужно еще несколько минут, когда я обновлю свое программное обеспечение в следующем году». Конечно, это будет не одна вещь, которая стоит между шантажом и нормальным состоянием. Хорошая причина? Я так не думаю.

Как насчет этого:

«Мы узнали, что враги могут атаковать без предупреждения. Они также могут используйте сотни шпионов, чтобы отравить еду. Итак, мы перестали раздавать оружие нашим солдатам ».

Подождите, ЧТО?

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

2
ответ дан 28 November 2019 в 19:46

Теги

Похожие вопросы