NFS (Network File System) или сетевая файловая система — это RPC служба, совместно с portmap и другими связанными службами обеспечивающая сетевой доступ клиентов к файловой системе. За дополнительными сведениями о работе NFS обратитесь к главе Сетевая файловая система (NFS) Справочного руководства по Red Hat Enterprise Linux. За дополнительной информацией о настройке NFS обратитесь к Руководству по системному администрированию Red Hat Enterprise Linux. В следующих разделах подразумевается, что вы знакомы с NFS.
Важно | |
---|---|
Всем, кто собирается реализовать NFS сервер, рекомендуется сначала защитить службу portmap, как описывалось в разделе 5.2 Защита Portmap, а затем заняться следующими вопросами. |
Так как NFS передаёт по сети важную информацию в открытом виде, важно, чтобы работающая служба была защищена брандмауэром и находилась в защищённой сети. Если информация NFS передаётся по незащищённой сети, она может быть перехвачена. Организовав сеть с учётом этих замечаний, вы избавляетесь от различных брешей безопасности.
Сервер NFS определяет, какие файловые системы экспортировать и какие узлы получат к ним доступ с помощью файла /etc/exports. Будьте внимательны и не добавляйте лишних пробелов, редактируя этот файл.
Например, следующая строка в файле /etc/exports предоставляет каталог /tmp/nfs/ для чтения и записи с компьютера bob.example.com.
/tmp/nfs/ bob.example.com(rw) |
А эта строка файла/etc/exports, напротив, определяет для того же каталога компьютеру bob.example.com разрешение только на чтение, а всем разрешает не только чтение, но и запись, и их отличие состоит всего в одном пробеле после имени компьютера.
/tmp/nfs/ bob.example.com (rw) |
Выработайте хорошую привычку и проверяйте все настроенные общие ресурсы NFS с помощью команды showmount:
showmount -e <hostname> |
По умолчанию в общих ресурсах NFS пользователь root становится обычным бесправным пользователем nfsnobody. Таким образом, владельцем всех файлов, созданных root, становится nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
Если указан параметр no_root_squash, удалённые пользователи root смогут изменить любой файл в разделяемой файловой системе и оставить для других пользователей троянские приложения.