Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
SQL Server to system zarządzania relacyjnymi bazami danych (RDBMS), który przechowuje krytyczne dane biznesowe i zarządza nimi na potrzeby aplikacji, analiz i raportowania. Ponieważ często zawiera poufne informacje, takie jak rekordy klienta, dane finansowe i własność intelektualna, zabezpieczenie programu SQL Server jest niezbędne do ochrony organizacji przed naruszeniami danych, nieautoryzowanym dostępem i ryzykiem zgodności.
Ten artykuł zawiera wskazówki dotyczące najlepszego zabezpieczania programu SQL Server.
Bezpieczeństwo sieci
Zabezpieczanie dostępu sieciowego do programu SQL Server pomaga zapobiegać nieautoryzowanym połączeniom, zmniejsza narażenie na ataki i zapewnia dostęp do baz danych tylko zaufanym źródłom.
Ograniczanie ruchu przychodzącego za pomocą zapór i sieciowych grup zabezpieczeń: ogranicz dostęp sieciowy do programu SQL Server, konfigurując zaporę systemu Windows na potrzeby dostępu do aparatu bazy danych. W przypadku programu SQL Server na maszynach wirtualnych platformy Azure użyj usługi Azure Firewall i sieciowych grup zabezpieczeń, aby wymusić te ograniczenia.
Szyfruj połączenia z programem SQL Server: skonfiguruj aparat bazy danych programu SQL Server do szyfrowania połączeń przy użyciu certyfikatu. Dzięki temu dane przesyłane są chronione przed podsłuchiwaniem i manipulowaniem. Aby uzyskać więcej informacji, zobacz Szyfrowanie połączeń z silnikiem bazy danych SQL Server.
Bezpieczne zdalne zarządzanie: używaj szyfrowanych protokołów (takich jak TLS 1.3) dla wszystkich połączeń zdalnych. Aby uzyskać więcej informacji, zobacz Konfigurowanie protokołu TLS 1.3.
Połącz się z programem SQL Server za pomocą ścisłego
strictszyfrowania: program SQL Server 2022 wprowadził opcję szyfrowania, która wymaga wszystkich połączeń do korzystania z szyfrowania. Dzięki temu wszystkie dane przesyłane są chronione. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z programem SQL Server przy użyciu ścisłego szyfrowania.
Zarządzanie tożsamościami
Mechanizmy kontroli silnej tożsamości i uwierzytelniania pomagają zagwarantować, że tylko autoryzowani użytkownicy i aplikacje mogą uzyskiwać dostęp do zasobów programu SQL Server.
Użyj uwierzytelniania systemu Windows lub uwierzytelniania firmy Microsoft Entra: preferuj uwierzytelnianie systemu Windows lub uwierzytelnianie Entra firmy Microsoft za pośrednictwem uwierzytelniania SQL w celu scentralizowanego zarządzania tożsamościami i łatwiejszej kontroli cyklu życia konta. Aby uzyskać więcej informacji, zobacz Wybieranie trybu uwierzytelniania.
Użyj kont usług zarządzanych przez grupę (gMSA) dla usług: użyj konta gMSA do automatycznego i bezpiecznego zarządzania poświadczeniami konta usługi. Aby uzyskać więcej informacji, zobacz omówienie kont usługGroup-Managed.
Wymuszaj silne zasady haseł: jeśli używasz uwierzytelniania SQL, wymagaj złożonych haseł, których nie można łatwo odgadnąć i nie są używane dla innych kont. Regularnie aktualizuj hasła i wymuszaj zasady usługi Active Directory. Aby uzyskać więcej informacji, zobacz Silne hasła.
Używaj użytkowników zawartej bazy danych, jeśli jest to konieczne: rozważ użytkowników zawartej bazy danych dla aplikacji, które wymagają uwierzytelniania na poziomie bazy danych bez konieczności logowania na poziomie serwera. Aby uzyskać więcej informacji, zobacz Użytkownicy zawartej bazy danych.
Dostęp uprzywilejowany
Ograniczanie i monitorowanie uprzywilejowanego dostępu pomaga zapobiegać nieautoryzowanym zmianom i zmniejsza wpływ kont z naruszonym dostępem.
Przyznaj wymagane minimalne uprawnienia: przypisz najniższy poziom uprawnień wymagany dla każdego użytkownika lub usługi. Regularne przeglądanie i dostosowywanie uprawnień w celu zachowania najniższych uprawnień. Aby uzyskać więcej informacji, zapoznaj się z Wprowadzeniem do uprawnień silnika bazy danych.
Oddzielni administratorzy baz danych (DBA) i
sysadminrole: Unikaj udzielaniasysadminuprawnień wszystkim administratorom baz danych. Jeśli to możliwe, należy użyć uprawnienia CONTROL SERVER , ponieważ szanujeDENYuprawnienia i umożliwia bardziej szczegółową kontrolę. Rozważ rozdzielenie obowiązków, które ograniczają dostęp do maszyny wirtualnej, możliwość logowania się do systemu operacyjnego, możliwość modyfikowania dzienników błędów i inspekcji oraz możliwość instalowania aplikacji i/lub funkcji. Aby uzyskać więcej informacji, zobacz Uprawnienia (aparat bazy danych).Monitorowanie i przeprowadzanie inspekcji działań uprzywilejowanych: włącz inspekcję, aby śledzić zmiany wprowadzone przez uprzywilejowane konta i regularnie przeglądać dzienniki pod kątem podejrzanych działań. Aby uzyskać więcej informacji, zobacz SQL Server Audit (Database Engine).
Implementowanie separacji ról: umieść użytkowników usługi Active Directory w grupach usługi AD, zamapuj grupy usługi AD na role programu SQL Server i przyznaj role programu SQL Server minimalne uprawnienia wymagane przez aplikacje. Aby uzyskać więcej informacji, zapoznaj się z Wprowadzeniem do uprawnień silnika bazy danych.
Ochrona danych
Ochrona danych magazynowanych i przesyłanych ma kluczowe znaczenie dla zapobiegania nieautoryzowanemu ujawnieniu lub manipulowaniu.
Szyfruj poufne informacje za pomocą funkcji Always Encrypted: używaj funkcji Always Encrypted i Always Encrypted z bezpiecznymi enklawami, aby chronić poufne dane w programie SQL Server. Preferuj szyfrowanie losowe w celu zapewnienia większego bezpieczeństwa. Aby uzyskać więcej informacji, zobacz Always Encrypted.
Użyj funkcji Transparent Data Encryption (TDE) dla plików bazy danych: włącz funkcję TDE, aby szyfrować pliki bazy danych, kopii zapasowej i bazy danych tempdb, chroniąc dane w przypadku naruszenia zabezpieczeń nośnika fizycznego. Aby uzyskać więcej informacji, zobacz Transparent Data Encryption (TDE).
Maskowanie poufnych danych za pomocą dynamicznego maskowania danych (DDM): użyj narzędzia DDM, aby zaciemnić poufne dane w wynikach zapytania, gdy szyfrowanie nie jest możliwe. Aby uzyskać więcej informacji, zobacz Dynamiczne maskowanie danych.
Udzielanie uprawnień na poziomie kolumny: ogranicz dostęp do poufnych kolumn, udzielając
SELECTuprawnień tylko autoryzowanym użytkownikom,REFERENCESlubUPDATE. Aby uzyskać więcej informacji, zobacz GRANT uprawnienia.Użyj Row-Level Security (RLS), aby ograniczyć dostęp do danych: Zaimplementuj zabezpieczenia na poziomie wiersza, aby zapewnić użytkownikom wyświetlanie tylko odpowiednich danych. Użyj
SESSION_CONTEXTdo aplikacji warstwy środkowej, gdzie użytkownicy współużytkują konta SQL. Aby uzyskać więcej informacji, zobacz Row-Level Security.Łącz funkcje zabezpieczeń, aby zapewnić maksymalną ochronę: używaj zabezpieczeń Row-Level razem z funkcją Always Encrypted lub Dynamicznym Maskowaniem Danych, aby zmaksymalizować poziom zabezpieczeń organizacji. Aby uzyskać więcej informacji, zobacz najlepsze rozwiązania dotyczące zabezpieczeńRow-Level.
Rejestrowanie i wykrywanie zagrożeń
Kompleksowe rejestrowanie i monitorowanie pomaga wykrywać zagrożenia, badać zdarzenia i spełniać wymagania dotyczące zgodności.
Włącz i skonfiguruj inspekcję programu SQL Server: przeprowadź inspekcję dostępu i zmian w poufnych danych i konfiguracjach na poziomie serwera i bazy danych. Rozważ inspekcję tabel i kolumn z poufnymi danymi, które mają zastosowane środki zabezpieczeń. Regularnie przeglądaj dzienniki inspekcji, szczególnie w przypadku tabel zawierających poufne informacje, w których nie są możliwe pełne środki zabezpieczeń. Aby uzyskać więcej informacji, zobacz SQL Server Audit (Database Engine).
Użyj księgi w programie SQL Server: włącz księgę, aby utworzyć niezmienny zapis zmian w poufnych danych, zapewniając logowanie wykazujące próby manipulacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie bazy danych rejestru.
Kopia zapasowa i przywracanie
Niezawodne procesy tworzenia kopii zapasowych i odzyskiwania chronią dane przed utratą z powodu usterek, awarii lub ataków.
Automatyzowanie regularnych kopii zapasowych: zaplanuj automatyczne kopie zapasowe baz danych, konfiguracje systemu i dzienniki transakcji. Użyj narzędzi natywnych usługi Azure Backup lub programu SQL Server. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowych i przywracanie bazy danych programu SQL Server za pomocą programu SSMS i tworzenie kopii zapasowych i przywracanie dla programu SQL Server na maszynach wirtualnych platformy Azure.
Szyfrowanie danych kopii zapasowej: ochrona plików kopii zapasowych za pomocą technologii Transparent Data Encryption (TDE).
Regularnie testuj procedury odzyskiwania: okresowo przywracaj kopie zapasowe w celu zweryfikowania procesu odzyskiwania i upewnij się, że można spełnić cele czasu i punktu odzyskiwania. Aby uzyskać więcej informacji, zobacz Przywracanie plików z kopii zapasowej maszyny wirtualnej.
Ocena zabezpieczeń i ograniczanie zagrożeń
Regularne ocenianie środowiska programu SQL Server pomaga identyfikować luki w zabezpieczeniach i poprawiać poziom zabezpieczeń.
Ogranicz włączone funkcje w celu zmniejszenia obszaru ataków: włącz tylko funkcje programu SQL Server wymagane dla danego środowiska. Aby uzyskać więcej informacji, zobacz konfiguracja obszaru powierzchni.
Uruchamiaj oceny luk w zabezpieczeniach: Użyj oceny luk w zabezpieczeniach SQL, udostępnianej za pośrednictwem Microsoft Defender for SQL, aby wykrywać i korygować potencjalne luki w zabezpieczeniach baz danych w zasobach chmurowych i lokalnych. Aby uzyskać więcej informacji, zobacz Ocena luk w zabezpieczeniach dla SQL Server.
Klasyfikowanie i etykietowanie poufnych danych: użyj funkcji odnajdywania i klasyfikacji danych SQL, aby identyfikować i oznaczać poufne dane w celu zapewnienia lepszej ochrony i zgodności. Aby uzyskać więcej informacji, zobacz Odnajdywanie i klasyfikacja danych SQL.
Przejrzyj i zniweluj typowe zagrożenia: ochrona przed wstrzyknięciem kodu SQL, atakami kanału bocznego, siłą siłową, spryskaniem haseł i oprogramowaniem wymuszającym okup, postępując zgodnie z zalecanymi rozwiązaniami dotyczącymi walidacji danych wejściowych, stosowania poprawek i kontroli dostępu. Aby uzyskać więcej informacji, zobacz Wstrzyknięcie kodu SQL i ataki wymuszania okupu.
Implementuj strategię obrony w głąb: użyj wielu funkcji zabezpieczeń przeznaczonych dla różnych obszarów, aby zapewnić kompleksową ochronę przed różnymi zagrożeniami. Aby uzyskać więcej informacji, zobacz SQL Server security best practices (Najlepsze rozwiązania dotyczące zabezpieczeń programu SQL Server).
Treści powiązane
- Zabezpieczanie programu SQL Server
- SQL Server na maszynach wirtualnych Azure