5.4. Защита NFS

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

ВажноВажно
 

Версия NFS, включённая в Red Hat Enterprise Linux, NFSv4, более не требует службы portmap, как было замечено в разделе 5.2 Защита Portmap. Теперь при использовании NFSv4 NFS-трафик использует TCP, а не UDP. NFSv4 также включает проверку подлинности групп и пользователей через Kerberos, реализованную модулем ядра RPCSEC_GSS. Информация о portmap по-прежнему включается, так как Red Hat Enterprise Linux поддерживает NFSv2 и NFSv3, где используется эта служба.

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

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

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 могут изменить любой файл в разделяемой файловой системе и оставить для других пользователей троянские приложения.