sql >> Databáze >  >> RDS >> Sqlserver

Ověřování SQL Server vs. ověřování Windows:Které použít a kdy

Autentizace je kritickou součástí každé bezpečnostní strategie. Dnes budeme diskutovat o ověřování SQL Server a o tom, jak je nezbytné zabezpečit prostředí SQL Server, a o roli, kterou hraje ověřování systému Windows.

Navázání spojení

Vše začíná spojením. Aby bylo možné navázat úspěšné připojení k databázi, klient nebo aplikace vyžaduje následující informace:

  • Plně kvalifikovaný název domény SQL Server
  • Název instance
  • Číslo portu
  • Přihlašovací údaje (uživatelské jméno a heslo) pro ověření

Předpokládejme například, že používáte internetové bankovnictví. Chcete-li získat přístup ke svému účtu, musíte zadat přihlašovací údaje pro účely ověření. Banka vás identifikuje, když poskytnete platné přihlašovací údaje, a po ověření vám umožní přístup ke svým službám.

Podobně při přihlašování k serveru SQL musí uživatelé zadat platná pověření, aby SQL Server mohl ověřit jejich identitu a udělit příslušný přístup.

SQL Server poskytuje dva režimy ověřování serveru:

  • Ověření systému Windows
  • Režim ověřování SQL Server a Windows (smíšený režim)

Tyto metody ověřování můžete definovat během instalace SQL Serveru nebo je později změnit pomocí restartu. Je důležité, aby správci databází pochopili rozdíly mezi těmito metodami ověřování a implementovali je podle specifických požadavků své organizace.

Pojďme se ponořit dále, abychom pochopili výhody a nevýhody ověřování SQL Server a Windows.

Přehled ověřování SQL Server

Správci databází vytvářejí přihlášení k SQL a poskytují uživatelům příslušná oprávnění k ověření na serveru SQL Server. Uživatelé musí při připojování k serveru SQL zadat přihlašovací jméno a heslo, jak je uvedeno níže.

Přihlašovací údaje uživatele jsou ověřeny prostřednictvím informací uložených v hlavní databázi. Pro přihlášení k serveru SQL Server můžete vynutit následující zásady.

  • Vynutit zásady pro hesla :Správci mohou zaškrtnout tuto možnost, aby implementovali zásady hesla systému Windows pro přihlášení k serveru SQL Server. Zahrnuje specifikaci délky a složitosti hesla.
  • Vynutit vypršení platnosti hesla :Můžete vynutit maximální stáří hesla. Platnost hesla vyprší a je třeba jej změnit podle kritérií pro věk.
  • Uživatel si musí při příštím přihlášení změnit heslo :Správce přiděluje heslo během vytváření přihlášení SQL. Jakmile se uživatel přihlásí pomocí svých přihlašovacích údajů, musí zadat nové heslo a správci si toto nové heslo neuvědomí.

Poznámka:Všechny tyto konfigurace jsou na úrovni individuálního přihlášení SQL. Pokud tedy potřebujete vytvořit více přihlášení SQL, musíte každý účet nakonfigurovat s požadovanou zásadou.

Nemůžeme povolit pouze ověřování SQL. Chcete-li to povolit, použijte možnost smíšeného ověřování, která zahrnuje ověřování Windows i SQL.

Nevýhody ověřování SQL Server

Používání samotného ověřování SQL Server má několik omezení a nevýhod.

  • Uživatelé si musí zapamatovat přihlašovací údaje SQL a zadat je v připojovacím řetězci pokaždé, když se připojí k serveru SQL. Pokud máte více serverů SQL, může být pro uživatele obtížné sledovat hesla pro každou instanci.
  • SQL Server ukládá heslo do hlavní databáze v zašifrované (hash) podobě. Hackeři mohou ukrást informace přístupem do databáze. Vzhledem k tomu, že tyto zašifrované přihlašovací údaje je třeba předat přes síť, může to zvýšit pravděpodobnost odcizení uživatelských přihlašovacích údajů.
  • Nemůžete implementovat další (přizpůsobené) zásady účtu s přihlášeními k ověřování SQL Server.
  • Zvyšuje úlohu správy přihlášení pro správce databází. Správci databází nemají centrální konzolu pro správu pro správu přihlášení napříč všemi instancemi.

Předpokládejme, že máte více než 500 instancí SQL a uživatel vyžaduje přístup ke všem těmto instancím. V tomto případě by byl pro správce databáze zdlouhavý úkol připojit se ke každé instanci a vytvořit přihlášení uživatelů. Podobně, pokud osoba opustila organizaci, správce databáze musí zjistit přihlášení daného jednotlivce k SQL a odstranit je ze všech těchto instancí. To může být velmi časově náročný proces.

  • Při přesouvání databáze do různých instancí můžete mít problémy se osiřelými uživateli, k čemuž může dojít kvůli neshodě SID v hlavní a uživatelské databázi v nové instanci.
  • Musíte spravovat zásady zabezpečení pro každé přihlášení SQL. Nemůžete definovat univerzální zásady pro všechny účty ve vaší organizaci. Pro velké databáze je obtížný úkol definovat zásady pro každé jednotlivé přihlášení.

Nejlepší případy použití pro ověřování SQL Server

  • Starším aplikacím a softwaru třetích stran může pomoci propojit databáze, pokud nepodporují ověřování Windows (AD).
  • Můžete vyžadovat, aby se uživatelé z nedůvěryhodných domén připojili k serveru SQL Server. V tomto případě může aplikace zadat SQL přihlášení do připojovacích řetězců a připojit se k databázi.
  • Pro připojení samostatných instancí SQL, které nejsou součástí skupin Active Directory (AD).
  • Může SQL Serveru pomoci podporovat webové aplikace, kde si uživatelé vytvářejí své vlastní identity.
  • Správci sdílejí v několika případech společné ID pro připojení k serveru SQL Server pomocí ověřování Active Directory. Toto sdružování připojení není dobrým postupem. V tomto případě můžete pro každého uživatele vytvořit samostatné přihlášení a připojit se k databázi pomocí jeho přihlašovacích údajů.
  • Pokud implementujete databázi SQL do cloudu, tj. Azure SQL Database nebo AWS RDS, ve výchozím nastavení vám budou poskytnuty přihlašovací údaje pro ověřování SQL Server. Později, v případě potřeby, můžete nakonfigurovat ověřování založené na AD.
  • Můžete jej použít k připojení z různých operačních systémů, jako jsou Linux a macOS.

Přehled ověřování systému Windows

Při ověřování Windows by se měl uživatel nejprve ověřit v rámci Active Directory. SQL Server ověřuje uživatele prostřednictvím hlavního tokenu Windows v OS. Díky tomu SQL Server nepožaduje heslo pro ověření identity. Systém Windows proto ověřuje identitu uživatelů pro ověřování. SQL Server neukládá pověření v ověřování systému Windows. Připojení pomocí ověřování systému Windows se nazývá důvěryhodné nebo integrované připojení.

Poznámka:Ověřování systému Windows je výchozí metodou ověřování při instalaci serveru SQL.

Výhody ověřování systému Windows

  • Ověřování systému Windows je bezpečný způsob připojení k serveru SQL Server a používá tokeny a názvy SPN pro účely ověřování pomocí ověřovacího protokolu Kerberos. Proto neposílá hesla po síti a chrání před krádeží hesel po síti.
  • SQL Server neukládá přihlašovací údaje uživatele.
  • Používá bezpečnostní protokol Kerberos a můžete implementovat zásady pro hesla, jako jsou složitá hesla, uzamčení účtů a vypršení platnosti hesla. Tato zásada hesel může být implementována na úrovni organizace napříč všemi servery. Proto můžete řídit zásady zabezpečení uživatelů na úrovni organizace namísto na úrovni individuálního přihlášení, jako je tomu u ověřování SQL Server.
  • Ověřování systému Windows umožňuje oddělení povinností. Uživatele AD spravuje tým služby Active Directory (AD). Zatímco DBA přidává uživatele AD do instancí SQL a poskytuje příslušná oprávnění.
  • Active Directory pomáhá vytvářet skupiny Windows. Tým AD může přidat více lidí, kteří vyžadují stejný přístup ve skupině AD. Později můžete přidat skupinu do instance SQL a poskytnout oprávnění na úrovni skupiny. Pokud se tedy připojí nová osoba, jakmile je součástí skupiny AD, je automaticky udělen přístup k databázi přes server, kde tato skupina AD existuje. Podobně, jakmile se uživatel přesune z organizace a jeho ID je odebráno z těchto AD skupin, již nebude mít přístup k databázi.

Nevýhody ověřování systému Windows

  • Pokud používáte ověřování systému Windows pouze pro SQL Server, všichni uživatelé by měli být součástí Active Directory.
  • DBA nemají kontrolu nad přihlášeními a skupinami AD.
  • DBA nezná členství ve skupině AD. Nedostanete upozornění, pokud je uživatel přidán nebo odebrán z AD skupin.

Shrnutí

Tento blogový příspěvek popisuje klíčové součásti ověřování SQL Server a ověřování systému Windows. Doufám, že vám pomůže porozumět rozdílům mezi těmito metodami ověřování, abyste se mohli rozhodnout, která je pro vaši firmu a okolnosti nejlepší.

Ověření SQL Server lze použít na stejném počítači jako SQL Server nebo na vzdáleném připojení. Pokud pracujete v prostředí Active Directory, doporučuje se použít ověřování systému Windows. Pokud pracujete v prostředí mimo službu Active Directory, můžete pro databázová připojení využít ověřování SQL Server.

Ověřování Windows poskytuje větší zabezpečení a flexibilitu pro správu přihlášení na SQL Server. Proto byste jej měli používat, kdykoli je to možné.


  1. Ladění výkonu databáze pro MariaDB

  2. Typy v MySQL:BigInt (20) vs Int (20)

  3. Výhody a nevýhody používání uložených procedur

  4. Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?