Como faço para ativar o login admin baseado em tempo em um sistema Linux usando o diretório ativo do windows?

0

Eu configurei uma solução onde o login em nossos sistemas linux é regulado pelo Microsoft active Directory e por associações a grupos. Agora eu quero o tempo de acesso com base para que o usuário do anúncio seja expulso do sistema após um período de tempo.

Eu li algumas coisas sobre o RADIUS e suas possibilidades de fazê-lo de forma recorrente. O que eu quero realizar é ...

  1. ... esse usuário a será colocado no grupo de login do diretório ativo, mas não pode efetuar login no sistema linux.
  2. ... o usuário a pode ligar para um site para solicitar acesso ao servidor x por algumas horas ou dias, mas somente quando o usuário a estiver nesse grupo de anúncios.
  3. ... o usuário a será ativado para este servidor usando suas credenciais de anúncio e, se possível, um segundo fator, como uma senha única.
  4. ... user um é expulso do sistema e não poderá fazer login novamente após o período de tempo.

Alguém tem experiência com esse tipo de cenário ou algo semelhante que possa funcionar aqui? Ou conhece algum software útil para realizar essa meta?

Obrigado!

    
por Dade 20.07.2018 / 10:40

2 respostas

0

Eu não acho que exista uma solução pronta para isso, então você tem que trabalhar nisso.

  1. Conectar as caixas do Linux ao Active Directory é relativamente fácil, pois o AD funciona como um LDAP e o Linux pode se autenticar em relação ao LDAP por muito tempo. Há também alguma solução específica de AD. Eu sugeriria o google para "diretório ativo do linux sssd" primeiro.

  2. Acho que é isso que você precisa implementar. Uma maneira possível: você pode adicionar / remover usuários a grupos e a autenticação do AD da caixa Linux (ponto anterior) pode ser baseada na participação em grupos.

  3. O segundo fator pode ser independente do AD, você pode configurar uma autenticação de fator 2 para sua caixa do Linux. Uma maneira (popular) é usar o google authenticator. (Não fique confuso, não é nada relacionado a contas do Google.)

  4. Para evitar novos logins é fácil, com base em sua escolha no segundo ponto, você pode remover o usuário do grupo após um tempo limite ou algo similar. Mas eu não sei como terminar as sessões já em execução ... Pode ser que você possa implementar um serviço simples que elimine todos os processos do usuário com base em alguma condição (novamente a associação do grupo AD?)

por 20.07.2018 / 11:54
0

Você pode emitir certificados temporários do OpenSSH para implementar um login SSH com limite de tempo. Existem várias páginas web descrevendo como fazer isso com a ferramenta ssh-keygen . O usuário autenticaria em um serviço da Web e um SSH-CA emitirá um certificado OpenSSH (não X.509) válido por algumas horas ou dias.

Eu também implementei um componente SSH-CA para um cliente como um simples serviço da Web sem estado, acessado com um pequeno script Python no lado do cliente.

Mas isso só impede que os usuários efetuem login novamente com essa chave após a expiração do cert. A parte complicada é chutar de forma confiável as sessões ativas do usuário após esse período. Especialmente você deve esclarecer se você realmente quer fazer isso ou apenas monitorar e avisar sobre sessões SSH de longa duração.

    
por 20.07.2018 / 21:36