Apache - Substitua o Apache :: AuthenNTLM com o Kerberos (mod_auth_kerb)

2

Dentro de um sistema de intranet no Solaris, atualmente utilizamos o módulo Apache2 :: AuthenNTLM do perls para autenticar com um Win 2k3 doman servidor, para que possamos acessar o ID do usuário da pessoa que está navegando no site.

Movendo-se para os servidores do Windows Server 2012, nos disseram que isso não suportará o NTLM, o que a Microsoft não recomenda atualmente. O mod-auth-curb é um substituto adequado para este caso de uso?

Eu pesquisei no google e não consigo encontrar um artigo ou tutorial relevante mostrando mod-auth-curb sendo usado dessa maneira. Estou com dificuldades para começar e posso usar um ponto na direção certa.

Obrigado

    
por Dr.Avalanche 29.08.2014 / 12:44

1 resposta

3

Você precisará que o administrador do Active Directory crie uma conta de serviço que contenha os Princípios de serviço do Kerberos para o seu servidor de intranet. Os SPNs ou SPNs devem ser parecidos com <service>/<hostname> e conter todos os nomes de host e / ou aliases de DNS que os usuários usam para acessar o site da intranet, então algo como:

http/solarishost.int.example.com
http/solarishost
http/intranet.example.com

O administrador do Active Directory pode extrair o SPN para um arquivo keytab , que você precisa copiar para seu host Solaris e configurar no Apache. Nota: o http / hostname SPN também é usado para HTTPS.

No Solaris, você precisará das ferramentas e bibliotecas do MIT Kerberos 5, baixar e instalar o módulo do Apache e, em seguida, configurá-lo.

Normalmente você editará o arquivo de configuração global do Kerberos /etc/krb5/krb5.conf para configurar os padrões que o mod-auth-curb também usará, importantes são geralmente apenas os nomes do REALM, geralmente o domínio do Windows AD, seu domínio DNS e os servidores KDC - normalmente os controladores de domínio do administrador do AD diz para você usar.

A configuração do Apache é algo como isto:

<Location /intranet>
 AuthType           Kerberos
 AuthName           "intranet"
 KrbMethodNegotiate on
 KrbAuthoritative   on
 KrbVerifyKDC       on
 KrbAuthRealm       YOUR_ACTIVEDIRECTORY_DOMAIN
 Krb5Keytab         /etc/httpd/intranet.keytab
 KrbSaveCredentials off
 Require            valid-user
</Location>

Um pouco de compreensão do Kerberos e do Microsoft AD ajuda, pois pode ser complicado depurar para não iniciados. Ah, e com o Kerberos, verifique se seus relógios estão sincronizados.

    
por 29.08.2014 / 14:19