Mount nfs astra linux

Введение

Защищенной сетевой файловой системой для работы с информацией ограниченного доступа в Astra Linux Special Edition является Samba SMB/CIFS.
При работе в Astra Linux Special Edition с включенной политикой мандатного управления доступом (МРД) и обработкой информации ограниченного доступа применять сетевую файловую систему NFS для хранения данных в общем случае не рекомендуется.

NFS (сокращение от Network File System, Сетевая Файловая Система) — сервис, обеспечивающий общий доступ к файлам и каталогам систем *nix / Linux. Файловая система NFS позволяет монтировать удалённые разделяемые файлы подобно локальным. Существует в двух вариантах:

  • вариант nfs-kernel -server , работающий на уровне ядра (входит в состав Astra Linux)
  • и вариант работающий на уровне пользовательских программ (в состав Astra Linux не входит)

В Astra Linux Special Edition для того, чтобы включить NFS v2, нужно добавить опцию «-V 2» в две переменные в файле /etc/default/nfs-kernel-server (второй переменной по умолчанию нет, её надо создавать):

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

Пакеты nfs-kernel-server (сервер) и nfs-common (клиент) входят в стандартный дистрибутив Astra Linux Special Edition, и доступны в сетевом репозитории Astra Linux Common Edition. Поддержка файловой системы NFS интегрирована в ядро всех ОС Astra Linux.

По умолчанию пакет nfs-kernel-server не устанавливается. Установить сервер nfs и клиент nfs-common можно из графического менеджера пакетов (см. Графический менеджер пакетов synaptic) , или из командной строки.

При установке пакетов для работы с файловой системой NFS будет автоматически установлена служба rpcbind. Использование службы rpcbind несовместимо с работой на ненулевых уровнях конфиденциальности. Для работы с включенным МРД на ненулевых уровнях конфиденциальности следует использовать рекомендованную сетевую файловую систему Samba SMB/CIFS.

Установка сервера из командной строки:

Дополнительно, можно установить пакет «монтирования ресурсов NFS по запросу», позволяющий монтировать ресурсы только при обращениях к ним, см. Autofs монтирование по запросу.

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

Подготовка

Для развёртывания сервера NFS, как и любого другого сервера:

  • рекомендуется назначить серверу постоянный IP-адрес;
  • настроить разрешение имён клиентских компьютеров, или назначить им статические IP-адреса;
  • выделить ресурс (каталог), который в дальнейшем станет разделяемым. Пример: создание каталога /srv/nfsshare и задание для него полного доступа на чтение и запись:
Читайте также:  Linux fdisk очистить диск

Корректировка настроек пакета

При работе в операционных системах Astra Linux, выпущенных ранее очередного обновления x.7, для нормального автоматического запуска службы nfs-kernel-server после перезагрузки компьютера внести изменения в его UNIT-файл /etc/systemd/system/multi-user.target.wants/nfs-server.service добавив следующие строки в секцию unit:

Указанные исправления обеспечат запуск службы nfs-server после службы rpcbind. После внесения изменений перезапустить службу:

При работе в Astra Linux Special Edition очередное обновление x.7 указанные действия не требуются.

Конфигурация

Основная конфигурация сервиса nfs хранится в файле /etc/exports . Кроме этого файла сервис использует файлы:

  • /etc/fstab — записи обо всех файловых системах, включая nfs, автоматически монтируемых при загрузке системы.
  • /etc/hosts.allow , /etc/hosts.deny — используется, чтобы решить, принять или отклонить подключения, приходящие с внешних IP-адресов

Экспорт разделяемого ресурса

Для экспорта созданного ранее разделяемого ресурса (каталога) /srv/nfsshare добавить в конфигурационный файл /etc/exports строку

  • — постоянный IP-адрес компьютера-клиента (может быть использовано имя компьютера), или, для указания группы компьютеров, можно использовать адрес сети или подстановочный знак «*» (подробнее см. справку man exports);

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

Безопасный экспорт разделяемых ресурсов

  • Протокол передачи данных NFS поддерживает защитное преобразование данных начиная с версии 4 (NFSv4).

А следующая строка файла/etc/exports, напротив, определяет для того же каталога компьютеру master.astralinux.ru разрешение только на чтение, а всем остальным разрешает не только чтение, но и запись
Отличие конфигураций состоит всего в одном пробеле после имени компьютера :

Чтобы избежать подобных ошибок,

проверяйте все настроенные общие ресурсы NFS с помощью команды showmount:

  • Не рекомендуется использование параметра no_root_squash, так как потенциально создает угрозы безопасности, связанные с возможностью удаленного внедрения в файловую систему вредоносного ПО. По умолчанию, в общих ресурсах NFS пользователь root становится обычным пользователем nfsnobody. Таким образом, владельцем всех файлов, созданных root, становится пользователь nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
Читайте также:  How to create user in linux with group

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

После установки клиентского пакета nfs-common, на компьютере — клиенте следует примонтировать разделяемые ресурсы. Список доступных ресурсов можно проверить, выполнив команду:

sudo showmount -e 192.168.1.10

Export list for 192.168.1.10:
/srv/nfsshare 192.168.1.20

Монтируем ресурс

Чтобы примонтировать разделяемый ресурс на клиентской машине:

    Создать на клиентской машине точку монтирования, например, каталог /mnt/share:

Команда выдаст строку (строки) с информацией о примонтированном ресурсе (ресурсах). Кроме того, можно использовать команду проверки свободного места на всех примонтированных ресурсах:

Автоматическое монтирование ресурса при загрузке

Чтобы ресурс NFS монтировался автоматически при перезагрузки ОС, его нужно зарегистрировать в файле /etc/fstab добавив строчку вида

Автоматическое монтирование ресурса по запросу

Автоматическое монтирование ресурсов NFS можно выполнить с помощью пакета autofs.

Решение проблемы зависания графических приложений

При работе в сессии с ненулевой классификационной меткой с одновременным использованием файловых систем NFS и Samba возможна нештатная работа графических приложений. Нарушение работы приложения может проявляться, например, «в зависаниях» текстового редактора kate, и вызвано несовместимостью службы rpcbind с работой КСЗ Astra Linux Special Edition. Д ля устранения нарушений работы следует остановить и запретить службу rpcbind:

Для находящихся в эксплуатации систем Astra Linux следует использовать рекомендованную для работы с информацией ограниченного доступа сетевую файловую систему Samba SMB/CIFS.

Источник

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

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

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

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

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

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

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

Читайте также:  Linux со всеми драйверами

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

  • контроллер домена 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.

    Источник

Оцените статью
Adblock
detector