Autenticacao via AD restringida por grupo

1. Autenticacao via AD restringida por grupo

Reinaldo Gomes
reinaldogomes

(usa CentOS)

Enviado em 28/07/2016 - 12:45h

Eu preciso prover acesso aos serviços de SFTP e Web (Apache) para alguns usuários externos, que irão se autenticar através da nossa base interna de usuários no AD. Estes usuários estarão associados a alguns grupos, e cada grupo terá acesso a algumas pastas do web server.

Para o SSH/SFTP, eu simplesmente instalei o Samba/SSSD, e o SSH funcionou sem precisar fazer mais nada. Simplesmente coloquei o "Match Group" no "/etc/ssd/sshd_config", e funcionou a autenticação via AD, com restrição por grupo.

Para o Apache, está sendo uma dor de cabeça. Eu até consegui fazer a restrição por grupo utilizando o "mod_authnz_ldap", mas eu queria evitar a todo custo usar esse mod, porque precisa deixar uma string ldap fixa, com usuário e senha em texto plano, não tem failover de servidor, etc, etc... seria a última opção.

Com o "mod_authnz_pam", eu consegui fazer a autenticação via AD numa boa, super simples. O problema é que ele só funciona com "Require valid-user" ou "Require user <username>". Se eu tentar "Require group <groupname>", ele dá um erro dizendo que o arquivo de grupos não foi encontrado, como se ele estivesse usando o AuthBasic pra fazer a autorização, e não o AuthPAM.

Resumindo: como eu faço pra ter uma autenticação via AD, restringindo cada diretório por grupos específicos, sem precisar de uma string LDAP no config do Apache?


  


2. Re: Autenticacao via AD restringida por grupo

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/07/2016 - 20:58h

Supondo que o diretório com as páginas inrestrita somente a algum grupo especifico fosse /var/www/site/page2


<Directory /var/www/site/page2>
AuthBasicProvider LDAP
AuthName "Área Inrestrita para o Grupo diretoria"
AuthType Basic
AuthLDAPUrl ldap://endereço_ad/dc=seu_dominio,dc=com?samaccountname?sub
AuthLDAPInitialBindAsUser On
AuthLDAPInitialBindPattern (.+) $1
AuthLDAPCompareAsUser On
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN On
# coloque aqui o DN do grupo
Require lda-group cn=diretoria,ou=diretoria,dc=seu_dominio,dc=com
</Directory>


Mas até o momento que escrevo não consegui entender por que alguns nomes de usuários com "."(ponto) entre palavras, por exemplo o usuário vol autentica o usuário user.vol não autentica e usuários com nome um pouco longo como administrador também não autentica, os logs mostram que a senha está mismatch.


3. Re: Autenticacao via AD restringida por grupo

Reinaldo Gomes
reinaldogomes

(usa CentOS)

Enviado em 28/07/2016 - 21:53h

Legal esse esquema aí de não precisar de usuário e senha, mas eu queria mesmo conseguir fazer a restrição por grupo usando o outro módulo, que não precisa da string LDAP. O maior motivo é que a string LDAP só permite um único servidor.

Eu consigo autenticar usuário com ponto, inclusive com mais caracteres do que Administrador. Minha string é essa:

AuthLDAPURL "ldap://servidor/dc=contoso,dc=com?sAMAccountName?sub?(objectClass=*)"


4. Re: Autenticacao via AD restringida por grupo

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/07/2016 - 22:23h

reinaldogomes escreveu:

Legal esse esquema aí de não precisar de usuário e senha, mas eu queria mesmo conseguir fazer a restrição por grupo usando o outro módulo, que não precisa da string LDAP. O maior motivo é que a string LDAP só permite um único servidor.

Eu consigo autenticar usuário com ponto, inclusive com mais caracteres do que Administrador. Minha string é essa:

AuthLDAPURL "ldap://servidor/dc=contoso,dc=com?sAMAccountName?sub?(objectClass=*)"


Consegue sem as diretivas AuthLDAPBindDN e AuthLDAPBindPassword do módulo mod_authnz_ldap ? pois usando as diretivas como postei anteriormente consegui. mas se usar as diretivas AuthLDAPBindDN e AuthLDAPBindPassword consigo qualquer um.

Referente a limitação do módulo mod_authnz_ldap que você disse, (nunca usei) mas de acordo com a documentação do apache pode sim usar mais de um servidor na diretiva AuthLDAPUrl, veja esse link http://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html#authldapurl

Outra forma possível(nunca usei também) está documentada no site do projeto samba, veja o link https://wiki.samba.org/index.php/Authenticating_Apache_against_Active_Directory


5. Re: Autenticacao via AD restringida por grupo

Reinaldo Gomes
reinaldogomes

(usa CentOS)

Enviado em 28/07/2016 - 22:59h

Eu só testei usando as diretivas de BindDN e BindPassword. Pode ser que esse seu método "sem login" esteja causando problema.

Legal saber que dá pra colocar outros servidores. Vou dar uma lida na documentação toda dele pra ver o que mais dá pra fazer. Mas isso aí já resolve uns 90% do meu problema. Valeu!

ps: eu ainda queria ver o mod_authnz_pam funcionando com restrição de grupo :/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts