5.4. Защита NFS

NFS (Network File System) или сетевая файловая система — это RPC служба, совместно с portmap и другими связанными службами обеспечивающая сетевой доступ клиентов к файловой системе. За дополнительными сведениями о работе NFS обратитесь к главе Сетевая файловая система (NFS) Справочного руководства по Red Hat Enterprise Linux. За дополнительной информацией о настройке NFS обратитесь к Руководству по системному администрированию Red Hat Enterprise Linux. В следующих разделах подразумевается, что вы знакомы с NFS.

ВажноВажно
 

Всем, кто собирается реализовать NFS сервер, рекомендуется сначала защитить службу portmap, как описывалось в разделе 5.2 Защита Portmap, а затем заняться следующими вопросами.

5.4.1. Проектируйте сеть аккуратно

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

5.4.2. Опасайтесь синтаксических ошибок

Сервер 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>

5.4.3. Не используйте параметр no_root_squash

По умолчанию в общих ресурсах NFS пользователь root становится обычным бесправным пользователем nfsnobody. Таким образом, владельцем всех файлов, созданных root, становится nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.

Если указан параметр no_root_squash, удалённые пользователи root смогут изменить любой файл в разделяемой файловой системе и оставить для других пользователей троянские приложения.