Configure o chroot para usuários LDAP no RHEL6

1

Eu tenho trabalhado nisso por 2 dias e estou prestes a desistir, então alguém por favor me ajude.

Eu tenho um servidor Red Hat 6 associado ao meu domínio de diretório ativo. Logins funcionam bem em circunstâncias normais. Eu tenho um login SSH restrito a grupos de diretórios ativos específicos usando require_membership_of = no arquivo /etc/security/pam_winbind.conf. Isso funciona muito bem.

Agora eu preciso bloquear esses usuários para ter acesso somente ao seu diretório home (chroot) e permitir somente logins do sftp.

Eu tentei cerca de um bilhão de combinações de edição do arquivo / etc / ssh / sshd_config mas ou acabei com o usuário não sendo restrito a sua pasta base ou eles não serem capazes de logar. A configuração abaixo funciona muito bem quando eu uso usuários locais / grupos para restringir o login chroot e sftp. (obviamente eu mudo o Match group para o grupo de usuários local)

O problema que eu penso é que os usuários LDAP não são usuários locais e eles não têm grupos locais. Aqui está a seção relevante do meu arquivo sshd_config

  Match group 'Domain Users'
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Quando eu reinicio o sshd isso dá um erro /etc/ssh/sshd_config line 135: Bad Match condition Quando eu altero 'Domain Users' para Domain0Users Eu não recebo o erro, mas os usuários LDAP não estão restritos aos seus diretórios home (o chroot não está funcionando). Eu também tentei alterar o ChrootDirectory %h para uma nova pasta / chroot, assim como / home /% u, mas ambos não funcionaram.

As possíveis soluções em que pensei são

  • Alterar o grupo padrão do qual os usuários do LDAP são parte (não encontrei isso em nenhum lugar e as configurações não são aplicáveis ao / etc / default / useradd)
  • Altere o Match group no arquivo sshd_config para algo que se aplica aos usuários do domínio. Eu tentei 'Domain Users' , Domain\ Users , Domain0Users e o SID do LDAP do grupo de usuários do domínio. Todos os quais não funcionaram ou deram erros ao reiniciar o sshd
  • Após o primeiro login, o sistema deve criar um usuário / grupo local (mas isso pode interromper a sincronização de senha para o AD
  • Algo mais que perdi completamente.

Alguém tem experiência em configurar restrições chroot com logins LDAP? Estou perplexo e não acho que posso abrir mais abas no meu navegador.

    
por Rothgar 26.03.2013 / 01:00

2 respostas

1

Graças a TrevorH1 no canal #centos, pude fazer isso funcionar.

A maneira como você pode combinar um grupo com espaços (no meu caso, Usuários do Domínio) é usar o ? para representar o espaço (um padrão de glob shell padrão). Isso corresponderia a qualquer grupo que também tivesse qualquer caractere em vez de um espaço, mas funcionasse para as minhas necessidades.

Por exemplo, meu novo sshd_config se parece com isso

 Match Group domain?users
  ChrootDirectory %h
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp

Também foi importante para mim usar caracteres minúsculos em vez de usuários do domínio. Mesmo que o grupo no LDAP esteja em maiúsculas. A maneira como você pode descobrir em qual grupo você precisa filtrar é usando id <username> . Isso fornecerá uma lista de todos os grupos dos quais o usuário faz parte. Se eu tivesse vários grupos, o LDAP (por exemplo, usuários de domínio, usuários de domínio!, Usuários de domínios) também corresponderia a todos esses casos, o que pode ou não ser desejado.

    
por 27.03.2013 / 22:05
0

Você pode experimentar este grupo de correspondências "usuários de domínio". Isso funcionou para mim. Mesmo eu estou usando esta sintaxe mais difícil do que você usa "GRUPO DE TRABALHO \ usuários de domínio" do Match Group.

    
por 05.01.2015 / 18:32