Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jako programista musisz czuć się pewnie i bezpiecznie, aby pracować szybko. Konieczność zabezpieczeń rozpoczyna się zaraz po sklonowania kodu. Z tego artykułu dowiesz się, jak programować przy użyciu zasad zero trust , dzięki czemu można szybko i bezpiecznie wprowadzać innowacje. Strategia zabezpieczeń Zero Trust i podejście do projektowania i implementowania aplikacji obejmują następujące zasady:
- Sprawdź jawnie. Zawsze uwierzytelniaj się i autoryzuj na podstawie wszystkich dostępnych punktów danych.
- Użyj dostępu z najmniejszymi uprawnieniami. Ogranicz dostęp użytkowników za pomocą zasad just in time i Just-Enough-Access (JIT/JEA), zasad adaptacyjnych opartych na ryzyku i ochrony danych.
- Przyjmij naruszenie. Zminimalizuj promień wybuchu i segmentuj dostęp. Zweryfikuj kompleksowe szyfrowanie i korzystaj z analizy, aby uzyskać widoczność, zwiększyć wykrywanie zagrożeń i poprawić ochronę.
Osadzanie zabezpieczeń w przepływie pracy ułatwia:
- Szybsze wskazanie luk w zabezpieczeniach.
- Zapewnij bezpieczniejsze narzędzia deweloperskie.
- Tworzenie połączeń w celu poprawy współpracy między zespołami ds. zabezpieczeń i programowania.
Wprowadzanie innowacji i zabezpieczanie przepływu pracy podczas tworzenia kodu
Ujednolicone rozwiązanie firmy Microsoft, przedstawione na poniższym diagramie, łączy zespoły DevOps i SecOps, aby przyspieszyć i zabezpieczyć rozwój od kodu do chmury.
Nasze rozwiązanie do ochrony metodyki DevOps opiera się na dwóch głównych składnikach: dostarcza deweloperom narzędzia umożliwiające wprowadzanie innowacji i zabezpieczanie przepływu pracy deweloperów podczas tworzenia kodu przez deweloperów. Obejrzyj sesję Przyspieszanie i zabezpieczanie kodu do programowania w chmurze z konferencji Microsoft Build 2022 , aby dowiedzieć się, jak te składniki mogą zabezpieczyć środowisko projektowe.
Zaimplementuj następujące najlepsze rozwiązania, które współpracują ze sobą na platformie Azure i w usłudze GitHub, aby zabezpieczyć rozwiązanie programistyczne.
- Ponieważ bezpieczeństwo zaczyna się, gdy deweloperzy klonują kod, umożliw DevSecOps z platformą Azure i GitHub , aby zaangażować zespoły DevOps i SecOps oraz chronić środowiska deweloperskie.
- Udostępniaj elastyczne i zaawansowane narzędzia deweloperskie dla dowolnego dewelopera, języka i stosu za pomocą programów Visual Studio i Visual Studio Code.
- Uprość dołączanie nowych deweloperów i współpracę z całym narzędziem cyklu życia programowania w chmurze przy użyciu usług GitHub Codespaces i Microsoft Dev Box.
- Dołącz wbudowaną ochronę własności intelektualnej dla kodu, który nie jest już dystrybuowany do wielu lokalizacji. Pomóż zespołom współpracować, opracowywać, automatyzować i wdrażać kod wszędzie tam, gdzie chcą, za pomocą funkcji GitHub Actions i usługi Azure Pipelines.
- Uzyskaj wskazówki dotyczące zabezpieczeń i ciągłe opinie dotyczące zabezpieczeń w przepływie pracy dewelopera, korzystając z funkcji skanowania kodu, skanowania wpisów tajnych i przeglądu zależności przy użyciu usługi GitHub Advanced Security.
- Wdrożenie modelu zerowego zaufania w całej organizacji przy użyciu usług zarządzania tożsamościami Microsoft Entra ID.
Dopasuj zabezpieczenia Zero Trust do cyklu projektowania
Od wstępnego zatwierdzenia do zatwierdzenia, poprzez wdrażanie i następnie obsługę oraz monitorowanie, potrzebne są rozwiązania zabezpieczeń we wszystkich etapach cyklu rozwoju.
Etap przed zatwierdzeniem
- Modelowanie zagrożeń
- Wtyczka zabezpieczeń środowiska IDE
- Wstępne zatwierdzanie punktów zaczepienia
- Bezpieczne standardy kodowania
- Przegląd równorzędny
Osiemdziesiąt pięć procent wad kodu pojawia się w fazie wstępnego tworzenia, głównie z powodu błędu ludzkiego. Skoncentruj się na zabezpieczeniach przed zatwierdzeniem kodu, pisząc kod w programie Visual Studio Code, programie Visual Studio lub usłudze GitHub Codespaces, aby zidentyfikować luki w zabezpieczeniach i bezpieczny kod. Użyj przeglądów równorzędnych, aby zachęcić do bezpiecznych praktyk kodowania.
Etap zatwierdzania (CI)
- Analiza kodu statycznego
- Testy jednostkowe zabezpieczeń
- Zarządzanie zależnościami
- Skanowanie poświadczeń
Na etapie zatwierdzania użyj rozbudowanych metod zabezpieczeń, aby przejrzeć kod (w tym analizę kodu statycznego) i przeskanować kod podczas sprawdzania go w kontroli źródła. Użyj skanowania poświadczeń (nazywanego również skanowaniem wpisów tajnych lub skanowaniem tokenów), aby uwidocznić poświadczenia, które można przypadkowo wprowadzić do bazy kodu. Wykrywaj niezabezpieczone zależności przed ich wprowadzeniem do środowiska, korzystając z przeglądu zależności.
Etap wdrażania (CD)
- Skanowanie infrastruktury jako kodu (IaC)
- Dynamiczne skanowanie zabezpieczeń
- Testy konfiguracji chmury
- Testy akceptacyjnych zabezpieczeń
Podczas etapu wdrażania przyjrzyj się ogólnej kondycji bazy kodu i przeprowadź skanowanie zabezpieczeń wysokiego poziomu w celu zidentyfikowania zagrożeń. Przeprowadzanie kontroli konfiguracji chmury, kontroli kodu infrastruktury i testów akceptacyjnych zabezpieczeń w celu zapewnienia zgodności z celami zabezpieczeń organizacji.
Etap obsługi i monitorowania
- Monitorowanie ciągłe
- Analiza zagrożeń
- Bez obwiniania postmortemy
W fazie działania i monitorowania użyj ciągłego monitorowania i analizy zagrożeń, aby ograniczyć ogólne luki w zabezpieczeniach zależności, które mogą być dziedziczone w czasie. Przeprowadzaj analizy post-mortem, aby wyciągnąć wnioski i kontynuować iterowanie cyklu DevOps.
Implementowanie skanowania zależności, kodu i sekretów
Aby ułatwić deweloperom zabezpieczanie kodu, użyj natywnych i zautomatyzowanych funkcji, aby zapewnić ciągłą opinię na temat ciągłych funkcji zabezpieczeń w całym cyklu projektowania. Zapewnienie ogólnego bezpieczeństwa deweloperom i społecznościom dzięki funkcjom GitHub Advanced Security, takim jak skanowanie zależności, skanowanie kodu i skanowanie tajnych danych.
Skanowanie zależności
- Zintegrowany przegląd zależności
- Alerty i aktualizacje zabezpieczeń
Uzyskaj poziomy ryzyka zależności oraz automatyczne poprawki dla podatnych zależności w bazie kodu za pomocą ciągłego skanowania zależności. W ramach ciągłego procesu subtelnie kieruje deweloperów na właściwą ścieżkę w przyjazny i nienachalny sposób.
Skanowanie kodu
- Rozszerzalna struktura do skanowania kodu
- Zintegrowane w przepływie pracy dewelopera
- Wspierane przez wiodący w branży aparat CodeQL
Zaimplementuj skanowanie kodu podczas generowania kodu bez innych kroków do uruchomienia w oddzielnych lokalizacjach. Ułatw sobie wprowadzanie poprawek na wczesnym etapie cyklu rozwoju, wyświetlając wyniki skanowania w znanym środowisku GitHub.
Skanowanie sekretów
- Skanuj w poszukiwaniu wycieku tajnych informacji w repozytoriach publicznych i prywatnych
- Współpraca z 40+ dostawcami
- Ochrona przed wypychaniem
- Przechodzenie z korygowania do zapobiegania
- Sprawdź tajne dane o wysokiej wiarygodności
- Włącz ochronę za pomocą jednego wyboru
Przeskanuj kod pod kątem zapisanych na stałe poświadczeń i tokenów za pomocą skanowania sekretów. Funkcja ochrony podczas wypychania skanuje tajne dane i tokeny przed dodaniem ich do bazy kodu. Sprawdź tajne dane o wysokiej pewności, gdy deweloperzy przesyłają kod, blokując przesyłanie, gdy GitHub identyfikuje tajne dane.
Zarządzanie tożsamościami przypisywanymi zadaniom oraz ich zabezpieczanie
- Zarządzanie cyklem życia
- Zarządzanie dostępem
- Bezpieczny dostęp adaptacyjny
Uzyskaj wgląd w aktywność tożsamości związanych z obciążeniem i umożliw okresowe porządkowanie. Określ, kto jest właścicielem tożsamości przypisanych do obciążeń i jak te informacje są utrzymywane w aktualności w miarę jak zachodzą zmiany w organizacji. Śledź, kiedy ostatnio użyto tożsamości obciążeń, kiedy ostatnio wystawiono tokeny i kiedy tokeny wygasają.
Aby ograniczyć ryzyko wycieku wpisów tajnych i poświadczeń, okresowo przeprowadzaj przeglądy dostępu. Wymagaj od użytkowników przeglądania tożsamości obciążeń i usuwania niepotrzebnych uprawnień dostępu. Użytkownicy zgłaszają nadmiernie uprzywilejowane i niedostatecznie wykorzystywane uprawnienia dostępu. Omów, jak chronić tożsamości zadań przed naruszeniem zabezpieczeń. Włącz dostęp warunkowy, aby upewnić się, że dostęp pochodzi z oczekiwanych zasobów.
Zabezpieczanie tożsamości przy użyciu GitHub OIDC i Federacja ID Obciążeń Microsoft Entra
Aby dodatkowo zabezpieczyć organizację, użyj GitHub OpenID Connect (OIDC) z federacją tożsamości obciążeń Microsoft Entra i zminimalizuj konieczność przechowywania oraz dostępu do tajnych danych. Bezpiecznie zarządzaj sekrety głównego serwera platformy Azure i innymi długoterminowymi danymi uwierzytelniającymi w chmurze, aby zminimalizować przestój usług spowodowany wygaśnięciem tych danych. Integracja z platformami deweloperów, takimi jak GitHub Actions, w celu bezpiecznego tworzenia aplikacji.
Przez nas zalecany proces federacji tożsamości obciążeń, przedstawiony na poniższym diagramie, składa się z sześciu kroków.
- Skonfiguruj zaufanie w identyfikatorze Entra firmy Microsoft i zażądaj tokenu.
- Skonfiguruj przepływ pracy usługi GitHub, aby zezwolić na uzyskiwanie tokenu przez akcje.
- Przepływ pracy GitHub wysyła żądanie do Azure ID.
- Identyfikator entra firmy Microsoft weryfikuje zaufanie w aplikacji i pobiera klucze w celu zweryfikowania tokenu.
- Identyfikator entra firmy Microsoft uzyskuje dostęp i wystawia token.
- Akcja wdrażania używa tokenu dostępu Microsoft Entra do wdrożenia w zasobach na platformie Azure.
Obejrzyj, jak April Edwards, starszy ambasador chmury i lider praktyki DevOps, demonstruje przepływ pracy federacji tożsamości obciążeń. Demonstracja rozpoczyna się po upływie 19 minut i 14 sekund w sesji programu Microsoft Build 2022, Przyspieszanie i zabezpieczanie kodu do rozwoju w chmurze.
Następne kroki
- Zarejestruj się w interfejsie wiersza polecenia dla deweloperów platformy Azure, czyli narzędziu typu open source, które przyspiesza czas potrzebny na rozpoczęcie pracy na platformie Azure.
- Konfigurowanie platformy Azure w celu zaufania identyfikatorowi OIDC usługi GitHub jako tożsamości federacyjnej. Program OpenID Connect (OIDC) umożliwia przepływom pracy GitHub Actions uzyskiwanie dostępu do zasobów na platformie Azure bez konieczności przechowywania poświadczeń platformy Azure jako długoterminowych tajnych wpisów usługi GitHub.
- Zaimplementuj zasady Zero Trust zgodnie z opisem w memorandum 22-09 (na poparcie amerykańskiego nakazu wykonawczego 14028, Poprawa bezpieczeństwa cybernetycznego narodu) przy użyciu identyfikatora Microsoft Entra JAKO scentralizowanego systemu zarządzania tożsamościami.
- Przyspieszanie i zabezpieczanie kodu za pomocą usługi Azure DevOps za pomocą narzędzi, które zapewniają deweloperom najszybszy i najbezpieczniejszy kod w środowisku chmury.
- Zabezpieczenie środowiska deweloperskiego pomaga zaimplementować zasady Zero Trust w środowiskach deweloperskich poprzez najlepsze praktyki dotyczące zasady najmniejszych uprawnień, bezpieczeństwa gałęzi oraz zaufania do narzędzi, rozszerzeń i integracji.
- Secure DevOps environments for Zero Trust opisuje najlepsze praktyki dotyczące zabezpieczania środowisk DevOps w celu uniemożliwienia hakerom naruszania stacji roboczych deweloperów, infekowania pipeline wydania złośliwymi skryptami i uzyskiwania dostępu do danych produkcyjnych poprzez środowiska testowe.
- Dostosowywanie tokenów opisuje informacje, które można otrzymywać w tokenach firmy Microsoft Entra. Wyjaśniono w nim, jak dostosować tokeny w celu zwiększenia elastyczności i kontroli przy jednoczesnym zwiększeniu poziomu zabezpieczeń zerowego zaufania aplikacji z najmniejszymi uprawnieniami.
- Konfigurowanie oświadczeń grup i ról aplikacji w tokenach pokazuje, jak skonfigurować twoje aplikacje, korzystając z definicji ról aplikacji, oraz jak przypisać grupy zabezpieczeń do ról aplikacji. Te metody pomagają zwiększyć elastyczność i kontrolę przy jednoczesnym zwiększeniu zabezpieczeń zerowego zaufania aplikacji z najmniejszymi uprawnieniami.