Udostępnij za pośrednictwem


Migrowanie lokalnego programu MySQL do usługi Azure Database for MySQL: zabezpieczenia

Zapewnienie niezawodnych zabezpieczeń jest najważniejsze podczas migrowania baz danych MySQL ze środowisk lokalnych do usługi Azure Database for MySQL. W tym artykule omówiono krytyczne zagadnienia dotyczące zabezpieczeń i najlepsze rozwiązania w zakresie ochrony danych podczas migracji. Korzystając z kompleksowych funkcji zabezpieczeń platformy Azure, takich jak zaawansowana ochrona przed zagrożeniami, szyfrowanie i kontrola dostępu, można chronić bazy danych przed potencjalnymi lukami w zabezpieczeniach i zagrożeniami. Ten przewodnik zawiera szczegółowe informacje potrzebne do zaimplementowania bezpiecznej strategii migracji, uwzględniając krytyczne aspekty, takie jak szyfrowanie danych, zabezpieczenia sieci i zgodność. Niezależnie od tego, czy chcesz zwiększyć ochronę danych, spełnić wymagania prawne, czy zapewnić integralność baz danych, ten artykuł zawiera wiedzę, aby osiągnąć bezpieczną i pomyślną migrację.

Wymagania wstępne

Migrowanie lokalnego programu MySQL do usługi Azure Database for MySQL: ciągłość działania i odzyskiwanie po awarii (BCDR)

Omówienie

Przejście do usługi opartej na chmurze nie oznacza, że cały Internet ma do niego zawsze dostęp. Platforma Azure zapewnia najlepsze zabezpieczenia klasy, które zapewniają, że obciążenia danych są stale chronione przed złymi aktorami i programami rouge.

Uwierzytelnianie

Usługa Azure Database for MySQL obsługuje podstawowe mechanizmy uwierzytelniania dla łączności użytkowników mySQL, ale także obsługuje integrację z identyfikatorem Entra firmy Microsoft. Ta integracja zabezpieczeń działa przez wystawianie tokenów, które działają jak hasła podczas procesu logowania mySQL. Konfigurowanie integracji z usługą Active Directory jest niezwykle proste i obsługuje nie tylko użytkowników, ale także grupy firmy Microsoft Entra.

Ta ścisła integracja umożliwia administratorom i aplikacjom korzystanie z rozszerzonych funkcji zabezpieczeń usługi Azure Identity Protection w celu wystąpienia problemów z tożsamością.

Uwaga

Ta funkcja zabezpieczeń jest obsługiwana przez program MySQL 5.7 lub nowszy. Większość sterowników aplikacji jest obsługiwana clear-text , o ile jest dostępna opcja.

Ochrona przed zagrożeniami

Jeśli zabezpieczenia poświadczeń użytkownika lub aplikacji zostaną naruszone, dzienniki nie będą prawdopodobnie odzwierciedlać żadnych nieudanych prób logowania. Naruszone poświadczenia mogą zezwalać złym aktorom na dostęp do danych i ich pobieranie. Usługa Azure Threat Protection może obserwować anomalie w logowaniach (takich jak nietypowe lokalizacje, rzadkie użytkownicy lub ataki siłowe) i inne podejrzane działania. Administratorzy mogą być powiadamiani w przypadku, gdy coś nie look jest w porządku.

Rejestrowanie inspekcji

Usługa MySQL ma niezawodną wbudowaną funkcję dziennika inspekcji. Domyślnie ta funkcja dziennika inspekcji jest wyłączona w usłudze Azure Database for MySQL. Rejestrowanie na poziomie serwera można włączyć, zmieniając audit\_log\_enabled parametr serwera. Po włączeniu dzienników można uzyskać dostęp za pośrednictwem usług Azure Monitor i Log Analytics , włączając rejestrowanie diagnostyczne.

Aby wykonać zapytanie dotyczące zdarzeń związanych z połączeniem użytkownika, uruchom następujące zapytanie KQL:

AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlAuditLogs' and event\_class\_s == "connection\_log"
| project TimeGenerated, LogicalServerName\_s, event\_class\_s, event\_subclass\_s
, event\_time\_t, user\_s , ip\_s , sql\_text\_s
| order by TimeGenerated asc

Szyfrowanie

Dane w wystąpieniu mySQL są domyślnie szyfrowane w spoczynku. Wszelkie automatyczne kopie zapasowe są również szyfrowane, aby zapobiec potencjalnym wyciekom danych do nieautoryzowanych stron. To szyfrowanie jest zwykle wykonywane przy użyciu klucza tworzonego podczas tworzenia wystąpienia. Oprócz tego domyślnego klucza szyfrowania administratorzy mają możliwość korzystania z własnego klucza (BYOK).

W przypadku korzystania ze strategii klucza zarządzanego przez klienta ważne jest zrozumienie obowiązków związanych z zarządzaniem cyklem życia kluczy. Klucze klienta są przechowywane w usłudze Azure Key Vault , a następnie uzyskiwane za pośrednictwem zasad. Ważne jest, aby postępować zgodnie ze wszystkimi zaleceniami dotyczącymi zarządzania kluczami, utrata klucza szyfrowania jest równa utracie dostępu do danych.

Oprócz klucza zarządzanego przez klienta użyj kluczy na poziomie usługi, aby dodać podwójne szyfrowanie. Zaimplementowanie tej funkcji może zapewnić wysoce zaszyfrowane dane magazynowane, ale ma ona kary za wydajność szyfrowania. Należy przeprowadzić testowanie.

Dane mogą być szyfrowane podczas przesyłania przy użyciu protokołu SSL/TLS. Jak wspomniano wcześniej, może być konieczne zmodyfikowanie aplikacji w celu obsługi tej zmiany, a także skonfigurowanie odpowiednich ustawień weryfikacji protokołu TLS.

Firewall

Po skonfigurowaniu użytkowników i zaszyfrowaniu danych magazynowanych zespół ds. migracji powinien przejrzeć przepływy danych sieciowych. Usługa Azure Database for MySQL udostępnia kilka mechanizmów zabezpieczania warstw sieciowych przez ograniczenie dostępu tylko do autoryzowanych użytkowników, aplikacji i urządzeń.

Frontem obrony ochrony wystąpienia mySQL jest zaimplementowanie reguł zapory. Adresy IP mogą być ograniczone tylko do prawidłowych lokalizacji podczas uzyskiwania dostępu do wystąpienia za pośrednictwem wewnętrznych lub zewnętrznych adresów IP. Jeśli wystąpienie mySQL jest przeznaczone tylko do obsługi aplikacji wewnętrznych, ogranicz dostęp publiczny.

W przypadku przenoszenia aplikacji na platformę Azure wraz z obciążeniem MySQL prawdopodobnie istnieje wiele sieci wirtualnych skonfigurowanych w wzorcu piasty i szprych, który wymaga skonfigurowania komunikacji równorzędnej sieci wirtualnych.

Aby ograniczyć dostęp do usługi Azure Database for MySQL do wewnętrznych zasobów platformy Azure, włącz usługę Private Link. Usługa Private Link gwarantuje, że wystąpienie programu MySQL ma przypisany prywatny adres IP, a nie publiczny adres IP.

Uwaga

Istnieje wiele innych podstawowych zagadnień dotyczących sieci platformy Azure, które należy wziąć pod uwagę, które nie są głównym celem tego przewodnika.

Przejrzyj zestaw potencjalnych zadań punktu odniesienia zabezpieczeń, które można zaimplementować we wszystkich zasobach platformy Azure. Nie wszystkie elementy opisane w linku referencyjnym dotyczą określonych obciążeń danych lub zasobów platformy Azure.

Lista kontrolna zabezpieczeń

  • W miarę możliwości używaj uwierzytelniania Firmy Microsoft Entra.

  • Włącz zaawansowaną ochronę wątków.

  • Włącz wszystkie funkcje inspekcji.

  • Rozważ strategię byOK (Bring-Your-Own-Key).

  • Implementowanie reguł zapory.

  • Korzystaj z prywatnych punktów końcowych dla obciążeń, które nie są przesyłane przez Internet.

Następny krok