Ćwiczenie — Monitorowanie bazy danych

Ukończone

Załóżmy, że otrzymasz alert od administratora zabezpieczeń firmy. Wykryto potencjalne naruszenie zabezpieczeń w sieci. Nieautoryzowana osoba mogła uzyskać dostęp do bazy danych za pośrednictwem złośliwego działania. Jak możesz to wyśledzić?

Wiesz, że musisz aktywnie monitorować bazę danych pod kątem podejrzanych działań. Co można zrobić, aby nie tylko uzyskać wgląd w to, co dzieje się w bazie danych, ale także zapobiec wystąpieniu złośliwych działań?

Usługa Azure SQL Database oferuje wbudowane funkcje, które mogą pomóc w śledzeniu tego, co dzieje się w bazie danych. Może on monitorować i powiadamiać użytkownika, jeśli identyfikuje złośliwe działanie.

Inspekcja usługi Azure SQL Database

Po włączeniu inspekcji operacje przeprowadzane na bazie danych są przechowywane w celu ich późniejszej kontroli lub analizy przy użyciu zautomatyzowanych narzędzi. Inspekcja służy także do zarządzania zgodnością i uzyskiwania informacji, o tym jak jest używana baza danych. Inspekcja jest również wymagana, jeśli chcesz korzystać z wykrywania zagrożeń platformy Azure w odniesieniu do bazy danych Azure SQL.

Inspekcja bazy danych SQL umożliwia:

  • Zachowywanie dziennika inspekcji dla wybranych zdarzeń. Możesz zdefiniować kategorie akcji bazy danych, które mają być poddane inspekcji.
  • Raporty dotyczące aktywności bazy danych. Możesz użyć wstępnie skonfigurowanych raportów i pulpitu nawigacyjnego, aby szybko rozpocząć pracę z raportowaniem aktywności i zdarzeń.
  • Raporty analizy. Możesz wyszukiwać podejrzane zdarzenia, nietypową aktywność i trendy.

Dzienniki inspekcji są zapisywane w uzupełnialnych obiektach blob na wyznaczonym koncie usługi Azure Blob Storage. Zasady inspekcji można zastosować na poziomie serwera lub na poziomie bazy danych. Po włączeniu tej opcji możesz wyświetlić dzienniki za pomocą witryny Azure Portal lub wysłać je do usługi Log Analytics lub Event Hubs w celu dalszego przetwarzania i analizy.

Inspekcja w praktyce

Najlepszym rozwiązaniem jest unikanie jednoczesnego włączania inspekcji obiektów blob serwera i inspekcji obiektów blob bazy danych, chyba że:

  • Chcesz użyć innego konta magazynu lub okresu przechowywania dla określonej bazy danych.
  • Chcesz przeprowadzić inspekcję typów zdarzeń lub kategorii dla konkretnej bazy danych, która różni się od reszty baz danych na serwerze. Możesz na przykład mieć wstawienia tabeli, które muszą być poddane inspekcji, ale tylko dla konkretnej bazy danych.

W przeciwnym razie zalecamy włączenie tylko inspekcji obiektów blob na poziomie serwera i pozostawienie wyłączonego inspekcji na poziomie bazy danych dla wszystkich baz danych.

Wykonaj następujące kroki, aby skonfigurować inspekcję w systemie.

  1. Zaloguj się do witryny Azure Portal przy użyciu tego samego konta, za pomocą którego aktywowano piaskownicę.

  2. Na pasku wyszukiwania w górnej części portalu wyszukaj ciąg serverNNNNN, a następnie wybierz serwer w portalu. Zastąp nazwę NNNNN numerem z nazwy serwera.

  3. W okienku menu po lewej stronie w obszarze Zabezpieczenia wybierz pozycję Inspekcja.

  4. Inspekcja jest domyślnie wyłączona. Aby włączyć tę funkcję na serwerze bazy danych, przełącz przełącznik Włącz inspekcję usługi Azure AQL na WŁ.

  5. Po wybraniu przycisku WŁ. zaznacz pole wyboru Magazyn .

  6. Wybierz subskrypcję.

  7. Możesz wybrać istniejące konto magazynu lub utworzyć nowe konto magazynu do przechowywania inspekcji. Konto magazynu musi być skonfigurowane do używania tego samego regionu, co serwer.

    W takim przypadku zdefiniuj nowe konto magazynu. W obszarze Konto magazynu wybierz pozycję Utwórz nową. Zostanie wyświetlone okienko Tworzenie konta magazynu. Nazwij serwer konta magazynuNNNauditing, zastępując nazwę NNNNN numerem z nazwy serwera logicznego.

  8. Pozostaw pozostałe opcje domyślne, a następnie wybierz przycisk OK. W okienku Ustawienia magazynu pozostaw wartości domyślne i wybierz przycisk OK.

  9. Wybierz pozycję Zapisz , aby zapisać zmiany i włączyć inspekcję na serwerze bazy danych.

Teraz wygeneruj niektóre rekordy inspekcji i przyjrzyj się temu, czego można się spodziewać.

  1. Zaloguj się ponownie do bazy danych jako użytkownik ApplicationUser .

    sqlcmd -S tcp:serverNNNNN.database.windows.net,1433 -d marketplaceDb -U 'ApplicationUser' -P '[password]' -N -l 30
    
  2. Uruchom poniższe zapytanie.

    SELECT FirstName, LastName, EmailAddress, Phone FROM SalesLT.Customer;
    GO
    
  3. W witrynie Azure Portal na serwerze SQL wybierz pozycję Bazy danych SQL w okienku menu po lewej stronie i wybierz bazę danych marketplace .

  4. W okienku menu po lewej stronie w bazie danych witryny Marketplace w obszarze Zabezpieczenia wybierz pozycję Inspekcja.

  5. Ponieważ włączono inspekcję na poziomie serwera, powinna być widoczna w tym miejscu włączona. Wybierz pozycję Wyświetl dzienniki inspekcji na górnym pasku menu, aby wyświetlić dzienniki.

  6. Powinien być widoczny co najmniej jeden rekord inspekcji z wartością ApplicationUser w kolumnie NAZWA GŁÓWNA i z wartością BATCH COMPLETED (Partia ukończona) w kolumnie TYP ZDARZENIA. Jeden z nich powinien zawierać szczegóły wykonanego zapytania. Mogą być również widoczne inne zdarzenia, takie jak powodzenia i niepowodzenia uwierzytelniania. Wybierz dowolny rekord, aby wyświetlić pełne szczegóły zdarzenia.

Screenshot shows an example event in the audit log.

Te akcje spowodują skonfigurowanie inspekcji na poziomie serwera bazy danych. Inspekcje dotyczą wszystkich baz danych na serwerze. Inspekcję można również skonfigurować na poziomie bazy danych.

Zapoznaj się z inną funkcją, która używa tych dzienników w celu zwiększenia bezpieczeństwa bazy danych.

Usługa Advanced Data Security dla usługi Azure SQL Database

Usługa Advanced Data Security (ADS) dostarcza zestaw zaawansowanych funkcji zabezpieczeń SQL obejmujący odnajdywanie i klasyfikację danych, ocenę luk w zabezpieczeniach i usługę Advanced Threat Protection.

  • Odnajdywanie i klasyfikacja danych (obecnie w wersji zapoznawczej) udostępnia funkcje wbudowane w usługę Azure SQL Database na potrzeby odnajdywania, klasyfikowania, etykietowania i ochrony poufnych danych w bazach danych. Za jej pomocą można zapewniać wgląd w stan klasyfikacji bazy danych oraz śledzić dostęp do danych poufnych w bazie danych i poza jej granicami.
  • Ocena luk w zabezpieczeniach to łatwa do skonfigurowania usługa umożliwiająca odnajdywanie i śledzenie potencjalnych luk w zabezpieczeniach bazy danych oraz pomagająca w ich usuwaniu. Zapewnia wgląd w stan zabezpieczeń i zapewnia kroki, które można wykonać w celu rozwiązania problemów z zabezpieczeniami oraz zwiększenia bezpieczeństwa bazy danych.
  • Usługa Advanced Threat Protection wykrywa nietypowe działania wskazujące na nieprawidłowe i potencjalnie szkodliwe próby uzyskania dostępu do bazy danych lub wykorzystania jej. Stale monitoruje Twoją bazę danych pod kątem podejrzanych działań i zapewnia natychmiastowe alerty zabezpieczeń dotyczące potencjalnych luk w zabezpieczeniach, ataków polegających na wstrzyknięciu kodu SQL oraz anomalii we wzorcach dostępu do bazy danych. Alerty usługi Advanced Threat Protection zawierają szczegółowe informacje o podejrzanych działaniach i zalecane czynności dotyczące sposobu badania i ograniczenia zagrożenia.

Instalacja i konfiguracja

Włącz usługę ADS w bazie danych. ADS to ustawienie na poziomie serwera, więc zacznij tam.

  1. Wróć do witryny Azure Portal, przejdź do serwera SQL. Na pasku wyszukiwania w górnej części strony wyszukaj ciąg serverNNNNN, a następnie wybierz serwer.

  2. W okienku menu po lewej stronie w obszarze Zabezpieczenia wybierz pozycję Microsoft Defender dla Chmury.

  3. Wybierz pozycję Włącz usługę Microsoft Defender for SQL.

  4. Wybierz pozycję Konfiguruj obok komunikatu Włączone na poziomie subskrypcji. Zostanie wyświetlone okienko Ustawienia serwera.

  5. Okresowe skanowania cykliczne są domyślnie włączone. Po wyzwoleniu cotygodniowego skanowania podsumowanie wyników skanowania jest wysyłane na podany adres e-mail. W takim przypadku wyłącz tę opcję. Ustawienie Wyślij także powiadomienie e-mail do administratorów i właścicieli subskrypcji jest domyślnie włączone, aby wysyłać zagrożenia do administratorów usługi. Wybierz pozycję Zapisz u góry, aby zapisać ustawienia.

  6. W obszarze Zaawansowana ochrona przed zagrożeniami Ustawienia wybierz pozycję Dodaj dane kontaktowe..., aby otworzyć okienko powiadomień e-mail Defender dla Chmury. W tym miejscu możesz opcjonalnie zdefiniować lokalizację dostarczania wiadomości e-mail z powiadomieniami zarówno dla oceny luk w zabezpieczeniach, jak i usługi Advanced Threat Protection jako listę rozdzielonych średnikami adresów e-mail. Ustawienie Wyślij także powiadomienie e-mail do administratorów i właścicieli subskrypcji jest domyślnie włączone, aby wysyłać zagrożenia do administratorów usługi.

  7. Możesz również wybrać pozycję Włącz inspekcję.... aby włączyć inspekcję usługi Azure SQL.

  8. Wybierz Zapisz, aby zastosować zmiany.

Podczas wykrywania luk w zabezpieczeniach otrzymasz powiadomienia e-mail. W wiadomości e-mail opisano, co się stało i jakie działania należy wykonać.

Screenshot shows an example notification warning from Microsoft Defender for Cloud.

Odnajdywanie i klasyfikacja danych

  1. Przejdź do bazy danych witryny Marketplace. Na pasku wyszukiwania w górnej części witryny Azure Portal wyszukaj pozycję Marketplace, a następnie wybierz bazę danych.

  2. W okienku menu po lewej stronie w obszarze Zabezpieczenia wybierz pozycję Odnajdywanie i klasyfikacja danych.

Karta Klasyfikacja zawiera kolumny w tabelach, które muszą być chronione. Niektóre kolumny mogą zawierać poufne informacje lub mogą być traktowane jako sklasyfikowane w różnych krajach lub regionach.

Screenshot that shows the Classification tab in the Data Discovery and Classification pane.

Jeśli jakiekolwiek kolumny wymagają skonfigurowania ochrony, zostanie wyświetlony komunikat. Ten komunikat jest sformatowany na przykład 15 kolumn z zaleceniami dotyczącymi klasyfikacji. Możesz wybrać tekst, aby wyświetlić zalecenia.

Zaznacz kolumny, które chcesz sklasyfikować, wybierając znacznik wyboru obok kolumny lub zaznacz pole wyboru po lewej stronie nagłówka schematu. Wybierz przycisk Zaakceptuj wybrane zalecenia, aby zastosować zalecenia dotyczące klasyfikacji.

Następnie zmodyfikuj kolumny, a następnie zdefiniuj typ informacji i etykietę poufności dla bazy danych. Wybierz Zapisz, aby zapisać zmiany.

Po pomyślnym zakończeniu zarządzania zaleceniami nie powinny być wyświetlane żadne aktywne zalecenia.

Luk

W okienku menu po lewej stronie w obszarze Zabezpieczenia wybierz pozycję Microsoft Defender dla Chmury.

W sekcji Rekomendacje wymieniono problemy z konfiguracją bazy danych i związane z nim ryzyko.

Wybierz zalecenie. W okienku rekomendacji zostaną wyświetlone szczegóły, takie jak poziom ryzyka, do którego ma ona zastosowanie baza danych, opis luki w zabezpieczeniach oraz zalecane rozwiązanie problemu. Wykonaj czynności naprawcze, aby usunąć problem lub problemy. Zadbaj, aby wyeliminować wszystkie zagrożenia.

Zdarzenia zabezpieczeń i alerty

W tej sekcji zostanie wyświetlona lista wykrytych zagrożeń.

Rozwiąż wszelkie problemy, postępując zgodnie z zaleceniami. W przypadku problemów, takich jak ostrzeżenia dotyczące iniekcji SQL, możesz przyjrzeć się zapytaniu i pracować wstecz, gdzie zapytanie jest wykonywane w kodzie. Po znalezieniu należy ponownie napisać kod, aby nie miał już problemu.