Integrando a autenticação Kerberos no Apache com um servidor Git

2

Primeira vez que faça uma pergunta aqui, espero estar no lugar certo para fazer isso. Eu também procurei por problemas semelhantes aqui, mas não consegui encontrar nada parecido.

Aqui está o meu problema. Atualmente, temos um servidor git (usando o Gitorious) que atualmente está funcionando bem. Fui solicitado a adicionar uma camada adicional de segurança à interface da Web, autenticando com o Kerberos. Então, fui em frente e configurei o Apache para solicitar a autenticação do usuário usando mod_auth_kerb sempre que um usuário tentar acessar a interface da web. Tudo funciona muito bem no que diz respeito à interface da web. No entanto, ao tentar puxar / empurrar qualquer coisa da linha de comando, ela falha horrivelmente.

Aqui estão informações relevantes:

Na minha configuração do Apache, eu tentei os dois métodos a seguir, ambos produzindo os mesmos resultados:

<Directory /home/git/active/>

        AuthName "Restricted Access Kerberos"
        AuthType Kerberos
        Krb5Keytab  /etc/httpd/conf/httpd.keytab
        KrbAuthRealms TEST.COMPANY.COM
        KrbMethodNegotiate On
        KrbMethodK5Passwd On
       require valid-user

</Directory>

<Location />

        AuthName "Restricted Access Kerberos"
        AuthType Kerberos
        Krb5Keytab  /etc/httpd/conf/httpd.keytab
        KrbAuthRealms TEST.COMPANY.COM
        KrbMethodNegotiate On
        KrbMethodK5Passwd On
        require valid-user

</Location>

O seguinte é o que aparece ao tentar extrair da linha de comando:

== Gitorious: ==========================================================

Access denied or wrong repository path

========================================================================

fatal: The remote end hung up unexpectedly

Visto em gitorious_auth.log:

I, [2014-01-17 15:02:47#8854]  INFO -- : Connection from "192.168.50.11 59109 22" (beauclaira): git-receive-pack 'sysadmin/puppet.git'
I, [2014-01-17 15:02:47#8854]  INFO -- : Access denied or bad repository path for "beauclaira": "git-receive-pack 'sysadmin/puppet.git'"

E em / var / log / secure:

Jan 17 15:06:32 gitorious50 sshd[9286]: Accepted publickey for git from 192.168.50.11 port 59146 ssh2
Jan 17 15:06:32 gitorious50 sshd[9286]: pam_unix(sshd:session): session opened for user git by (uid=0)
Jan 17 15:06:32 gitorious50 sshd[9288]: Received disconnect from 192.168.50.11: 11: disconnected by user
Jan 17 15:06:32 gitorious50 sshd[9286]: pam_unix(sshd:session): session closed for user git

Eu senti falta de algo? Eu não entendo muito bem porque adicionar essa autenticação no Apache está impedindo os usuários de empurrar / puxar. A partir disso, eu acho que ainda passa pelo Apache, mesmo quando puxando da linha de comando? O que estou tentando fazer é possível?

Obrigado por qualquer ajuda que você possa fornecer!

    
por Alocer 17.01.2014 / 21:13

0 respostas