Назад | Перейти на главную страницу

Ограничения доступа NFS с использованием Kerberos

У меня есть следующая настройка: одна Linux-машина - это хранилище резервных копий для всей сети машин. Сеть считается безопасной в том смысле, что в ней не предполагается никакого настоящего плохого парня. В сети несколько узлов (A, B, ...,F), которые размещают свои резервные копии на центральном сервере (не тема этого вопроса). Каждый такой узел предназначен ровно для одного пользователя.

Теперь пользователям должен быть разрешен доступ к своим резервным копиям. То есть на сервере есть папка с папками A через F содержащие отдельные места назначения резервных копий. Пользователи узлов должны иметь доступ к своим резервным копиям.

Одна из идей состояла в том, чтобы использовать chrooted SSH-соединения, чтобы разрешить соединение с отдельными путями резервного копирования. Другая идея заключалась в использовании NFS с Kerberos. IP-адреса назначаются динамически и не могут быть зафиксированы. Нет возможности изменить это поведение (рассматривайте это как ограничение). Поэтому я не могу экспортировать акции A через F к IP-адресам, поскольку они не фиксированы.

Вот мой вопрос: можно ли каким-то образом ограничить доступ к некоторым общим ресурсам, чтобы они были доступны только через Kerberos для подмножества всех известных машин?

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

Нет, вы не можете легко экспортировать общий ресурс Kerberos в подмножество динамических IP-адресов. тем не мение, вы можете относительно легко экспортировать общий ресурс Kerberos в набор керберизованных пользователи.

Керберизованный общий ресурс действует так же, как стандартный общий ресурс NFS, но клиент не может подделать uid, под которым он работает. ACL Unix / posix должны быть установлены соответственно.

Общий ресурс NFS может быть настроен как для определенной подсети, так и для использования керберос.

/srv/backup/A 203.0.113.0/25(ro,sec=krb5p)
/srv/backup/B 203.0.113.128/25(ro,sec=krb5p)

И клиенту, и серверу нужен доступ к соответствующим вкладкам клавиш.
Сервер nfs/<server.fqdn>@<REALM>.
Клиент (rpc.gssd) ищет по порядку:

<HOSTNAME>$@<REALM>  
root/<hostname>@<REALM>  
nfs/<hostname>@<REALM>  
host/<hostname>@<REALM>  
root/<anyname>@<REALM>  
nfs/<anyname>@<REALM>  
host/<anyname>@<REALM>

У клиента должен быть действующий билет, который обычно получает pam_sss,pam_krb5,ssh -K, kinit, или k5start.

И сервер, и клиент должны разрешать одних и тех же принципалов Kerberos одним и тем же именам пользователей.