Zalecenia dotyczące wzmacniania zabezpieczeń zasobów

Dotyczy tego zalecenia dotyczącego listy kontrolnej zabezpieczeń platformy 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 atakujących.

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

Wzmacnianie zabezpieczeń to celowe ćwiczenie samozachowawcze. 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 adaptacji do zmieniających się zagrożeń i luk w zabezpieczeniach.

Definicje

Okres Definicja
Ograniczenie funkcjonalności Praktyka zmniejszania obszaru obszaru podatnego na ataki przez usunięcie nadmiarowych zasobów lub dostosowanie konfiguracji.
Stacja robocza z dostępem uprzywilejowanym (PAW) Dedykowana i bezpieczna maszyna używana do wykonywania poufnych zadań, co zmniejsza ryzyko naruszenia zabezpieczeń.
Bezpieczna stacja robocza administracyjna (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 bezpieczeństwa każdego składnika zwiększa ona agregację zabezpieczeń obciążenia.

Wzmocnienie zabezpieczeń nie uwzględnia funkcjonalności obciążenia i nie wykrywa zagrożeń ani nie przeprowadza automatycznego skanowania. Wzmacnianie zabezpieczeń koncentruje się na dostrajaniu konfiguracji z założeniem naruszenia i dogłębną mentalnością obrony. Celem jest utrudnienie osobie atakującej przejęcia kontroli nad systemem. Wzmacnianie 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ętowych, oprogramowania i danych. Zachowaj aktualność rekordów 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 ślad. Usuń nadmiarowy obszar powierzchni lub zmniejsz zakres. Eliminowanie łatwych celów lub tanich i dobrze ustalonych wektorów ataków, takich jak niezwiązane luki w zabezpieczeniach oprogramowania i ataki siłowe. Przed wdrożeniem produkcyjnym należy wyczyścić tożsamości, składniki kompilacji i inne zasoby, które nie są potrzebne z drzewa źródłowego.

  • Dostrajanie konfiguracji. Oceń i zakręć 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 atakujących do uzyskiwania i używania zaawansowanych lub nietestowanych metod ataku, co zwiększa koszty.

  • Zachowaj obronę. Zachowaj środki ochronne, wykonując ciągłe wykrywanie zagrożeń , aby zapewnić, że wysiłki związane z wzmacnianiem zabezpieczeń są zależne od 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ł. Organizacja musi zatwierdzić oprogramowanie pozyskane od innych dostawców. 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 życia programowania.

Szkolenia. Wzmacnianie jest wyspecjalizowaną umiejętnością. 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 mieć możliwość rozróżniania wskazówek od ekspertów branżowych i platformy, aby odróżnić go od wskazówek od niepewnych źródeł. Wykształć członków zespołu w 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ń.

Wzmocnienie zabezpieczeń może być uciążliwe, ale jest to kluczowe ćwiczenie zabezpieczeń, które należy udokumentować. Najpierw wzmacniaj podstawowe składniki, a następnie rozwijaj się 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 poufne dane od mniej bezpiecznych zasobów, co zmniejsza ruch boczny 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ć. Lub jeśli wykonujesz operacje zarządzania za pośrednictwem sieci wewnętrznej, możesz wyłączyć dostęp administracyjny z Internetu.

Usuń lub wyłącz starsze protokoły. 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, które udostępniają usługi firmy Microsoft, takie jak Azure Front Door. Te usługi są przeznaczone do korzystania z Internetu i blokują dostęp do niedozwolonych protokołów. Wiele takich usług przeprowadza wstępne kontrole na żądaniach przychodzących na brzegu sieci. Dzięki dedykowanemu interfejsowi PIP odpowiadasz za zarządzanie jego aspektami zabezpieczeń, zezwalaniem lub blokowaniem portów oraz skanowaniem żą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 brzegu przed dotarciem ruchu do warstwy aplikacji.

Wzmacnianie zabezpieczeń systemu nazw domen (DNS) to kolejna praktyka w zakresie zabezpieczeń sieci. Aby zapewnić bezpieczeństwo infrastruktury DNS, 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 wysokiej dostępności. Aby zapobiec atakom, takim jak zatrucie pamięci podręcznej DNS, ataki DDoS i ataki wzmacniania, zapoznaj się z innymi mechanizmami kontroli zabezpieczeń związanych 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ą środków przeciwdziałania atakom, takich jak blokady kont. Zainicjuj wymagania dotyczące uwierzytelniania dostawcy tożsamości,takie jak Tożsamość Microsoft Entra.

Preferuj federację za pośrednictwem 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 Tożsamość Microsoft Entra 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żyj tożsamości zarządzanych i tożsamości obciążeń bez poświadczeń, jeśli 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 o najniższych uprawnieniach dla procesów zarządzania. Usuń niepotrzebne przypisania ról i wykonaj regularne przeglądy dostępu Microsoft Entra. Użyj opisów przypisań ról, aby zachować papierowy ślad uzasadnienia, co ma kluczowe znaczenie dla inspekcji.

Zasoby w chmurze

Poprzednie zalecenia dotyczące wzmacniania zabezpieczeń dotyczące sieci i tożsamości mają zastosowanie do 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 produktu, które mogą obejmować inne składniki. Na przykład App Service obsługuje usługę Kudu, która udostępnia wdrożenia FTP, debugowanie zdalne 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 przydziałów lub muszą być uruchamiane w udokumentowanych konfiguracjach, które mają być uznawane za obsługiwane. Niektóre techniki wzmacniania zabezpieczeń, takie jak agresywnie blokujący ruch wychodzący, mogą spowodować, że usługa spadnie poza obsługiwaną konfiguracją, nawet jeśli usługa działa normalnie. Zapoznaj się z wymaganiami środowiska uruchomieniowego każdego zasobu 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 informacje 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ędzylokacyjnych (XSS), sprawdzając i usuwając wszystkie dane wejściowe użytkownika. Automatyzowanie oczyszczania danych wejściowych przy użyciu bibliotek walidacji danych wejściowych i struktur.

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

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

  • Nagłówki zabezpieczeń HTTP: zapobiegaj typowym lukom w zabezpieczeniach sieci Web, korzystając z 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 dodatkowo zwiększyć bezpieczeństwo, zaimplementuj ograniczanie szybkości, walidację żądań i mechanizmy kontroli 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

Wzmacnianie również innych zasobów innych niż środowisko uruchomieniowe. Na przykład zmniejsz rozmiar operacji kompilacji , tworząc spis wszystkich zasobów i usuwając nieużywane zasoby z potoku. Następnie należy ściągnąć zadania opublikowane 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ć wzmocnione.

Z perspektywy obserwacji zaimplementuj proces przeglądania dzienników pod kątem potencjalnych naruszeń. Regularnie przeglądać i aktualizować 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 saW dla uprzywilejowanych operacji zarządzania. 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 historii uprzywilejowanego dostępu.

Ułatwienia platformy Azure

Microsoft Defender dla chmury oferuje kilka funkcji wzmacniania zabezpieczeń:

Centrum zabezpieczeń internetowych (CIS) oferuje obrazy ze wzmocnionymi zabezpieczeniami w Azure Marketplace.

Za pomocą narzędzia Azure VM Image Builder można utworzyć powtarzalny proces na potrzeby wzmocnionych obrazów systemu operacyjnego. 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 go używać z produktami infrastruktury platformy Azure do tworzenia implementacji obciążeń.

Przykład

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

  1. Zmniejsz ślad. Usuń niepotrzebne składniki na obrazie. Zainstaluj tylko to, czego potrzebujesz.

  2. Dostrajanie konfiguracji. 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. Zatwierdź tylko aplikacje i usługi, które są potrzebne do działania obciążenia.

  3. Zachowaj obronę. Regularne aktualizowanie składników systemu operacyjnego przy użyciu najnowszych aktualizacji zabezpieczeń i poprawek w celu ograniczenia znanych luk w zabezpieczeniach.

Testy porównawcze CIS

Lista kontrolna zabezpieczeń

Zapoznaj się z pełnym zestawem zaleceń.