Seguridad Kerberos en Apache

De Ardemans Wiki
Saltar a: navegación, buscar

Apache ha de tener cargado el módulo mod_auth_krb. En el fichero de configuracion de apache debería haber dos lineas como las siguientes:

LoadModule auth_kerb_module   libexec/mod_auth_kerb.so
AddModule mod_auth_kerb.c

La configuración del virtualhost podria ser como la siguiente:

    <Directory "/DATA/private/gallinero">
        Options FollowSymLinks

        AuthType Kerberos
        KrbServiceName HTTP
        AuthName "Gallinero"
        Krb5Keytab /opt/apache/conf/krb5.keytab
        KrbAuthRealm PRISADIGITAL.INT
        KrbMethodNegotiate on
        KrbMethodK5Passwd on
        KrbSaveCredentials on
        KrbVerifyKDC off
        Require valid-user
        AllowOverride None
        Order allow,deny
       Allow from all
    </Directory>

Hace falta que el apache se pueda conectar a Kerberos con un usuario propio, por lo tanto en el servidor de kerberos deberemos crear un usuario para el servicio HTTP.

En nuestro caso, es un usuario de directorio activo. He creado el usuario HTTP/admin2.prisadigital.int@PRISADIGITAL.INT. Por algun motivo el campo login ha de ser con .prisadigital.int, así es como intenta conectarse apache al kerberos. (por descubrir)

Solo nos falta generar el fichero krb5.keytab que hemos especificado arriba, para lo cual utilizamos el binario ktutil

#> ktutil
addent -password -p HTTP/admin2.prisadigital.int@PRISADIGITAL.INT -k 1 -e RC4-HMAC
- enter password for username -
wkt krb5.keytab
q