Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladač Microsoft JDBC pro SQL Server umožňuje aplikaci použít vlastnost připojení authenticationScheme k určení, že se má připojit k databázi pomocí ověřování NTLM v2.
Pro ověřování NTLM se používají také následující vlastnosti:
- domain = domainName (volitelné)
- uživatel = uživatelské jméno
- password = heslo
- integratedSecurity = true
Kromě domain jsou ostatní vlastnosti povinné; ovladač vyvolá chybu, pokud některá z nich chybí při použití vlastnosti NTLM authenticationScheme.
Další informace o vlastnostech připojení naleznete v tématu Nastavení vlastností připojení. Další informace o ověřovacím protokolu Microsoft NTLM naleznete v tématu Microsoft NTLM.
Poznámky
Viz Zabezpečení sítě: Úroveň ověřování LAN Manager popis nastavení SYSTÉMU SQL Server, která řídí chování ověřování NTLM.
Logování
Byl přidán nový protokolovací nástroj pro podporu ověřování NTLM: com.microsoft.sqlserver.jdbc.internals.NTLMAuthentication. Další informace naleznete v tématu Sledování činnosti ovladače.
Zdroj dat
Při vytváření připojení pomocí zdroje dat lze vlastnosti NTLM programově nastavit pomocí setAuthenticationScheme, setDomain a (volitelně) setServerSpn.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("<server>");
ds.setPortNumber(1433); // change if necessary
ds.setIntegratedSecurity(true);
ds.setAuthenticationScheme("NTLM");
ds.setDomain("<domainName>");
ds.setUser("<userName>");
ds.setPassword("<password>");
ds.setDatabaseName("<database>");
ds.setServerSpn("<serverSpn");
try (Connection c = ds.getConnection(); Statement s = c.createStatement();
ResultSet rs = s.executeQuery("select auth_scheme from sys.dm_exec_connections where session_id=@@spid")) {
while (rs.next()) {
System.out.println("Authentication Scheme: " + rs.getString(1));
}
}
Hlavní názvy služeb
Hlavní název služby (SPN) je název, kterým klient jednoznačně identifikuje instanci služby.
Hlavní název služby (SPN) můžete zadat pomocí vlastnosti připojení serverSpn nebo nechat ovladač sestavit za vás (výchozí). Tato vlastnost má tvar: „MSSQLSvc/fqdn:port@REALM“, kde fqdn je plně kvalifikovaný název domény, port je číslo portu a REALM je oblast serveru SQL napsaná velkými písmeny. Část sféry této vlastnosti je nepovinná, protože výchozí sféra je stejná jako sféra serveru.
Například může vaše hodnota SPN vypadat takto: "MSSQLSvc/some-server.zzz.corp.contoso.com:1433"
Další informace o hlavních názvech služby (SPN) najdete tady:
Poznámka:
Atribut připojení serverSpn je podporován pouze ovladači Microsoft JDBC 4.2 a vyšší.
Před vydáním ovladače JDBC verze 6.2 byste museli explicitně nastavit serverSpn. Od verze 6.2 bude ovladač moct ve výchozím nastavení sestavit serverSpn , i když jeden může používat serverSpn explicitně.
Rizika zabezpečení
Protokol NTLM je starý ověřovací protokol s různými ohroženími zabezpečení, které představují bezpečnostní riziko. Je založená na slabém kryptografickém schématu a je zranitelná vůči útokům. Protokol NTLM byl nahrazen protokolem Kerberos, který je mnohem bezpečnější a doporučuje se. Ověřování protokolem NTLM by mělo být použito pouze v zabezpečeném, důvěryhodném prostředí nebo v případě, že se protokol Kerberos nedá použít.
Ovladač Microsoft JDBC pro SQL Server podporuje pouze protokol NTLM v2, který má některá vylepšení zabezpečení oproti původnímu protokolu v1. Pro zvýšení zabezpečení se také doporučuje použít šifrování TLS.
Další informace o připojení pomocí šifrování najdete v tématech:
Poznámka:
Pro verzi 7.4 se povolení rozšířené ochrany i šifrování nepodporuje.