Ограничения файловой системы
  • Категории
  • Подписка
  • Разместить статью
14/02/11 1 5360 Права доступа и файловые системы
-

Ограничения файловой системы

Одним важным элементом защиты вычислительной среды являются опции, указываемые при монтировании локальных файловых систем. Причина, по которой создается несколько файловых систем, заключается в раздельном контроле доступа к ним посред­ством опций команды mount в файле /etc/fstab.

Стандартное содержимое файла /etc/fstab показано ниже. Подробное описа­ние синтаксиса этого файла можно найти в документации.

/dev/hdal  /            ext3     defaults  1 1
/dev/hda5  /usr         ext3     defaults  1 2
/dev/hdbl  /home        ext3     defaults  1 2
/dev/hda6  /var         ext3     defaults  1 2
/dev/hda7  swap         swap     defaults  0 0
/dev/fdO   /mnt/floppy  ext3     noauto    0 0
/dev/cdrom /mnt/cdrom   iso9660  noauto,ro 0 0
none       /proc        proc     defaults  0 0

Ниже описан ряд опций, доступных для выбора в четвертом поле (они же могут быть указаны в строке вызова команды mount с помощью флага -о). Эти опции важны с точки зрения безопасности.

  • defaults – устанавливает стандартные параметры монтирования: rw (чтение/запись), suid (разрешается использование битов SUID и SGID), dev (разрешается создавать файлы устройств символьного или блочного доступа), exec (разрешается вы­полнение программ), auto (разрешается команда mount -a), nouser (мон­тировать файловую систему может только суперпользователь) и async (асин­хронный ввод-вывод);
  • nodev – запрещается создавать файлы устройств символьного или блочного доступа;
  • nоехес – запрещается выполнять программы и сценарии;
  • ro – доступ к файловой системе только для чтения;
  • user – файловую систему могут монтировать рядовые пользователи. При этом автоматически включаются опции nоехес, nosuid и nodev, которые можно переопределить явным образом;
  • nosuid – не разрешается выполнение программ с установленным битом SUID и/или SGID;
  • noatime – нe разрешается обновлять информацию о времени доступа к файлам и каталогам. Эта опция доступна в ядре версии от 2.2 и выше.

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

  1. Начальные каталоги пользователей не должны быть “полигоном” для запуска программ и сценариев с установленным битом SUID. В них не должны храниться файлы устройств символьного и блочного доступа.
  2. Любая файловая система, каталоги которой доступны для записи не только суперпользователю, должна как минимум иметь установленной опцию nosuid. Одна из таких файловых систем – /var.
  3. Любая файловая система, запись в которую осуществляется лишь изредка, должна монтироваться в режиме “только для чтения”.

Таким образом, если вернуться к выше описанному файлу /etc/fstab, есть смысл применения правила 2 к файловой системе /var и правила 1 к файловой системе /home. Для удобства пользователей можно добавить опцию user к файловой системе /mnt/cdrom. Это позволит пользователям самостоя­тельно монтировать дисковод CD-ROM без вмешательства суперпользователя. Дополни­тельные ограничения, связанные с опцией user, а именно nosuid, noехес и nodev, компенсируют данное послабление.

Предположим, в файловой системе /usr есть подкаталоги /usr/local/bin и /usr/local/lib, которые содержат исполняемые файлы и библиотеки, используемые многими пользователями. Если эти файлы меняются нечасто, можно создать отдельные файловые системы /usr/local/bin и /usr/local/lib, монтируемые с опцией ro. Когда возникнет необходимость внести какие-либо изменения, придется смонтировать файловую систему с опцией rw (возможно, в однопользовательском режи­ме). Это подтверждает правило, гласящее, что безопасность достигается за счет производительности или удобства работы. Более безопасная версия файла /etc/fstab будет выглядеть так:

/dev/hdal    /               ext3     defaults            1 1
/dev/hdb4    /usr/local/bin  ext3     ro,nosuid           1 2
/dev/hdb9    /usr/local/lib  ext3     ro,nosuid           1 2
/dev/hda5    /usr            ext3     defaults            1 2
/dev/hdbl    /home           ext3     noexec,nodev,nosuid 1 2
/dev/hda6    /var            ext3     nosuid              1 2
/dev/hda7    swap            swap     defaults            0 0
/dev/fdO     /mnt/floppy     ext3     noauto              0 0
/dev/cdrom   /mnt/cdrom      iso9660  noauto,ro,user      0 0
none         /proc           proc     defaults            0 0

Один комментарий на «“Ограничения файловой системы”»

Добавить комментарий

Яндекс.Метрика