Zalecenia dotyczące wzmacniania zabezpieczeń zasobów
Dotyczy tego zalecenia listy kontrolnej dotyczącej 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 ataku. |
---|
W tym przewodniku opisano zalecenia dotyczące wzmacniania zabezpieczeń zasobów przez opracowanie zlokalizowanych kontrolek w obciążeniu i utrzymanie ich w celu wytrzymania powtarzających się ataków.
Wzmacnianie zabezpieczeń jest zamierzonym ćwiczeniem samozabezpieczenia. 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ń.
Wzmocnienie 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 usuwanie nadmiarowych zasobów lub dostosowywanie konfiguracji. |
Stacja robocza z dostępem uprzywilejowanym (PAW) | Dedykowana i bezpieczna maszyna używana do wykonywania zadań poufnych, 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. |
Powierzchnia | 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 poszczególnych składników zwiększa ona agregację bezpieczeństwa obciążenia.
Wzmocnienie zabezpieczeń nie uwzględnia funkcjonalności obciążenia i nie wykrywa zagrożeń ani nie wykonuje automatycznego skanowania. Wzmacnianie zabezpieczeń koncentruje się na dostrajaniu konfiguracji przy użyciu mentalności zakładania naruszenia i ochrony w głębi systemu. Celem jest utrudnienie osobie atakującej przejęcia kontroli nad systemem. Wzmocnienie zabezpieczeń nie powinno zmieniać zamierzonego narzędzia obciążenia ani jego operacji.
Tworzenie spisu zasobów obciążeń
Pierwszym krokiem procesu wzmacniania zabezpieczeń jest zebranie kompleksowego spisu wszystkich zasobów sprzętowych, 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 ślad. Usuń nadmiarowy obszar powierzchni lub zmniejsz zakres. Wyeliminuj łatwe cele lub tanie i dobrze ugruntowane wektory ataków, takie jak niewzorowane luki w oprogramowaniu 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ą wymagane 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 nietestowanych metod ataku, co zwiększa koszty.
Zachowaj obronę. Zachowaj środki ochronne, wykonując ciągłe wykrywanie zagrożeń, aby zapewnić niezawodność działań mających na celu wzmocnienie z czasem.
Należy również wziąć pod uwagę następujące czynniki.
Zaufane źródło. Część ćwiczenia polegającego na wzmacnianiu 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 zatwierdzać 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 projektowania.
Trenowanie. 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 być w stanie rozpoznać wskazówki od ekspertów branżowych i platformy, aby odróżnić je 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.
Dokumentacja. Dokumentowanie i publikowanie wymagań dotyczących wzmacniania zabezpieczeń, decyzji i zdefiniowanych metod. W celu zapewnienia przejrzystości 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 zaostrzaj podstawowe składniki, a następnie rozszerzaj 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 mogą mieć wpływ 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.
Wzmacnianie zabezpieczeń składników sieciowych
Podziel sieć na segmenty , aby odizolować krytyczne zasoby i poufne dane 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 usłudze aplikacja systemu Azure, jeśli nie musisz wdrażać za pośrednictwem protokołu FTP, możesz ją wyłączyć. Jeśli jednak 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łócać działanie systemu. Przetestuj wszystkie zmiany przed wdrożeniem, aby ograniczyć ryzyko przerw w działaniu.
Traktuj publiczne adresy IP () 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 usługi firmy Microsoft, takie jak usługa Azure Front Door, podaj. 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 żądań przychodzących na brzegu sieci. Dzięki dedykowanemu interfejsowi odpowiadasz za zarządzanie jego aspektami zabezpieczeń, zezwalaniem na porty lub blokowaniem ich 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 zabezpieczeń sieci. Aby upewnić się, że infrastruktura DNS jest bezpieczna, zalecamy używanie zaufanych rozpoznawania nazw DNS. Aby zweryfikować informacje z 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 wrażliwoś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.
Wzmacnianie kontroli dostępu do tożsamości
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 licznika ataków, takich jak blokady kont. Zindyfikuj wymagania dotyczące uwierzytelniania dostawcy tożsamości (IdP), takie jak Microsoft Entra ID.
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 oferowanych przez firmę Microsoft Entra ID w celu zweryfikowania 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 o najniższych uprawnieniach dla procesów zarządzania. Usuń niepotrzebne przypisania ról i wykonaj regularne przeglądy dostępu firmy Microsoft Entra. Użyj opisów przypisań ról, aby zachować papierowy ślad uzasadnienia, który ma kluczowe znaczenie dla inspekcji.
Wzmacnianie konfiguracji zasobów 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 usługa 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 nadążaj za 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 agresywne blokowanie ruchu wychodzącego, 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.
Wzmacnianie zasobów kodu
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ędzy witrynami (XSS), sprawdzając i oczyszczają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 polegającymi na kradzieży lub naprawianiu sesji przy użyciu technik bezpiecznego zarządzania sesjami. 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: zmniejszanie 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 dodatkowo 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 obsługi 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 wzmocnionym zabezpieczeniami
Ponadto wzmacniają zabezpieczenia innych zasobów innych niż środowisko uruchomieniowe. Na przykład zmniejsz ślad operacji kompilacji, tworząc spis wszystkich zasobów i usuwając nieużywane zasoby z potoku. Następnie ściągaj zadania publikowane przez zaufane źródła i uruchamiaj tylko zadania, które są weryfikowane.
Ustal, czy potrzebujesz agentów kompilacji hostowanych przez firmę Microsoft lub własnych. Własne agenty kompilacji wymagają dodatkowego zarządzania i muszą być wzmocnione.
Z perspektywy obserwacji zaimplementuj proces przeglądania dzienników pod kątem potencjalnych naruszeń. Regularnie sprawdzaj 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 informacyjne 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 uprzywilejowanymi. Stacje robocze z dostępem uprzywilejowanym i saW są wzmocnionymi zabezpieczeniami urządzeń fizycznych, 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 platformy Azure
Microsoft Defender dla Chmury oferuje kilka funkcji wzmacniania zabezpieczeń:
- Wzmacnianie zabezpieczeń serwera
- Adaptacyjne wzmacnianie zabezpieczeń sieci
- Wzmacnianie zabezpieczeń hosta platformy Docker
Usługa Center for Internet Security (CIS) oferuje obrazy ze wzmocnionymi zabezpieczeniami w witrynie 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:
Zmniejsz ślad. Usuń niepotrzebne składniki na obrazie. Zainstaluj tylko to, czego potrzebujesz.
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ą uruchamiane domyślnie. Zatwierdzanie tylko aplikacji i usług, które są potrzebne do obsługi funkcji obciążenia.
Zachowaj obronę. Regularne aktualizowanie składników systemu operacyjnego przy użyciu najnowszych aktualizacji zabezpieczeń i poprawek w celu ograniczenia znanych luk w zabezpieczeniach.
Pokrewne łącza
- Adaptacyjne wzmacnianie zabezpieczeń sieci
- Zalecenia dotyczące ochrony wpisów tajnych aplikacji
- Zalecenia dotyczące zabezpieczania cyklu życia programowania
- Zabezpieczanie urządzeń w ramach scenariusza dostępu uprzywilejowanego
- Wzmacnianie zabezpieczeń serwera
Linki społecznościowe
Lista kontrolna zabezpieczeń
Zapoznaj się z pełnym zestawem zaleceń.