URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 105174
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Безопасные опции монтирования разде..."

Отправлено auto_tips , 24-Окт-15 14:16 
В данной заметке мы рассмотрим установку системы на несколько разделов по критерию опций монтирования.
Я использую для установки системы 4 раздела:

/boot — требуется отдельный раздел если остальная часть системы устанавливается на software raid.

/ - основной раздел на котором расположены все исполняемые файлы, хотя он может быть тоже раскидан по разным разделам, но уже не по критерию опций монтирования.

/home — раздел домашних каталогов.

/var — раздел переменных сред, который обычно не содержит исполняемых файлов.

Итак я предлагаю вариант установки системы со следующими опциями монтирования (в моем примере это raspberry pi с установленным raspbian wheezy):

   pavel@pspi ~ $ cat /etc/fstab
   proc            /proc           proc    defaults          0       0
   /dev/mmcblk0p1  /boot           vfat    defaults,ro,noexec          0       2
   /dev/mmcblk0p2  /               ext2    defaults,ro          0       1
   /dev/mmcblk0p3  /var            ext2    defaults,noexec          0       1
   /dev/mmcblk0p5  /home           ext2    defaults,noexec          0       1

Для раздела /boot я применил опции ro,noexec, так как записывать в него и исполнять при работе системы не надо.

Для раздела / - опция ro — там содержатся исполняемые файлы, но они неизменяемы и записывать в раздел при нормальной работе ничего не требуется, только во время администрирования.

Раздел /home смонтирован с опцией noexec — это мое решение, чтобы пользователи не скачивали и не запускали программы из ненадежных источников.

Раздел /var смонтирован с noexec, так как обычно не содержит исполняемых файлов (за исключением /var/lib/dpkg) и выполнение тут не требуется.

Посмотрим какие у нас еще остались виртуальные fs с опцией exec:

   pavel@pspi ~ $ mount | grep -v noexec
   /dev/root on / type ext2 (ro,relatime)
   devtmpfs on /dev type devtmpfs (rw,relatime,size=218636k,nr_inodes=54659,mode=755)
   tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=89160k)

Попробуем внести для них записи в /etc/fstab, чтобы система попробовала их перемонтировать с нашими опциями:

   devtmpfs        /dev            devtmpfs rw,noexec,relatime,size=218636k,nr_inodes=54659,mode=755
   tmpfs           /tmp            tmpfs rw,noexec,nosuid,nodev,relatime,size=89160k

и перезагрузим систему получив:

   pavel@pspi ~ $ mount | grep -v noexec
   /dev/root on / type ext2 (ro,relatime)
   devtmpfs on /dev type devtmpfs (rw,relatime,size=218636k,nr_inodes=54659,mode=755)

Не сработало для fs /dev - для нее добавим в /etc/rc.local:

   mount /dev -o remount

и снова перезагрузим систему получив:

   pavel@pspi ~ $ mount | grep -v noexec
   /dev/root on / type ext2 (ro,relatime)

Мы видим, что у нас все разделы смонтированы по возможности с noexec кроме /, который смонтирован readonly.

При администрировании системы я перемонтирую разделы:

   pavel@pspi ~ $ sudo mount /var -o remount,exec
   pavel@pspi ~ $ sudo mount / -o remount,rw

После администрирования:

   pavel@pspi ~ $ sudo mount / -o remount
   pavel@pspi ~ $ sudo mount /var -o remount

URL: http://www.tinyware.hostline.su/
Обсуждается: http://www.opennet.ru/tips/info/2919.shtml


Содержание

Сообщения в этом обсуждении
"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Аноним , 24-Окт-15 14:16 
Это конфигурация сервера для каких задач ?

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Андрей , 24-Окт-15 15:43 
Это призрачная защита, потому что файлы всё равно можно исполнять через . /path/to/script.sh

Если нужно огородить систему, используй SElinux (ну, или apparmor).

[Пример: У меня на сервере тихо работает уязвимая версия Joomla, зажатая SElinux. А у компании-хостера она жрала 100% CPU, за что хостинг отключили.]


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено cmp , 24-Окт-15 19:15 
Вы гордитесь тем, что не можете использовать нормальный цмс, или тем, что вам еще винт не отформатили, возможно, потому что шлют с вас спам. Если уж надо, то можно через обратную проксю запретить с внешних ip дырявые урлы, но через se, это фееричный идиотизм

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Аноним , 27-Окт-15 20:02 
Человек забил микроскопом гвоздь, а вы ему праздник пытаетесь испортить. Нехорошо.

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 09-Ноя-15 20:31 
Какие Вы нетерпимые. Это явно подорванное здоровье, поправляйте. Сделал человек, и хорошо.

"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено cmp , 24-Окт-15 19:27 
man mount прочитал? красавчик, а не думал, что добавить команду перемонтирования в rw или exec перед тем как на раздел слить инфу и заразить системку не так уж сложно, хочешь секурности пиши на сд-р и грузись с них))

"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено Онаним , 26-Окт-15 11:39 
> man mount прочитал? красавчик

Абсолютной защиты не существует. Но, как правило, для получения рута требуется запустить в системе сплоит, который прежде еще нужно записать. Одэев в ядро или в сервис от рута крайне мало, одэй же в непривилегированный процесс обломится с перемонтированием, записью и запуском.

Автору:
не забываем об опции "nosuid".


"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено cmp , 26-Окт-15 14:35 
> непривилегированный процесс

в /bin /usr/bin кто попало тоже не пишет, в отличии от винды, линукс трудно ломануть даже имея шелл на нем, большенство "вирусятины" прилитевшие через кривую cms в апаче довольствуется возможностью отправлять спам сидя в памяти, так в чем прикол монтирования на ro.

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


"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено Аноним , 27-Окт-15 20:01 
> чтобы фс не глюканула, даже когда контроллер глюканет

В таком случае никакие опции монтирования ничего не гарантируют.


"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено cmp , 01-Ноя-15 18:15 
Очень даже гарантируют, поскольку система даже пытаться не будет писать на раздел, то есть и не запишет куда не надо, а прочитать не сможет - ну зависнет, ресет и делов то.

"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено Павел Самсонов , 19-Ноя-15 12:47 
Кто интересуется, обновлена страничка http://tinyware.hostline.su/restrictcap.ko.html. В конце дописана информация, отвечающая на вопросы "Я все равно перемонтирую" и подобное. Без загрузки посмотреть патчи можно http://tinyware.hostline.su/TinyWare/release/src/linux-4.1.1.../

"Раздел полезных советов: Безопасные опции монтирования разде..."
Отправлено Pilat , 30-Окт-15 16:27 
Если у меня работает Web сервер с CGI скриптами, то куда его надо положить?

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено fedfed , 31-Окт-15 08:59 
а в чем смысл этого банального перечисления известных вещей? реклама сайта с булочками?

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Аноним , 03-Ноя-15 03:20 
> (в моем примере это raspberry pi с установленным raspbian wheezy):

...
> Раздел /home смонтирован с опцией noexec - это мое решение, чтобы
> пользователи не скачивали и не запускали программы из ненадежных источников.

Чем же же тогда несчастным пользователям заниматься?


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено anonymous , 04-Ноя-15 02:07 
noexec не защищает от выполнения программ.

/var нельзя монтировать с noexec (сломаются post-inst и прочие скрипты из deb-пакетов)

Как выяснилось, /var нельзя даже с nodev монтировать — Debian installer не отрабоает.

Для полноты картины не хватает пересказа заклинания про noatime,nodiratime.


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Аноним , 06-Ноя-15 15:06 
Он же собирается обновляться раз в год и перед этим все перемонтировать скриптом. Правда при этом вирусня в оперативке запишется и запустится =)

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 09-Ноя-15 15:28 
> noexec не защищает от выполнения программ.
> /var нельзя монтировать с noexec (сломаются post-inst и прочие скрипты из deb-пакетов)

Эти опции для полетного режима. При установке пакетов надо перемонтировать в rw и exec все разделы.

> Как выяснилось, /var нельзя даже с nodev монтировать — Debian installer не
> отрабоает.

Опции монтирования я добавляю в уже установленной системе. На этапе инсталлятора только деление на разделы.
> Для полноты картины не хватает пересказа заклинания про noatime,nodiratime.

Полнота картины в книжке http://files.mail.ru/291D0F7807F6425E89C210C65003E278 . Локхарт Э. Антихакинг в сети. Трюки.pdf



"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Анонимкульхацкер , 10-Ноя-15 02:31 
http://pastebin.com/dY2htk7r - запуск произвольного шеллкода при наличии Python-a в стандартной комплектации. Зачем это нужно, если есть сам Python, и можно ли допилить скрипт до возможности запуска произвольного elf-файла, доступного для чтения - вопрос отдельный.

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 10-Ноя-15 10:05 
> http://pastebin.com/dY2htk7r - запуск произвольного шеллкода при наличии Python-a в стандартной
> комплектации. Зачем это нужно, если есть сам Python, и можно ли
> допилить скрипт до возможности запуска произвольного elf-файла, доступного для чтения
> - вопрос отдельный.

Понятно что можно запускать сценарии например $bash /home/pavel/Downloads/script.sh или другими интерпретаторами. Но вопрос в другом - где способ заражения в один клик - скачал - кликнул - запустилось? Это защита от этого, а на от запрета все запускать. Ктому же запустить сценарий и получить повышенные привелегии меньше вероятно, это не бинарник.


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Анонимкульхацкер , 10-Ноя-15 17:16 
Ну, так я же и пишу как из скрипта сделать бинарник даже в условиях noexec.
От скачал-кликнул-запустилось защищает скорее нормальный umask, из-за которого перед запуском нужно будет сначала поставить права на исполнение, что для скриптов, что для бинарников, да и сама эта проблема актуальна в основном для ведроида и винды.
А если же говорить о всяких дырах в флешплеере и иже с ним, то запуск такого скрипта вполне может неплохо помочь имеющему шелл, но не имеющему рута кульхацкеру в условиях noexec запустить локальный эксплойт, перехватить нажатия клавиш и вообще делать всё, что обычно.
Поэтому говорить о какой-то значительной практической пользе этой опции особого смысла нет и это просто перестраховка.

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 10-Ноя-15 17:32 
> Ну, так я же и пишу как из скрипта сделать бинарник даже
> в условиях noexec.

Ты написал как питон заставить выполнить произвольный байткод, а не родной его диалект. Это плохо для питона, да. И что это дает по твоему? Вот я этот скрипт скачал, он не запускается сам по себе, я должен вызвать $python tvoy-script.py.
> От скачал-кликнул-запустилось защищает

Да втом то и дело что по клику не запустится, надо еще организовать выполнение.
скорее нормальный umask, из-за которого перед
> запуском нужно будет сначала поставить права на исполнение, что для скриптов,
> что для бинарников, да и сама эта проблема актуальна в основном
> для ведроида и винды.

Тоже вариант, выбор значения umask важное дело.
> А если же говорить о всяких дырах в флешплеере и иже с
> ним, то запуск такого скрипта вполне может неплохо помочь имеющему шелл,
> но не имеющему рута кульхацкеру в условиях noexec запустить локальный эксплойт,
> перехватить нажатия клавиш и вообще делать всё, что обычно.

Ну пока что у меня с noexec на home youtube в браузере не работает, а не адоб флэш мне что то запускает.
> Поэтому говорить о какой-то значительной практической пользе этой опции особого смысла
> нет и это просто перестраховка.

Ну вобщем то да, это не панацея, дядька делал простую фичу, и она только то что есть.



"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Анонимкульхацкер , 10-Ноя-15 19:05 
Хорошо, а что, кроме payload-ов эксплойтов, запускается "само по себе"? Проблема со случайным скачиванием и запуском вредоносного elf-файла абсолютно надуманная, а проблемы, которые возникают у пользователей из-за такой заSHITы вполне реальны. При этом технически грамотный юзверь или даже обычный скрипт-кидди её легко обойдет, да и действительно нужна она только в определенном ряде специальных случаев, для proc, например.
В общем тут я вижу только бездумную копипасту (да ещё и ухудшениями, там то только про tmp говорили) команд из книжки, смыла в которой довольно мало.

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 10-Ноя-15 19:16 
> Хорошо, а что, кроме payload-ов эксплойтов, запускается "само по себе"? Проблема со
> случайным скачиванием и запуском вредоносного elf-файла абсолютно надуманная, а проблемы,
> которые возникают у пользователей из-за такой заSHITы вполне реальны. При этом
> технически грамотный юзверь или даже обычный скрипт-кидди её легко обойдет, да
> и действительно нужна она только в определенном ряде специальных случаев, для
> proc, например.
> В общем тут я вижу только бездумную копипасту (да ещё и ухудшениями,
> там то только про tmp говорили) команд из книжки, смыла в
> которой довольно мало.

Книжку мне дали несколько дней назад. В ней я нашел некоторые те же мысли, до которых допетрил сам. В конце концов я эту проблемму вижу в том, что когда то это все было just for fun. А теперь люди с подходами инквизиторов или жаждой каких то идеальностей нарыли кучу проблемм. Компьютеры я считаю не для того. Не нравятся дедовские методы, ну что ж, значит вам не на мой сайт. Я тоже не глупый и в инсталляшке в /etc/motd оставил no warranty. И debian no warranty, и многое другое. Вопорос только в том сколько онкологии люди сделают себе и другим из за каких то дурацких компов.
P.s. дурак на английский переводится do cancer.


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Анонимкульхацкер , 10-Ноя-15 20:03 
>[оверквотинг удален]
> же мысли, до которых допетрил сам. В конце концов я эту
> проблемму вижу в том, что когда то это все было just
> for fun. А теперь люди с подходами инквизиторов или жаждой каких
> то идеальностей нарыли кучу проблемм. Компьютеры я считаю не для того.
> Не нравятся дедовские методы, ну что ж, значит вам не на
> мой сайт. Я тоже не глупый и в инсталляшке в /etc/motd
> оставил no warranty. И debian no warranty, и многое другое. Вопорос
> только в том сколько онкологии люди сделают себе и другим из
> за каких то дурацких компов.
> P.s. дурак на английский переводится do cancer.

Мне кажется, что книжки плана "100 профессиональных примеров по X" стоит читать только после того, как прочтешь о общих принципах того, как это всё работает, иначе комбинирование и экстраполяция изначально вполне адекватных советов может привести к откровенному маразму.
Я слабо понимаю, причём здесь жажда идеальностей и где вы здесь видите подход инквизиторов, а дальше в сообщении идёт вообще нечто маловразумительное, но в общем суть в том, что дело не в желании нагадить, а в том, что именно слабая техническая грамотность пользователей, лень и некомпетентность многих системных администраторов, ошибки программистов создаёт ту среду, в которой процветают злоумышленники, создающие вышеперечисленным товарищам эту твою "онкологию".


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 12-Ноя-15 11:59 
>[оверквотинг удален]
>> Не нравятся дедовские методы, ну что ж, значит вам не на
>> мой сайт. Я тоже не глупый и в инсталляшке в /etc/motd
>> оставил no warranty. И debian no warranty, и многое другое. Вопорос
>> только в том сколько онкологии люди сделают себе и другим из
>> за каких то дурацких компов.
>> P.s. дурак на английский переводится do cancer.
> Мне кажется, что книжки плана "100 профессиональных примеров по X" стоит читать
> только после того, как прочтешь о общих принципах того, как это
> всё работает, иначе комбинирование и экстраполяция изначально вполне адекватных советов
> может привести к откровенному маразму.

Ну извини, я не маразматик. Я занимаюсь Linux ом 13 лет. Если хочешь, то на этом сайте просто перечислено "Чего мне не хватало в Unix" с точки зрения 13 летнего опыта. Остальным я доволен. У кого то список больше и они запиливают селинуксы с контейнерами, мне это не интересно.

> Я слабо понимаю, причём здесь жажда идеальностей и где вы здесь видите
> подход инквизиторов, а дальше в сообщении идёт вообще нечто маловразумительное, но
> в общем суть в том, что дело не в желании нагадить,

Очень часто дело именно в этом, в желании нагадить. Человеку гадят ментально и он из чувства самозащиты начинает создавать какую нибудь офигенно сложную систему защиты, чем вызывает головняк у других. Люди, которым не попирали ментальные пермишены, обычно всем довольны и их устраивает все как есть. И линукс пушистый, и все люди братья.
> а в том, что именно слабая техническая грамотность пользователей, лень и
> некомпетентность многих системных администраторов, ошибки программистов создаёт ту среду,
> в которой процветают злоумышленники, создающие вышеперечисленным товарищам эту твою "онкологию".


"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено megavir , 14-Ноя-15 00:06 
13 лет администрирвания... и додуматься только до этого..  Это прям мемуары "путь черепахи"

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено mickvav , 24-Ноя-15 22:50 
/boot в vfat ? Зачем, спрашивается? То есть зачем вообще держать vfat в сервере?

"Безопасные опции монтирования разделов на примере Debian Wheezy"
Отправлено Павел Самсонов , 26-Ноя-15 14:07 
> /boot в vfat ? Зачем, спрашивается? То есть зачем вообще держать vfat
> в сервере?

Это пример с raspberry pi. там нужно vfat. Конечно на сервере vfat не надо, вы же не копипастеры.