Pokud chceš použít NTLM transparent authentication, stejně potřebuješ server v doméně nebo proti komu se chceš přes NTLM přihlašovat? Proti lokálním uživatelům na serveru? Případně zase potřebuješ prostředníka, který ti identitu uživatelů vzdáleně ověří.
Pořád tady je stejná písnička, pokud Windows server není v doméně, IIS se neumí dotázat na identitu uživatele, je možné použít variantu se SPNEGO wrapperem (NTLM + kerberos v5), tam se pak předá podepsaný tiket přes IIS do TGS od klienta, takže přihlášení funguje transparentně pro doménové uživatele přes IIS, který není v doméně, je to tvůj use case?
Ono je v tom trocha viac nuansy.
"Server v doméne" znamená viacero vecí:
1. kerberos: má vydaný keytab na host/fqdn@realm,
2. LDAP: je v CN=Computers (by default, môže byť v inej).
Ani jedno nie je postačujúca podmienka, aby IIS vedel overiť klienta - keytab z bodu 1 totiž patrí hostovi, nie IIS. Ten by mal mať vlastný keytab, http/fqdn@realm, ktorý môže mať iné oprávnenia ako ten z hosta (napríklad teoreticky môže vedieť delegovať).
Takže IIS teoreticky (prakticky to mám odskúšané len s Apache, Keycloak/Wildfly a KeycloakX) stačí SPN, ktoré je povolené pre špecifického hosta, ten host potrebuje mať v DNS A záznam pre fqdn (pre Windows klientov, Linuxu a MacOS, resp. MIT a Heimdall, stačí CNAME) a reverzný záznam (len Windows klient, ten kanonalizuje hostname, Linux a MacOS to nerobia, a preto ho nepotrebujú). Doména vo fqdn nemusí byť zhodná s realmom. Keytab pre tento SPN nastavíš vo webserveri a ten bude vedieť overiť používateľa voči doménovému Kerberovi.
Zistiť, ako nastaviť vlastný keytab na IIS je ponechané ako domáca úloha. Otázka je, či je to vôbec možné, alebo používa natvrdo SSPI a nechá to na hosta.
Bude však vedieť overiť len to, či používateľ je ten, čo ticket tvrdí, že je. Nebude vedieť členstvo v skupinách alebo atribúty z usera, na to sa treba nabindovať na LDAP a to anonymne nepôjde. Bude treba mať credentials, buď tým istým SPN ako sa pýta Kerbera, ale dá sa aj meno/heslo.