LINUX.ORG.RU
решено ФорумAdmin

Настройка параметров монтирования в /etc/fstab в Debian Jessie 8.5

 ,


0

1

Приветствую, форумчане!

Компьютер не предназначен для написания программ. Соответственно, разумно смонтировать /home с опцией noexec. Однако, посмотрев вывод mount -l, я обнаружил ещё несколько разделов, на которые потенциальный злоумышленник, не имеющий прав рута, мог бы записать исполняемые программы и потом запустить их. Это разделы /dev/mqueue и /dev/shm, в которых разрешено писать и исполнять всем пользователям, раздел /run/user/119, принадлежащий менеджеру lightdm (на нём владелец lightdm, не являющийся рутом, может писать и испольнять программы) и каталог /run/user/1000, в который разрешено писать и исполнять созданному пользователю.

Собственно, вопрос: если я смонтирую все 4 вышеперечисленных раздела с опцией noexec, не испорчу ли я чего?

Я знаю, что почти все они (кроме /dev/mqueue) смонтированы с опцией nosuid, этого мне разжёвывать не надо. Но всё-таки и без прав рута можно что-то подпортить, а /dev/mqueue вообще по умолчанию смонтирован и без noexec, и без nosuid. Также я знаю, что от запуска скриптов с помощью команды «имя_интерпретатора имя_скрипта» никакой noexec не поможет, этого тоже не надо разжёвывать. Но хотя бы от запуска эльфов поможет. А вот если кто-то знает и расскажет, как запретить запуск любых скриптов на выбранных разделах и, если такое вообще возможно (в чём я сомневаюсь), не испорчу ли я чего, - буду премного благодарен.

★★

Последнее исправление: aureliano15 (всего исправлений: 1)

Но хотя бы от запуска эльфов поможет

/lib/ld-linux.so.2 /tmp/anyelfbinary

Deleted
()

А если по делу, то наверно то, что ты хочешь можно сделать с помощью selinux.

Deleted
()
Ответ на: комментарий от Deleted

Но хотя бы от запуска эльфов поможет

/lib/ld-linux.so.2 /tmp/anyelfbinary

Нет, от эльфов по-любому помогает. :-) Команда /lib64/ld-linux-x86-64.so.2 ./ls, запущенная из домашнего каталога, куда я скопировал /bin/ls, выставив на него права +x для всех (но сам раздел смонтирован как noexec) выдаёт следующее:

./ls: error while loading shared libraries: ./ls: failed to map segment from shared object: Operation not permitted

А если подставить ему /bin/ls, то всё нормально выполняется. Вот почему в bash и других интерпретаторах такой проверки на noexec не предусмотрено?!

А если по делу, то наверно то, что ты хочешь можно сделать с помощью selinux.

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

А на производительности (в частности, на времени обращения к файлам) этот ваш селинукс не сильно сказывается?

aureliano15 ★★
() автор топика
Ответ на: комментарий от PunkoIvan

Не сильно. Но головняка с ним много.

Спасибо за информацию. А что головной боли много - я уже понял, читая статьи в Сети. :-)

aureliano15 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.