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