The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Безопасные опции монтирования разде..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Безопасные опции монтирования разде..."  –1 +/
Сообщение от 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/
Обсуждается: https://www.opennet.ru/tips/info/2919.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (-), 24-Окт-15, 14:16   +1 +/
Это конфигурация сервера для каких задач ?
Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от Андрей (??), 24-Окт-15, 15:43   +/
Это призрачная защита, потому что файлы всё равно можно исполнять через . /path/to/script.sh

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

3. Сообщение от cmp (ok), 24-Окт-15, 19:15   +/
Вы гордитесь тем, что не можете использовать нормальный цмс, или тем, что вам еще винт не отформатили, возможно, потому что шлют с вас спам. Если уж надо, то можно через обратную проксю запретить с внешних ip дырявые урлы, но через se, это фееричный идиотизм
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #8, #16

4. Сообщение от cmp (ok), 24-Окт-15, 19:27   +/
man mount прочитал? красавчик, а не думал, что добавить команду перемонтирования в rw или exec перед тем как на раздел слить инфу и заразить системку не так уж сложно, хочешь секурности пиши на сд-р и грузись с них))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #26

5. Сообщение от Онаним (?), 26-Окт-15, 11:39   +/
> man mount прочитал? красавчик

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #6

6. Сообщение от cmp (ok), 26-Окт-15, 14:35   +/
> непривилегированный процесс

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #7

7. Сообщение от Аноним (-), 27-Окт-15, 20:01   +/
> чтобы фс не глюканула, даже когда контроллер глюканет

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #11

8. Сообщение от Аноним (-), 27-Окт-15, 20:02   +/
Человек забил микроскопом гвоздь, а вы ему праздник пытаетесь испортить. Нехорошо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

9. Сообщение от Pilat (ok), 30-Окт-15, 16:27   +/
Если у меня работает Web сервер с CGI скриптами, то куда его надо положить?
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от fedfed (ok), 31-Окт-15, 08:59   +/
а в чем смысл этого банального перечисления известных вещей? реклама сайта с булочками?
Ответить | Правка | Наверх | Cообщить модератору

11. Сообщение от cmp (??), 01-Ноя-15, 18:15   +/
Очень даже гарантируют, поскольку система даже пытаться не будет писать на раздел, то есть и не запишет куда не надо, а прочитать не сможет - ну зависнет, ресет и делов то.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

12. Сообщение от Аноним (-), 03-Ноя-15, 03:20   +/
> (в моем примере это raspberry pi с установленным raspbian wheezy):

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

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

Ответить | Правка | Наверх | Cообщить модератору

13. Сообщение от anonymous (??), 04-Ноя-15, 02:07   +/
noexec не защищает от выполнения программ.

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #15

14. Сообщение от Аноним (-), 06-Ноя-15, 15:06   +/
Он же собирается обновляться раз в год и перед этим все перемонтировать скриптом. Правда при этом вирусня в оперативке запишется и запустится =)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Павел Самсоновemail (?), 09-Ноя-15, 15:28   +/
> noexec не защищает от выполнения программ.
> /var нельзя монтировать с noexec (сломаются post-inst и прочие скрипты из deb-пакетов)

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

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

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

16. Сообщение от Павел Самсоновemail (?), 09-Ноя-15, 20:31   +/
Какие Вы нетерпимые. Это явно подорванное здоровье, поправляйте. Сделал человек, и хорошо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

17. Сообщение от Анонимкульхацкер (?), 10-Ноя-15, 02:31   +/
http://pastebin.com/dY2htk7r - запуск произвольного шеллкода при наличии Python-a в стандартной комплектации. Зачем это нужно, если есть сам Python, и можно ли допилить скрипт до возможности запуска произвольного elf-файла, доступного для чтения - вопрос отдельный.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

18. Сообщение от Павел Самсоновemail (?), 10-Ноя-15, 10:05   +/
> http://pastebin.com/dY2htk7r - запуск произвольного шеллкода при наличии Python-a в стандартной
> комплектации. Зачем это нужно, если есть сам Python, и можно ли
> допилить скрипт до возможности запуска произвольного elf-файла, доступного для чтения
> - вопрос отдельный.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #19

19. Сообщение от Анонимкульхацкер (?), 10-Ноя-15, 17:16   +/
Ну, так я же и пишу как из скрипта сделать бинарник даже в условиях noexec.
От скачал-кликнул-запустилось защищает скорее нормальный umask, из-за которого перед запуском нужно будет сначала поставить права на исполнение, что для скриптов, что для бинарников, да и сама эта проблема актуальна в основном для ведроида и винды.
А если же говорить о всяких дырах в флешплеере и иже с ним, то запуск такого скрипта вполне может неплохо помочь имеющему шелл, но не имеющему рута кульхацкеру в условиях noexec запустить локальный эксплойт, перехватить нажатия клавиш и вообще делать всё, что обычно.
Поэтому говорить о какой-то значительной практической пользе этой опции особого смысла нет и это просто перестраховка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #20

20. Сообщение от Павел Самсоновemail (?), 10-Ноя-15, 17:32   +/
> Ну, так я же и пишу как из скрипта сделать бинарник даже
> в условиях noexec.

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

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

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

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #21

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #23

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #24

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

25. Сообщение от megaviremail (?), 14-Ноя-15, 00:06   +/
13 лет администрирвания... и додуматься только до этого..  Это прям мемуары "путь черепахи"
Ответить | Правка | Наверх | Cообщить модератору

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

27. Сообщение от mickvav (?), 24-Ноя-15, 22:50   +1 +/
/boot в vfat ? Зачем, спрашивается? То есть зачем вообще держать vfat в сервере?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

28. Сообщение от Павел Самсоновemail (?), 26-Ноя-15, 14:07   +/
> /boot в vfat ? Зачем, спрашивается? То есть зачем вообще держать vfat
> в сервере?

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру