autenticação Simple Radius

1

Eu estou olhando para usar o Radius como um servidor de autenticação para alguns servidores Ubuntu ao acessar através do SSH. Eu tentei usar libpam-radius-auth, mas não funciona como eu preciso.

Meu objetivo é ter uma solução semelhante aos dispositivos Cisco usando o TACACS / Radius como Autenticação. No entanto, eles não podem autenticar se não forem usuários locais.

sshd [3200]: Testacc de usuário inválido de 198.18.18.22

sshd [3200]: input_userauth_request: usuário inválido testacc [preauth]

As soluções que encontrei são a montagem de pastas base com o NFS e / ou a configuração de um serviço LDAP. Existe algum método mais simples de simplesmente permitir que um usuário faça o login em um servidor através de SSH, autenticando através do Radius? Eu quero mantê-lo o mais simples possível.

    
por Sebbeleu 08.05.2015 / 16:49

1 resposta

3

libpam-radius-auth deve funcionar exatamente como você precisa. Eu uso isso nessa capacidade sem problemas. Você só precisa

  • Configure em /etc/pam.d em algum lugar, provavelmente common-auth .
  • Configure o servidor RADIUS em /etc/raddb/server

However, they can't authenticate if they aren't local users.

Sim, é verdade. Os usuários devem existir em primeiro lugar.

Parece que você está lidando com um problema diferente da autenticação aqui. Tenha em mente a diferença entre esses dois subsistemas:

  • NSS (switch de serviço de nome): implementa o banco de dados de usuários (e grupos, e hosts, etc ...). Isso suporta consultas para listar usuários e obter suas propriedades, como nome, uid, diretório inicial e shell. O backend mais comum do NSS é "arquivos", que obtém informações do usuário de /etc/passwd , mas você pode usar muitos outros back-ends que obtêm informações de arquivos de banco de dados, do LDAP e assim por diante.
  • PAM (módulos de autenticação conectáveis): implementa a autenticação (e alterações de contabilidade e senha). Esse sistema usa módulos conectáveis que verificam a autenticação de um usuário e permitem ou não logins. O backend mais comum do PAM é "arquivos", que solicita ao usuário uma senha simples e o verifica em um hash em /etc/shadow , mas você pode usar muitos outros back-ends que consultam serviços como RADIUS, sistemas de senhas únicas, Kerberos e em.

Parece que você está fazendo autenticação (PAM) com o RADIUS, mas também gostaria de usar algo baseado em rede para o próprio banco de dados do usuário (NSS). Essa é uma questão completamente diferente, não relacionada à autenticação.

Você não pode usar o RADIUS como um back-end de banco de dados porque o protocolo RADIUS não oferece funcionalidade de banco de dados. Ou seja, ele não permite que você consulte detalhes de usuários como uid, home directory e shell, muito menos para enumerar usuários no banco de dados. Portanto, não existe um backend RADIUS NSS (% hipotéticolibnss-radius).

Para um banco de dados de usuários baseado em rede, você pode usar o LDAP, ou talvez MySQL ou Postgres. O LDAP é provavelmente a melhor recomendação.

    
por 08.05.2015 / 17:41