Ongelmia Apachen Kerberos autentikoinnin kanssa

Liittynyt
14.03.2019
Viestejä
879
Yritän saada Apachea toimimaan yhteen Windows Server 2022 Active Direcoryn kanssa käyttäen Kerberossia autentikointiin Apachen mod_auth_kerb-moduulilla, siinä onnistumatta. Apache pyörittää Nextcloudia.

Tällähetkellä olen päässyt kohtaan, jossa Apache valittaa alla olevaa kun yritän päästä Nextcloudiin domainiin liitetyltä W11-koneelta:
Bash:
[Wed Dec 27 19:59:18.199785 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1963): [client 192.168.88.174:49889] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[Wed Dec 27 19:59:18.201523 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1963): [client 192.168.88.174:49889] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[Wed Dec 27 19:59:18.201578 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1296): [client 192.168.88.174:49889] Acquiring creds for HTTP@nc.domain.fi
[Wed Dec 27 19:59:18.204953 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1719): [client 192.168.88.174:49889] Verifying client data using KRB5 GSS-API with our SPNEGO lib
[Wed Dec 27 19:59:18.205334 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1735): [client 192.168.88.174:49889] Client didn't delegate us their credential
[Wed Dec 27 19:59:18.205365 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1754): [client 192.168.88.174:49889] GSS-API token of length 9 bytes will be sent back
[Wed Dec 27 19:59:18.205381 2023] [auth_kerb:debug] [pid 1713] src/mod_auth_kerb.c(1156): [client 192.168.88.174:49889] GSS-API major_status:000d0000, minor_status:96c73a1f
[Wed Dec 27 19:59:18.205397 2023] [auth_kerb:error] [pid 1713] [client 192.168.88.174:49889] gss_accept_sec_context() failed: Unspecified GSS failure.  Minor code may provide more information (, Request ticket server HTTP/nc.domain.fi@AD.DOMAIN.FI kvno 2 enctype rc4-hmac found in keytab but cannot decrypt ticket)
Mitä olen tehnyt ja miten:
  • Luotu AD Domain ad.domain.fi ja vaadittu DNS
  • Apache-serveri (Ubuntu 22.04) liitetty domainiin komennolla sudo realm join ad.domain.fi Liitos toimii. Domain Userit voi kirjautua serverille.
  • Luotu Service Account: Active Directory Users and Computers -> ad.domain.fi -> Users -> New -> User
    • First Name: Apache
    • User logon name: apache
    • Password: ***
    • Confirm: ***
    • User must change password at next logon POIS
    • Password never expires PÄÄLLE
  • Luotu Service Principal Name (SPN) AD-servussa: komentoriville komento setspn -S HTTP/nc.domain.fi AD\apache
  • Luotu Apachelle oma Kerberos keytab: sudo ktutil - addent -password -p HTTP/nc.domain.fi -k 1 -e aes256-cts-hmac-sha1-96 (noita on luotu 4/kryptaustapa (aes256-cts-hmac-sha1-96/aes128-cts-hmac-sha1-96/rc4-hmac) muuttamalla -k 1-4, eli yht. 12.
cat /etc/apache2/apache2.keytab
Bash:
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    1          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes256-cts-hmac-sha1-96)
   2    2          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes256-cts-hmac-sha1-96)
   3    3          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes256-cts-hmac-sha1-96)
   4    4          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes256-cts-hmac-sha1-96)
   5    1          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes128-cts-hmac-sha1-96)
   6    2          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes128-cts-hmac-sha1-96)
   7    3          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes128-cts-hmac-sha1-96)
   8    4          HTTP/nc.domain.fi@AD.DOMAIN.FI (aes128-cts-hmac-sha1-96)
   9    1          HTTP/nc.domain.fi@AD.DOMAIN.FI (arcfour-hmac)
  10    2          HTTP/nc.domain.fi@AD.DOMAIN.FI (arcfour-hmac)
  11    3          HTTP/nc.domain.fi@AD.DOMAIN.FI (arcfour-hmac)
  12    4          HTTP/nc.domain.fi@AD.DOMAIN.FI (arcfour-hmac)
Apachen Kerberos asetukset on tiedostossa /var/www/html/.htaccess, koska Nextcloud on asennettu suoraan /var/www/html/ -hakemistoon.
cat /var/www/html/.htaccess
Apache config:
...
Nextcloud juttuja
...
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms AD.DOMAIN.FI
Require valid-user
SSLRequireSSL
Krb5Keytab /etc/apache2/apache2.keytab
Yhdellekään käyttäjälle ei ole määritetty mitään extra atribuutteja vakio asetusten lisäksi, koskien Kerberossia (Active Directory Users and Computers -> ad.domain.fi -> Users -> <user> -> Properties -> Atribute editor).

Mikähän tuossa mahtaa olla vikana? Toivottavasti joku keksii jotain
 
Liittynyt
14.03.2019
Viestejä
879
Homma taisi ratketa, ainakin Apache + Kerberosin suhteen, käyttämällä msktutil softaa kutilin sijaan.

Meni varmaan jotenkin näin (pää ihan sekaisin et mitä on tullut testattua, missä ja milloin...):
  1. Loin uuden käyttäjän ja annoin sille Domain Admin -oikeudet
  2. Kirjauduin kyseiseksi käyttäjäksi su -l <user>@ad.domain.fi
  3. Käskytin msktutil -N -c -b 'CN=Computers' -s HTTP/nc.ad.domain.fi -k ./a.keytab --computer-name NC$ --upn apache@AD.DOMAIN.FI --server w2022.ad.domain.fi
  4. Poistin vanhan /etc/apache2/apache2.keytab-tiedoston
  5. Siirsin a.keytab-tiedoston vanhan tilalle sudo mv a.keytab /etc/apache2/apache2.keytab
  6. Vaihdoin /etc/apache2/apache2.keytab-tiedoston omistajan ja ryhmän Apache-käyttäjälle sudo chown www-data:www-data /etc/apache2/apache2.keytab
  7. Sen jälkeen vielä Apachelle restartti sudo systemctl restart apache2.service

Nyt ei ainakaan valita tuosta keytabista, tai sen sisällöstä ja ainakin tämän sivun ( Ubuntu 22.04 LTS : Apache2 : Kerberos Authentication : Server World ) ohjeita seuraamalla luotu testisivu pelittää.

Nextcloud ei edelleenkään toimi, vaan valittaa selaimessa: "Account not provisioned. Your account is not provisioned, access to this service is thus not possible." ja Nextcloud.log:ssa näkyy seuraavaa:
Koodi:
{"reqId":"8ybFxZq2qANv0kls7C9l","level":2,"time":"2023-12-27T22:47:11+00:00","remoteAddr":"192.168.88.174","user":"--","app":"user_saml","method":"GET","url":"/index.php/apps/user_saml/saml/login?requesttoken=D78VN3Q0LmnVudXoQoEbLrfr1bADI3eO7ADLSsPMoZc%3D:Z4w6XyUbQQ/ggZ%2BjE/VRYO2zlIEoRRW32GjkMq%2B/lac%3D&originalUrl=&idp=1","message":"Error while trying to login using sso environment variable: IDP parameter for the UID not found. Possible parameters are: [\"HTTPS\",\"SSL_TLS_SNI\",\"SSL_SERVER_S_DN_CN\",\"SSL_SERVER_I_DN_C\",\"SSL_SERVER_I_DN_O\",\"SSL_SERVER_I_DN_CN\",\"SSL_SERVER_SAN_DNS_0\",\"SSL_VERSION_INTERFACE\",\"SSL_VERSION_LIBRARY\",\"SSL_PROTOCOL\",\"SSL_SECURE_RENEG\",\"SSL_COMPRESS_METHOD\",\"SSL_CIPHER\",\"SSL_CIPHER_EXPORT\",\"SSL_CIPHER_USEKEYSIZE\",\"SSL_CIPHER_ALGKEYSIZE\",\"SSL_CLIENT_VERIFY\",\"SSL_SERVER_M_VERSION\",\"SSL_SERVER_M_SERIAL\",\"SSL_SERVER_V_START\",\"SSL_SERVER_V_END\",\"SSL_SERVER_S_DN\",\"SSL_SERVER_I_DN\",\"SSL_SERVER_A_KEY\",\"SSL_SERVER_A_SIG\",\"SSL_SESSION_ID\",\"SSL_SESSION_RESUMED\",\"HTTP_HOST\",\"HTTP_USER_AGENT\",\"HTTP_ACCEPT\",\"HTTP_ACCEPT_LANGUAGE\",\"HTTP_ACCEPT_ENCODING\",\"HTTP_DNT\",\"HTTP_CONNECTION\",\"HTTP_UPGRADE_INSECURE_REQUESTS\",\"HTTP_SEC_FETCH_DEST\",\"HTTP_SEC_FETCH_MODE\",\"HTTP_SEC_FETCH_SITE\",\"HTTP_PRAGMA\",\"HTTP_CACHE_CONTROL\",\"PATH\",\"SERVER_SIGNATURE\",\"SERVER_SOFTWARE\",\"SERVER_NAME\",\"SERVER_ADDR\",\"SERVER_PORT\",\"REMOTE_ADDR\",\"DOCUMENT_ROOT\",\"REQUEST_SCHEME\",\"CONTEXT_PREFIX\",\"CONTEXT_DOCUMENT_ROOT\",\"SERVER_ADMIN\",\"SCRIPT_FILENAME\",\"REMOTE_PORT\",\"GATEWAY_INTERFACE\",\"SERVER_PROTOCOL\",\"REQUEST_METHOD\",\"QUERY_STRING\",\"REQUEST_URI\",\"SCRIPT_NAME\",\"PATH_INFO\",\"PATH_TRANSLATED\",\"PHP_SELF\",\"REQUEST_TIME_FLOAT\",\"REQUEST_TIME\"]","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0","version":"28.0.1.1","data":{"app":"user_saml"}}
Nextcloudissa oon koittanu pistää SSO & SAML authenticationin kenttään General (Atrribute to map the UID to.) userPrincipalName ja sAMAccountName, mutta kumpikaan ei toimi. En tiä mikä tuollakin on nyt ongelmana...
 
Toggle Sidebar

Statistiikka

Viestiketjut
240 969
Viestejä
4 215 823
Jäsenet
70 985
Uusin jäsen
retuilyllairmoraa

Hinta.fi

Ylös Bottom