Astra linux nfs utils

Сетевая файловая система NFS с аутентификацией Kerberos в домене FreeIPA

«В случае необходимости использования мандатного управления доступом на сетевых дисках, их монтирование в файловую систему ОС должно осуществляться только с использованием файловой системы CIFS, поддерживающей расширенные (в т.ч. мандатные) атрибуты пользователей;»

«Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1» п. 17.3. «Условия применения»

При настройках по умолчанию аутентификация через Kerberos в файловой системе NFS осуществляется:

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

В статье рассматривается использование NFSv4. Более старые версии использовать не рекомендуется, так как они подвержены известным уязвимостям и некорректно работают при использовании аутентификации Kerberos.

При некорректно настроенных параметрах подключения NFS может выполнять монтирование с произвольным понижением уровня протокола (NFSv3 вместо NFSv4) и/или изменением типа аутентификации (аутентификация SYS вместо Kerberos), что также является источником потенциальных уязвимостей.

Описание стенда

  • контроллер домена FreeIPA:
    • имя сервера ipa0.ipadomain0.ru;
    • имя администратора admin;
    • IP-адрес контроллера домена не используется, так как подразумевается наличие настроенной службы DNS;
    • имя клиента host0.ipadomain0.ru;

    Настройка сервера

    sudo sed -i ‘s/^[[:space:]]*NEED_SVCGSSD[[:space:]]*=.*/NEED_SVCGSSD=»yes»/’ /etc/default/nfs-kernel-server sudo sed -i ‘s/^[[:space:]]*NEED_GSSD[[:space:]]*=.*/NEED_GSSD=yes/’ /etc/default/nfs-common
    sudo sed -i ‘s/^[[:space:]]*NEED_IDMAPD[[:space:]]*=.*/NEED_IDMAPD=yes/’ /etc/default/nfs-common

    Если билет Kerberos был получен до регистрации службы, то после регистрации службы он должен быть обновлен (получен повторно).

    ldapmodify -x -D «cn=directory manager» -W -h ipa0.ipadomain0.ru << EOT
    dn: cn=IPADOMAIN0.RU,cn=kerberos,dc=ipadomain0,dc=ru
    changetype: modify
    add: krbSupportedEncSaltTypes
    krbSupportedEncSaltTypes: des-cbc-crc:normal
    EOT
    ldapmodify -x -D «cn=directory manager» -W -h ipa0.ipadomain0.ru << EOT
    dn: cn=IPADOMAIN0.RU,cn=kerberos,dc=ipadomain0,dc=ru
    add: krbSupportedEncSaltTypes
    krbSupportedEncSaltTypes: des-cbc-crc:special
    EOT
    ldapmodify -x -D «cn=directory manager» -W -h ipa0.ipadomain0.ru << EOT
    dn: cn=IPADOMAIN0.RU,cn=kerberos,dc=ipadomain0,dc=ru
    add: krbDefaultEncSaltTypes
    krbDefaultEncSaltTypes: des-cbc-crc:special
    EOT

    Разделяемые ресурсы определяются в конфигурационном файле /etc/exports. Подробно про возможные параметры разделяемых ресурсов см. man exports.

    В NFSv4 все сетевые ресурсы предоставлены единым деревом каталогов. Соответственно, в списке разделяемых ресурсов один из них должен быть обозначен как корневой. Для этого используется параметр fsid=0. Отсутствие или некорректное определение корневого ресурса ведёт к неработоспособности примонтированных ресурсов, и, в случае монтирования домашних каталогов, к невозможности входа пользователей.

    Пример файла с ресурсами (экспортируется домашний ката/etлог пользователей /home и созданный каталог /export):

    / *(rw,fsid=0,no_subtree_check,sec=krb5:krb5i:krb5p) /home gss/krb5i(rw,sync,no_subtree_check) /export *(rw,sync,no_subtree_check,no_root_squash,sec=krb5:krb5i:krb5p)

    В приведенном примере первый ресурс — корневой, и использованы два альтернативных синтаксиса для «подчинённых» ресурсов NFSv4 с аутентификацией Kerberos.
    В целях обеспечения безопасности в разделяемых ресурсах используется технология подмены идентификатора суперпользователя (root_squash). При этом операции, инициированные суперпользователем, выполняются от имени nobody:nogroup или от имени Kerberos-пользователя (См. ниже Настройка клиентской аутентификации Kerberos). Об этом ограничении следует помнить планируя настройку прав доступа в разделяемых ресурсах.

    Для того, чтобы в «подчиненные» ресурсы была разрешена запись, запись должна быть разрешена в корневой ресурс.
    Для того, чтобы при доступе к «подчиненным» ресурсам корректно работала аутентификация Kerberos, корневой ресурс должен использовать такой же тип аутентификации.
    Параметр no_root_squash неработоспособен, то есть подмена идентификатора суперпользователя выполняется всегда. См. ниже Настройка клиентской аутентификации Kerberos.

    Источник

    Настройка NFS в Gentoo

    Краткая инструкция по настройке NFS (Network File System) на сервере и клиенте в ОС Gentoo GNU/Linux.

    Исходные данные

    Необходимо открыть доступ клиенту на сервере в директории /home/share/

    Установка NFS на сервере и клиенте

    Сначала необходимо включить поддержку NFS в ядро. Для этого переходим в каталог /usr/src/linux/

    на всякий случай скопируем файл конфигурации ядра .config

    переходим в пункт File Systems

    затем в Network File Systems

    * NFS client support for NFSv4.1 (NEW) -- NFS client support for NFSv4.2 (NEW) * NFS server support (NEW) -- NFS server support for NFS version 3 (NEW) -- NFS server support for NFS version 4 (NEW)

    Собираем и устанавливаем ядро и на всякий случай модули

    # make && make modules && make modules_install && make install

    Надо будет подождать окончания сборки и установки

    После этого переписываем конфиг загрузчика grub

    # grub-mkconfig -o /boot/grub/grub.cfg

    и устанавливаем пакет nfs-utils

    Настройка NFS на сервере

    Создадим каталог /home/share/

    Открываем файл /etc/exports

    и пропишем такую строчку для монтирования каталога /home/share/:

    /home/share 192.168.1.0/24(rw,no_root_squash)

    для всех клиентов данной подсети

    /home/share 192.168.1.55(rw,no_root_squash)

    для клиента с IP-адресом 192.168.1.55

    Запустим службу nfs и включим её в автозагрузку

    # rc-service nfs start # rc-update add nfs default

    При необходимости можно перезагрузить машину

    Настройка NFS на клиенте

    Создадим каталог /mnt/share/ для монтирования

    Проверим монтирование ресурса NFS

    # mount -t nfs 192.168.1.45:/home/share /mnt/share

    Если необходимо монтирование во время загрузки системы, то открываем файл /etc/fstab

    192.168.1.45:/home/share /mnt/share nfs rw 0 1

    Для проверки ручное отключим монтирование

    и монтируем всё, что прописано в файле /etc/fstab

    На всякий случай перезагрузим машину

    и проверим, примонтируется ли ресурс NFS.

    Похожие посты:

    Источник

    Читайте также:  Linux файл права администратора
Оцените статью
Adblock
detector