Configurando o NFS Server com autenticação baseada em Kerberos para clientes Linux - Parte 7

Configurando o NFS Server com autenticação baseada em Kerberos para clientes Linux - Parte 7

No último artigo desta série, analisamos como configurar um compartilhamento de samba em uma rede que pode consistir em vários tipos de sistemas operacionais. Agora, se você precisar configurar o compartilhamento de arquivos para um grupo de clientes do tipo Unix, você pensa automaticamente no Sistema de arquivos de rede, ou NFS abreviado.

Série RHCE: Configurando o NFS Server com a autenticação Kerberos - Parte 7

Neste artigo, iremos orientá -lo no processo de usar Baseada em Kerberos autenticação para NFS ações. Supõe -se que você já tenha configurado um servidor NFS e um cliente. Se não.

Além disso, você deseja configurar o Selinux e o Firewalld para permitir o compartilhamento de arquivos através do NFS.

O exemplo a seguir assume que seu NFS compartilhar está localizado em /nfs em Box2:

# semanage fContext -a -t public_content_rw_t "/nfs (//.*)?" # RESTORECON -R /NFS # SETSEBOOL -P NFS_EXPORT_ALL_RW ON # SETSEBOOL -P NFS_EXPORT_ALL_RO ON 

(onde o -P sinalizador indica persistência nas reinicializações).

Finalmente, não se esqueça de:

Crie Grupo NFS e Configurar o Diretório de Compartilhar NFS

1. Crie um grupo chamado NFS e adicione o nfsnobody Usuário para ele, depois altere as permissões do /nfs diretório para 0770 e seu proprietário de grupo para NFS. Por isso, nfsnobody (que é mapeado para as solicitações do cliente) terá permissões de gravação sobre o compartilhamento) e você não precisará usar NO_ROOT_SQUASH no /etc/exportações arquivo.

# groupadd nfs # userMod -a -g nfs nfsnobody # chmod 0770 /nfs # chgrp nfs /nfs 

2. Modifique o arquivo de exportação (/etc/exportações) o seguinte para permitir apenas o acesso de Box1 usando Kerberos segurança (Sec = KRB5).

Observação: que o valor de anongid foi definido para o Gid do NFS grupo que criamos anteriormente:

Exportações - Adicionar compartilhamento NFS
/nfs box1 (rw, sec = krb5, anongid = 1004) 

3. Reexportar (-R) todos (-a) Os compartilhamentos da NFS. Adicionando verbosidade à saída (-v) é uma boa ideia, pois fornecerá informações úteis para solucionar o servidor se algo der errado:

# exportfs -arv 

4. Reinicie e habilite o servidor NFS e os serviços relacionados. Observe que você não precisa ativar NFS-Lock e NFS-IDMAPD Porque eles serão iniciados automaticamente pelos outros serviços na inicialização:

# SystemCtl Restart rpcbind nfs-server nfs-lock nfs-idmap # systemctl atabille rpcbind nfs-server 

Ambiente de teste e outros pré -requisitos

Neste guia, usaremos o seguinte ambiente de teste:

  1. Máquina cliente [Box1: 192.168.0.18]
  2. Servidor NFS / Kerberos [Box2: 192.168.0.20] (também conhecido como Centro de distribuição -chave, ou KDC abreviado).

Observação: que Kerberos O serviço é crucial para o esquema de autenticação.

Como você pode ver, o NFS servidor e o KDC estão hospedados na mesma máquina para simplificar, embora você possa configurá -los em máquinas separadas se tiver mais disponível. Ambas as máquinas são membros do MyDomain.com domínio.

Por último, mas não menos importante, Kerberos Requer pelo menos um esquema básico de resolução de nomes e o serviço de protocolo de tempo de rede para estar presente no cliente e no servidor, uma vez que a segurança da autenticação de Kerberos está em parte com base nos registros de data e hora dos ingressos.

Para configurar a resolução de nomes, usaremos o /etc/hosts Arquivo no cliente e no servidor:

Arquivo de host - Adicione DNS para domínio
192.168.0.18 Box1.MyDomain.com Box1 192.168.0.20 Box2.MyDomain.com Box2 

Em RHEL 7, Chrony é o software padrão que é usado para Ntp sincronização:

# yum install Chrony # SystemCtl Start Chronyd # SystemCtl Ativar Chronyd 

Para ter a certeza Chrony está na verdade sincronizando o tempo do seu sistema com os servidores de tempo que você pode querer emitir o seguinte comando duas ou três vezes e garantir que o deslocamento esteja se aproximando de zero:

# rastreamento Chronyc 
Sincronize o horário do servidor com o Chrony

Instalando e configurando Kerberos

Para configurar o KDC, Instale os seguintes pacotes em ambos servidor e cliente (omite o pacote de servidor no cliente):

# yum update && yum install krb5-server krb5-workstation pam_krb5 

Depois de instalado, edite os arquivos de configuração (/etc/krb5.conf e /var/kerberos/krb5kdc/kadm5.ACL) e substitua todas as instâncias de exemplo.com (minúsculas e maiúsculas) com MyDomain.com do seguinte modo.

Agora crie o Kerberos banco de dados (observe que isso pode demorar um pouco, pois requer algum nível de entropia em seu sistema. Para acelerar as coisas, abri outro terminal e corri ping -f localhost por 30-45 segundos):

# kdb5_util crie -s 
Crie um banco de dados Kerberos

Em seguida, ativar Kerberos através de firewall e iniciar / ativar os serviços relacionados.

Importante: NFS-Segura deve ser iniciado e ativado também no cliente:

# firewall-cmd --permanent --Add-Service = Kerberos # SystemCtl Iniciar Krb5kdc Kadmin NFS-Secure # SystemCtl Ativar Krb5kdc Kadmin NFS-Secure 

Em seguida, usando o Kadmin.local ferramenta, crie um diretor de administrador para raiz:

# kadmin.# Local AddPrinc Root/Admin 

E adicione o Kerberos servidor para o banco de dados:

# AddPrinc -RandKey Host/Box2.MyDomain.com 

O mesmo com o NFS serviço para ambos os clientes (Box1) e servidor (Box2). Observe que na captura de tela abaixo esqueci de fazer isso por Box1 Antes de parar:

# AddPrinc -RandKey NFS/Box2.MyDomain.com # AddPrinc -RandKey NFS/Box1.MyDomain.com 

E saída digitando desistir e pressionando Enter:

Adicione Kerberos ao servidor NFS

Em seguida, obtenha e cache o bilhete de bilheteria Kerberos para raiz/admin:

# kinit root/admin # klist 
Cache Kerberos

O último passo antes de realmente usar Kerberos está armazenando em um keytab arquivo (no servidor) os diretores que estão autorizados a usar a autenticação Kerberos:

# kadmin.# ktadd host/box2 local.MyDomain.com # ktadd nfs/box2.MyDomain.com # ktadd nfs/box1.MyDomain.com 

Finalmente, monte o compartilhamento e execute um teste de gravação:

# Mount -t nfs4 -o sec = krb5 box2: /nfs /mnt # echo "olá de Tecmint.com "> /mnt /saudação.TXT 
Mount NFS Compartilhe

Vamos agora desmontar a parte, renomear o keytab Arquivo no cliente (para simular que não está presente) e tente montar o compartilhamento novamente:

# Umount /mnt # mv /etc /krb5.keytab /etc /krb5.keytab.orig 
Mount UNMOUND Kerberos NFS Compartilhe

Agora você pode usar o NFS compartilhar com Baseada em Kerberos autenticação.

Resumo

Neste artigo, explicamos como configurar NFS com Kerberos autenticação. Como há muito mais no tópico do que podemos cobrir em um único guia, fique à vontade para verificar a documentação on -line de Kerberos e, como Kerberos é um pouco complicado para dizer o mínimo, não hesite em nos deixar uma nota usando o formulário abaixo Se você tiver algum problema ou precisar de ajuda com seus testes ou implementação.