În prezent, încerc să configurez Kerberos pe Apache-ul nostru și, din păcate, nu pot ajunge mai departe.
Site-ul web (Typo3) de pe apache este accesat intern și extern cu sub.domain.com
Domeniul local este intern.local
Am creat fișierul keytab astfel:
ktpass -princ HTTP/[email protected] -mapuser [email protected] -pass P@55w0rd -crypto ALL -ptype KRB5_NT_PRINCIPAL -out C:\temp\kerbkey.keytab
Fișierul krb5.conf arată astfel:
[libdefaults]
default_realm = INTERN.LOCAL
kdc_timesync = 1
ccache_type = 4
forwardable = adevărat
proxiable = adevărat
[tărâmuri]
INTERN.LOCAL = {
kdc = dc01.intern.local
admin_server = dc01.intern.local
default_domain = intern.local
}
[domeniu_domeniu]
.sub.domain.com = INTERN.LOCAL
sub.domain.com = INTERN.LOCAL
intern.local = INTERN.LOCAL
.intern.local = INTERN.LOCAL
vhost-ul Apache arată astfel:
<VirtualHost *:443>
ServerName sub.domain.com
ServerAdmin [email protected]
DocumentRoot /var/www/page
<Directory /var/www/page>
AllowOverride All
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/wildcart-zert.crt
SSLCertificateKeyFile /etc/apache2/ssl/wildcart-key.key
<IfModule !mod_auth_gssapi.c>
LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_gssapi.so
</IfModule>
LimitRequestFieldSize 32768
<Location "/">
AuthName [email protected]
AuthType GSSAPI
GssapiBasicAuth On
GssapiCredStore keytab:/etc/apache2/krb5/kerbkey.keytab
Require valid-user
</Location>
ErrorLog ${APACHE_LOG_DIR}/page-ssl_error.log
CustomLog ${APACHE_LOG_DIR}/page-ssl_access.log combined
</VirtualHost>
Problema acum este că dacă activez configurația vhost așa, atunci când apelez pagina https://sub.domain.com, primesc întotdeauna o fereastră pop-up de browser pentru a introduce numele de utilizator și parola. Și indiferent ce scriu aici, nu pot ajunge la pagina web și primesc eroarea:
Neautorizat
Acest server nu a putut verifica dacă sunteți autorizat să accesați documentul solicitat. Fie ați furnizat acreditările greșite (de exemplu, parolă greșită), fie browserul dvs. nu înțelege cum să furnizeze acreditările necesare.
Server Apache/2.4.41 (Ubuntu) la sub.domain.com Port 443
Jurnalul de erori apache arată aceste intrări:
[auth_gssapi:error] [pid 1632875] [client x.x.x.x:65394] EROARE GSS în Autentificarea negocierii: gss_accept_sec_context() a eșuat: [A fost solicitat un mecanism neacceptat (Eroare necunoscută)]