У бездисковых рабочих станций должна быть возможность создания и работы со специальными файлами устройств в удаленных системах и монтирования их каталогов /dev с сервера. Так как сервер не различает специальные файлы устройств клиента и сервера, то пользователь на сервере может получить доступ к физическим устройства сервера с помощью специальных файлов устройств клиента.
Например, владельцем устройства tty автоматически становится пользователь, работающий с этим tty. Если идентификаторы пользователя для клиента и для сервера не совпадают, то пользователь без специальных прав доступа может получить доступ к устройству tty, с которым работает другой пользователь сервера.
Пользователь, у которого есть необходимые права доступа на компьютере-клиенте, может создавать специальные файлы устройств, связанные с физическими устройствами сервера, даже если у него нет прав доступа к этим устройствам. Воспользовавшись затем своей непривилегированной учетной записью на сервере, пользователь сможет получить доступ к защищенным устройствам с помощью новых специальных файлов устройств.
Аналогичная проблема с защитой возникает при работе с прикладными программами setuid и setgid на клиенте и сервере. Для нормальной работы необходимо предоставить бездисковым клиентам возможность создавать и запускать на сервере программы setuid и setgid. Как и в предыдущем случае, сервер не может определить, для какого компьютера предназначена программа - для клиента или для сервера.
Кроме того, ИД пользователей и групп на сервере и на клиенте могут отличаться. Таким образом, пользователи могут запускать на сервере программы, которые будут выполнять действия, не разрешенные этим пользователям.
Проблема состоит в том, что программы setuid, setgid и специальные файлы устройств, как правило, предназначены для использования на том же компьютере, на котором они были созданы.
Решить проблему можно с помощью опций защиты команды mount, которые ограничивают доступ к таким объектам. Эти опции можно также задать в разделах файла /etc/filesystems.
Опция nosuid команды mount запрещает выполнение программ setuid и setgid, к которым можно обратиться через смонтированную файловую систему. Эту опцию следует указывать для всех файловых систем, которые монтируются на данном хосте, но предназначены исключительно для использования с другого хоста (например, для файловых систем, экспортируемых для бездисковых клиентов).
Опция nodev команды mount запрещает доступ к специальным файлам устройств из смонтированной файловой системы. Эту опцию также следует указывать для всех файловых систем, которые предназначены для использования с другого хоста (например, для файловых систем, экспортируемых для бездисковых клиентов).
Несмотря на то, что файловые системы бездисковых рабочих станций монтируются из каталога сервера /exports, они ничем не отличаются от файловых систем автономных компьютеров.
Ниже приведен список
экспортируемых каталогов сервера и соответствующих точек монтирования на
бездисковой рабочей станции:
Дополнительная информация о каталоге /export приведена в разделе Описание каталога /export.
Как правило, пользователям сервера доступ к каталогу /export запрещен.
Каталог /export/root
необходимо экспортировать с правами доступа на чтение и запись. Кроме
того, у пользователя root на сервере должен быть доступ к этому
каталогу. Однако вы можете смонтировать этот каталог с помощью команды
команды mount со следующими опциями:
nosuid | Запрещает пользователю запускать на сервере программы setuid клиента. |
nodev | Запрещает пользователю доступ к устройствам сервера с помощью специальных файлов устройств клиента. |
Вместо того, чтобы использовать при монтировании каталога /export/root описанные опции, можно запретить пользователям сервера доступ к этому каталогу.
Каталог /export/exec
следует экспортировать с правами доступа только на чтение. Кроме того,
у пользователя root должен быть доступ к этому каталогу. Однако вы
можете смонтировать этот каталог с помощью команды команды mount со
следующими опциями:
Каталог /export/share следует экспортировать с правами доступа только для чтения, обеспечив пользователю root доступ к этому каталогу. Так как в этом каталоге, как правило, хранятся только данные (в нем нет исполняемых файлов и файлов устройств), то указывать в команде mount опции защиты необязательно.
Существует несколько способов монтирования пользовательского каталога /home:
nosuid | Запрещает пользователю запускать на сервере программы setuid клиента. |
nodev | Запрещает пользователю доступ к устройствам сервера с помощью специальных файлов устройств клиента. |
Экспортируйте каталог /export/dump/ имя-клиента с правами на чтение и запись и предоставьте права доступа пользователю root. Пользователям сервера доступ к файлам /export/dump/имя_клиента должен быть запрещен.
Экспортируйте файл /export/swap/ имя-клиента с правами на чтение и запись и предоставьте права доступа пользователю root. Никаких действий по обеспечению защиты предпринимать не требуется. Пользователям сервера доступ к файлам /export/swap/имя_клиента должен быть запрещен.