Zalecenia dotyczące wzmacniania zabezpieczeń zasobów

Dotyczy tego zalecenia listy kontrolnej zabezpieczeń usługi Azure Well-Architected Framework:

SE:08 Wzmacnianie wszystkich składników obciążenia przez zmniejszenie nadmiarowego obszaru powierzchni i zaostrzenie konfiguracji w celu zwiększenia kosztów ataku.

W tym przewodniku opisano zalecenia dotyczące wzmacniania zabezpieczeń zasobów przez opracowywanie zlokalizowanych kontrolek w ramach obciążenia i utrzymywanie ich w celu wytrzymania powtarzających się ataków.

Wzmacnianie zabezpieczeń jest celowym ćwiczeniem samozachowawczym. Celem jest zmniejszenie obszaru ataków i zwiększenie kosztów atakujących w innych obszarach, co ogranicza możliwości wykorzystania luk w zabezpieczeniach przez złośliwych podmiotów. Aby chronić obciążenie, zaimplementuj najlepsze rozwiązania i konfiguracje zabezpieczeń.

Wzmacnianie zabezpieczeń to ciągły proces , który wymaga ciągłego monitorowania i dostosowywania się do zmieniających się zagrożeń i luk w zabezpieczeniach.

Definicje

Okres Definicja
Ograniczenie funkcjonalności Praktyka zmniejszania obszaru powierzchni podatnego na ataki przez usuwanie nadmiarowych zasobów lub dostosowywanie konfiguracji.
Stacja robocza z dostępem uprzywilejowanym (PAW) Dedykowana i bezpieczna maszyna używana do wykonywania poufnych zadań, co zmniejsza ryzyko naruszenia zabezpieczeń.
Bezpieczna administracyjna stacja robocza (SAW) Wyspecjalizowana stacja robocza z dostępem uprzywilejowanym używana przez konta o krytycznym wpływie.
Powierzchni Logiczny ślad obciążenia, który zawiera luki w zabezpieczeniach.

Kluczowe strategie projektowania

Wzmacnianie zabezpieczeń to wysoce zlokalizowane ćwiczenie, które wzmacnia mechanizmy kontroli na poziomie składnika, niezależnie od tego, czy są to zasoby, czy procesy. Po zaostrzeniu zabezpieczeń poszczególnych składników zwiększa ona zagregowaną pewność bezpieczeństwa obciążenia.

Wzmocnienie zabezpieczeń nie uwzględnia funkcjonalności obciążenia i nie wykrywa zagrożeń ani nie wykonuje zautomatyzowanego skanowania. Wzmacnianie zabezpieczeń koncentruje się na dostrajaniu konfiguracji z użyciem zabezpieczeń i dogłębną mentalnością zabezpieczeń. Celem jest utrudnienie atakującemu przejęcia kontroli nad systemem. Wzmocnienie zabezpieczeń nie powinno zmieniać zamierzonego narzędzia obciążenia ani jego operacji.

Pierwszym krokiem procesu wzmacniania zabezpieczeń jest zebranie kompleksowego spisu wszystkich zasobów sprzętu, oprogramowania i danych. Aktualizuj rekordy spisu, dodając nowe zasoby i usuwając zlikwidowane zasoby. W przypadku wszystkich zasobów w spisie należy wziąć pod uwagę następujące najlepsze rozwiązania:

  • Zmniejsz zużycie pamięci. Usuń nadmiarowy obszar powierzchni lub zmniejsz zakres. Eliminowanie łatwych celów lub tanich i dobrze ustalonych wektorów ataków, takich jak niesprawdzone luki w zabezpieczeniach oprogramowania i ataki siłowe. Przed wdrożeniem produkcyjnym należy wyczyścić tożsamości, składniki kompilacji i inne niezamagane zasoby z drzewa źródłowego.

  • Dostosuj konfiguracje. Oceń i zaciśnij pozostały obszar powierzchni. Gdy zasoby są wzmocnione, wypróbowane i przetestowane metody, których używają osoby atakujące, nie są już skuteczne. Zmusza ona osoby atakujące do uzyskiwania i używania zaawansowanych lub niesprawdzonych metod ataku, co zwiększa ich koszty.

  • Zachowaj zabezpieczenia. Zachowaj środki ochronne, wykonując ciągłe wykrywanie zagrożeń , aby zapewnić, że działania związane z ograniczaniem zabezpieczeń są w miarę upływu czasu.

Należy również wziąć pod uwagę następujące czynniki.

Zaufane źródło. Część ćwiczenia w zakresie wzmacniania zabezpieczeń obejmuje łańcuch dostaw oprogramowania. W tych wskazówkach przyjęto założenie, że wszystkie składniki są uzyskiwane z zaufanych źródeł. Twoja organizacja musi zatwierdzić oprogramowanie pozyskane od dostawców innych firm. To zatwierdzenie dotyczy źródeł systemu operacyjnego, obrazów i innych narzędzi innych firm. Bez zaufanych zasobów wzmocnienie zabezpieczeń może być nieskończonym opróżnianiem zabezpieczeń w niezaufanych źródłach.

Aby uzyskać zalecenia dotyczące zabezpieczeń łańcucha dostaw, zobacz Zalecenia dotyczące zabezpieczania cyklu projektowania.

Szkolenia. Wzmacnianie zabezpieczeń to wyspecjalizowana umiejętność. Jest metodyczna i wymaga wysokiego poziomu kompetencji. Musisz zrozumieć funkcjonalność składnika i sposób, w jaki zmiany wpływają na składnik. Członek zespołu musi być w stanie rozpoznać wskazówki od ekspertów branżowych i platformy, aby odróżnić je od wskazówek od niepewnych źródeł. Poinformuj członków zespołu o tworzeniu kultury obsługującej zabezpieczenia. Upewnij się, że twój zespół jest biegły w zakresie najlepszych rozwiązań w zakresie zabezpieczeń, ma świadomość potencjalnych zagrożeń i uczy się z retrospektyw po zdarzeniu.

Dokumentacji. Dokumentowanie i publikowanie wymagań dotyczących wzmacniania zabezpieczeń, decyzji i zdefiniowanych metod. Aby uzyskać przejrzystość, należy również udokumentować wyjątki lub odchylenia od tych wymagań.

Wzmacnianie zabezpieczeń może być kłopotliwe, ale jest to kluczowe ćwiczenie w zakresie zabezpieczeń, które należy udokumentować. Najpierw wzmacniaj podstawowe składniki, a następnie rozwijaj je do innych obszarów, takich jak zautomatyzowane procesy i procesy ludzkie, aby zaostrzyć potencjalne luki. Bądź skrupulatny o zmianach. Na przykład wymaganym krokiem jest wyłączenie ustawień domyślnych, ponieważ zmiany wartości domyślnych nie mogą wpływać na stabilność systemu. Nawet jeśli konfiguracja zastępcza jest taka sama jak domyślna, należy ją zdefiniować. W poniższych sekcjach opisano typowe cele dotyczące wzmacniania zabezpieczeń. Oceń kluczowe obszary projektowe obciążenia i postępuj zgodnie z kluczowymi strategiami wzmacniania zabezpieczeń na poziomie składnika.

Sieć

Podziel sieć na segmenty , aby odizolować krytyczne zasoby i dane poufne od mniej bezpiecznych zasobów, co zmniejsza penetrację sieci przez osoby atakujące. W tych segmentach zastosuj podejście odmowy domyślnie . Dodaj dostęp tylko do listy dozwolonych, jeśli jest to uzasadnione.

Wyłącz porty i protokoły, które nie są aktywnie używane. Na przykład w Azure App Service, jeśli nie musisz wdrażać za pośrednictwem protokołu FTP, możesz go wyłączyć. Jeśli natomiast wykonujesz operacje zarządzania za pośrednictwem sieci wewnętrznej, możesz wyłączyć dostęp administracyjny z Internetu.

Usuwanie lub wyłączanie starszych protokołów. Osoby atakujące wykorzystują systemy korzystające ze starych wersji. Użyj usługi wykrywania platformy Azure, aby przejrzeć dzienniki i określić użycie protokołu. Usunięcie protokołów może być trudne, ponieważ może zakłócić działanie systemu. Przetestuj wszystkie zmiany przed wdrożeniem, aby ograniczyć ryzyko przerw w działaniu.

Traktuj publiczne adresy IP (PIP) jako zasoby wysokiego ryzyka , ponieważ są łatwe do uzyskania dostępu i mają szeroki zasięg na całym świecie. Aby zmniejszyć narażenie, usuń niepotrzebny dostęp do Internetu do obciążenia. Użyj udostępnionych publicznych adresów IP udostępnianych przez usługi firmy Microsoft, takie jak Azure Front Door. Te usługi są przeznaczone do połączenia z Internetem i blokują dostęp do niedozwolonych protokołów. Wiele takich usług przeprowadza wstępne kontrole żądań przychodzących na brzegu sieci. W przypadku dedykowanego adresu PIP odpowiadasz za zarządzanie jego aspektami zabezpieczeń, zezwalanie na porty lub blokowanie ich oraz skanowanie żądań przychodzących w celu zapewnienia ich ważności.

W przypadku aplikacji internetowych ogranicz dostęp, dodając usługę warstwy 7 , która może filtrować nieprawidłowy ruch. Zapoznaj się z usługami natywnymi, które wymuszają ochronę przed rozproszoną odmową usługi (DDoS), mają zapory aplikacji internetowej i zapewniają ochronę na krawędzi przed dotarciem ruchu do warstwy aplikacji.

Wzmacnianie zabezpieczeń systemu nazw domen (DNS) to kolejna praktyka zabezpieczeń sieci. Aby upewnić się, że infrastruktura DNS jest bezpieczna, zalecamy używanie zaufanych rozpoznawania nazw DNS. Aby zweryfikować informacje z programu rozpoznawania nazw DNS i zapewnić dodatkową warstwę zabezpieczeń, jeśli to możliwe, należy użyć protokołu zabezpieczeń DNS dla stref DNS o wysokim stopniu poufnym. Aby zapobiec atakom, takim jak zatrucie pamięci podręcznej DNS, ataki DDoS i ataki wzmacniania, zapoznaj się z innymi mechanizmami kontroli zabezpieczeń związanymi z systemem DNS, takimi jak ograniczanie szybkości zapytań, ograniczanie szybkości odpowiedzi i pliki cookie DNS.

Tożsamość

Usuń nieużywane lub domyślne konta. Wyłącz nieużywane metody uwierzytelniania i autoryzacji.

Wyłącz starsze metody uwierzytelniania , ponieważ często są to wektory ataków. Stare protokoły często nie mają miar przeciwna atakom, takich jak blokady kont. Zindyfikuj wymagania dotyczące uwierzytelniania dostawcy tożsamości, takie jak identyfikator Microsoft Entra.

Preferuj federację w przypadku tworzenia zduplikowanych tożsamości. Jeśli tożsamość zostanie naruszona, łatwiej jest odwołać dostęp, gdy jest ona centralnie zarządzana.

Omówienie możliwości platformy na potrzeby rozszerzonego uwierzytelniania i autoryzacji. Wzmacnianie kontroli dostępu dzięki wykorzystaniu uwierzytelniania wieloskładnikowego, uwierzytelniania bez hasła, dostępu warunkowego i innych funkcji, które Microsoft Entra identyfikator oferuje weryfikację tożsamości. Możesz dodać dodatkową ochronę wokół zdarzeń logowania i zmniejszyć zakres, w którym osoba atakująca może wysłać żądanie.

Używaj tożsamości zarządzanych i tożsamości obciążeń bez poświadczeń tam, gdzie to możliwe. Poświadczenia mogą zostać ujawnione. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące ochrony wpisów tajnych aplikacji.

Użyj podejścia z najniższymi uprawnieniami dla procesów zarządzania. Usuń niepotrzebne przypisania ról i regularnie wykonuj przeglądy dostępu Microsoft Entra. Użyj opisów przypisań ról, aby zachować dziennik uzasadnień, co ma kluczowe znaczenie dla inspekcji.

Zasoby w chmurze

Poprzednie zalecenia dotyczące wzmacniania zabezpieczeń dotyczące sieci i tożsamości dotyczą poszczególnych usług w chmurze. W przypadku sieci należy zwrócić szczególną uwagę na zapory na poziomie usługi i ocenić reguły ruchu przychodzącego.

Odnajdywanie i wyłączanie nieużywanych funkcji lub funkcji, takich jak nieużywany dostęp do płaszczyzny danych i funkcje produktów, które mogą obejmować inne składniki. Na przykład App Service obsługuje usługę Kudu, która zapewnia wdrożenia FTP, zdalne debugowanie i inne funkcje. Jeśli nie potrzebujesz tych funkcji, wyłącz je.

Zawsze bądź na bieżąco z harmonogramem działania platformy Azure i harmonogramem działania obciążeń. Stosowanie poprawek i aktualizacji wersji oferowanych przez usługi platformy Azure. Zezwalaj na aktualizacje udostępniane przez platformę i subskrybuj automatyczne kanały aktualizacji.

Ryzyko: Zasoby w chmurze często mają wymagania dotyczące uprawnień lub muszą być uruchamiane w udokumentowanych konfiguracjach, które mają być uznawane za obsługiwane. Niektóre techniki wzmacniania zabezpieczeń, takie jak agresywne blokowanie ruchu wychodzącego, mogą spowodować, że usługa wypadnie poza obsługiwaną konfigurację, nawet jeśli usługa działa normalnie. Zapoznaj się z wymaganiami środowiska uruchomieniowego poszczególnych zasobów w chmurze z platformy, aby zapewnić obsługę tego zasobu.

Aplikacje

Oceń obszary, w których aplikacja może przypadkowo wyciekać informacje. Załóżmy na przykład, że masz interfejs API, który pobiera informacje o użytkowniku. Żądanie może mieć prawidłowy identyfikator użytkownika, a aplikacja zwraca błąd 403. Jednak z nieprawidłowym identyfikatorem klienta żądanie zwraca błąd 404. Następnie skutecznie wyciekasz informacji o identyfikatorach użytkowników.

Mogą istnieć bardziej subtelne przypadki. Na przykład opóźnienie odpowiedzi z prawidłowym identyfikatorem użytkownika jest wyższe niż nieprawidłowy identyfikator klienta.

Rozważ zaimplementowanie wzmacniania zabezpieczeń aplikacji w następujących obszarach:

  • Walidacja i oczyszczanie danych wejściowych: zapobiegaj atakom polegającym na wstrzyknięciu kodu SQL i skryptach między witrynami (XSS), sprawdzając i usuwając wszystkie dane wejściowe użytkownika. Automatyzowanie oczyszczania danych wejściowych przy użyciu bibliotek i struktur walidacji danych wejściowych.

  • Zarządzanie sesjami: ochrona identyfikatorów sesji i tokenów przed atakami polegającymi na kradzieży lub naprawianiu sesji przy użyciu technik zarządzania sesjami bezpieczeństwa. Zaimplementuj limity czasu sesji i wymuś ponowne uwierzytelnienie dla akcji poufnych.

  • Zarządzanie błędami: zaimplementuj niestandardową obsługę błędów, aby zminimalizować ujawnianie poufnych informacji osobom atakującym. Bezpiecznie rejestruj błędy i monitoruj te dzienniki pod kątem podejrzanych działań.

  • Nagłówki zabezpieczeń HTTP: eliminowanie typowych luk w zabezpieczeniach sieci Web przez wykorzystanie nagłówków zabezpieczeń w odpowiedziach HTTP, takich jak zasady zabezpieczeń zawartości (CSP), opcje X-Content-Type-Options i X-Frame-Options.

  • Zabezpieczenia interfejsu API: zabezpieczanie interfejsów API przy użyciu odpowiednich mechanizmów uwierzytelniania i autoryzacji. Aby jeszcze bardziej zwiększyć bezpieczeństwo, zaimplementuj ograniczanie szybkości, walidację żądań i kontrolę dostępu dla punktów końcowych interfejsu API.

Postępuj zgodnie z bezpiecznymi praktykami kodowania podczas tworzenia i utrzymywania aplikacji. Regularnie przeprowadzaj przeglądy kodu i skanuj aplikacje pod kątem luk w zabezpieczeniach. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące zabezpieczania cyklu życia programowania.

Operacje zarządzania

Ponadto wzmacnianie innych zasobów innych niż środowisko uruchomieniowe. Na przykład zmniejsz zużycie operacji kompilacji przez utworzenie spisu wszystkich zasobów i usunięcie nieużywanych zasobów z potoku. Następnie należy ściągnąć zadania publikowane przez zaufane źródła i uruchamiać tylko zadania, które są weryfikowane.

Ustal, czy potrzebujesz agentów kompilacji hostowanych przez firmę Microsoft lub własnych. Agenci kompilacji hostowani samodzielnie potrzebują dodatkowego zarządzania i muszą być wzmocnioni.

Z perspektywy obserwacji zaimplementuj proces przeglądania dzienników pod kątem potencjalnych naruszeń. Regularnie przeglądaj i aktualizuj reguły kontroli dostępu na podstawie dzienników dostępu. Współpracuj z centralnymi zespołami w celu analizowania dzienników automatycznego reagowania na zdarzenia zabezpieczeń (SIEM) i orkiestracji zabezpieczeń w celu wykrywania anomalii.

Rozważ wymaganie stacji roboczych z dostępem uprzywilejowanym lub stacji roboczych z dostępem uprzywilejowanym na potrzeby operacji zarządzania uprzywilejowanego. Stacje robocze z dostępem uprzywilejowanym i saW są wzmocnionymi urządzeniami fizycznymi, które oferują znaczne korzyści zabezpieczeń, ale ich implementacja wymaga starannego planowania i zarządzania. Aby uzyskać więcej informacji, zobacz Zabezpieczanie urządzeń w ramach scenariusza dostępu uprzywilejowanego.

Ułatwienia dla platformy Azure

Microsoft Defender dla chmury oferuje kilka funkcji wzmacniania zabezpieczeń:

Usługa Center for Internet Security (CIS) oferuje obrazy ze wzmocnionymi zabezpieczeniami w Azure Marketplace.

Za pomocą narzędzia Azure VM Image Builder można utworzyć powtarzalny proces dla obrazów systemu operacyjnego ze wzmocnionymi zabezpieczeniami. Common Base Linux-Mariner to wzmocniona dystrybucja systemu Linux opracowana przez firmę Microsoft, która jest zgodna ze standardami zabezpieczeń i certyfikatami branżowymi. Można jej używać z produktami infrastruktury platformy Azure do tworzenia implementacji obciążeń.

Przykład

Poniższa procedura jest przykładem sposobu wzmacniania zabezpieczeń systemu operacyjnego:

  1. Zmniejsz zużycie pamięci. Usuwanie niepotrzebnych składników na obrazie. Zainstaluj tylko potrzebne elementy.

  2. Dostosuj konfiguracje. Wyłącz nieużywane konta. Domyślna konfiguracja systemów operacyjnych ma dodatkowe konta połączone z grupami zabezpieczeń. Jeśli nie używasz tych kont, wyłącz je lub usuń z systemu. Dodatkowe tożsamości to wektory zagrożeń, których można użyć do uzyskania dostępu do serwera.

    Wyłącz niepotrzebny dostęp do systemu plików. Szyfruj system plików i dostrajaj mechanizmy kontroli dostępu do tożsamości i sieci.

    Uruchom tylko to, co jest potrzebne. Blokuj aplikacje i usługi, które są domyślnie uruchamiane. Zatwierdzanie tylko aplikacji i usług, które są potrzebne do działania obciążenia.

  3. Zachowaj zabezpieczenia. Regularnie aktualizuj składniki systemu operacyjnego przy użyciu najnowszych aktualizacji zabezpieczeń i poprawek, aby wyeliminować znane luki w zabezpieczeniach.

Dopasowanie organizacji

Cloud Adoption Framework dla platformy Azure zawiera wskazówki dotyczące tworzenia scentralizowanych funkcji zarządzania tożsamościami i dostępem. Aby uzyskać więcej informacji, zobacz Obszar projektowania zarządzania tożsamościami i dostępem na platformie Azure.

Testy porównawcze CIS

Lista kontrolna zabezpieczeń

Zapoznaj się z pełnym zestawem zaleceń.