Uwaga
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.
Usługa DevOps Security obejmuje mechanizmy kontroli związane z inżynierią zabezpieczeń i operacjami w procesach DevOps, w tym wdrażanie krytycznych kontroli zabezpieczeń (takich jak testowanie zabezpieczeń aplikacji statycznych, zarządzanie lukami w zabezpieczeniach) przed fazą wdrażania w celu zapewnienia bezpieczeństwa w całym procesie DevOps; Zawiera również typowe tematy, takie jak modelowanie zagrożeń i zabezpieczenia dostarczania oprogramowania.
DS-1: Przeprowadzanie modelowania zagrożeń
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
16.10, 16.14 | SA-15 | 6.5, 12.2 |
Zasada zabezpieczeń: Wykonaj modelowanie zagrożeń, aby zidentyfikować potencjalne zagrożenia i wyliczyć środki kontroli ograniczania ryzyka. Upewnij się, że modelowanie zagrożeń służy do następujących celów:
- Zabezpiecz swoje aplikacje i usługi na etapie pracy w środowisku produkcyjnym.
- Zabezpiecz artefakty, potok CI/CD oraz inne narzędzia używane w środowisku budowy, testów i wdrożeń. Modelowanie zagrożeń powinno obejmować przynajmniej następujące aspekty:
- Zdefiniuj wymagania dotyczące zabezpieczeń aplikacji. Upewnij się, że te wymagania zostały odpowiednio rozwiązane w modelowaniu zagrożeń.
- Analizowanie składników aplikacji, połączeń danych i ich relacji. Upewnij się, że ta analiza obejmuje również połączenia nadrzędne i podrzędne poza zakresem aplikacji.
- Lista potencjalnych zagrożeń i wektorów ataków, na które mogą być narażone składniki aplikacji, połączenia danych oraz usługi nadrzędne i podrzędne.
- Zidentyfikuj odpowiednie mechanizmy kontroli zabezpieczeń, które mogą służyć do łagodzenia wyliczonych zagrożeń, i zidentyfikuj luki w zabezpieczeniach (np. luki w zabezpieczeniach), które mogą wymagać dodatkowych planów leczenia.
- Wyliczanie i projektowanie kontrolek, które mogą ograniczyć zidentyfikowane luki w zabezpieczeniach.
Wskazówki dotyczące platformy Azure: użyj narzędzi do modelowania zagrożeń, takich jak narzędzie do modelowania zagrożeń firmy Microsoft z osadzonym szablonem modelu zagrożeń platformy Azure, aby zwiększyć proces modelowania zagrożeń. Użyj modelu STRIDE, aby wyliczyć zagrożenia zarówno z wewnętrznego, jak i zewnętrznego oraz zidentyfikować odpowiednie kontrolki. Upewnij się, że proces modelowania zagrożeń obejmuje scenariusze zagrożeń w procesie DevOps, takie jak wstrzyknięcie złośliwego kodu za pośrednictwem niezabezpieczonego repozytorium artefaktów z nieprawidłowo skonfigurowanymi zasadami kontroli dostępu.
Jeśli korzystanie z narzędzia do modelowania zagrożeń nie ma zastosowania, należy przynajmniej użyć procesu modelowania zagrożeń opartego na kwestionariuszu, aby zidentyfikować zagrożenia.
Upewnij się, że wyniki modelowania lub analizy zagrożeń są rejestrowane i aktualizowane, gdy w aplikacji lub w środowisku zagrożenia występuje duża zmiana wpływu na zabezpieczenia.
Implementacja platformy Azure i dodatkowy kontekst:
- Omówienie modelowania zagrożeń
- Analiza zagrożeń aplikacji (w tym METODA STRIDE + metoda oparta na kwestionariuszu)
- Szablon platformy Azure — wzornik modelu zagrożeń zabezpieczeń firmy Microsoft
Wskazówki dotyczące platformy AWS: użyj narzędzi do modelowania zagrożeń, takich jak narzędzie do modelowania zagrożeń firmy Microsoft z osadzonym szablonem modelu zagrożeń platformy Azure, aby zwiększyć proces modelowania zagrożeń. Użyj modelu STRIDE, aby wyliczyć zagrożenia zarówno z wewnętrznego, jak i zewnętrznego oraz zidentyfikować odpowiednie kontrolki. Upewnij się, że proces modelowania zagrożeń obejmuje scenariusze zagrożeń w procesie DevOps, takie jak wstrzyknięcie złośliwego kodu za pośrednictwem niezabezpieczonego repozytorium artefaktów z nieprawidłowo skonfigurowanymi zasadami kontroli dostępu.
Jeśli korzystanie z narzędzia do modelowania zagrożeń nie ma zastosowania, należy przynajmniej użyć procesu modelowania zagrożeń opartego na kwestionariuszu, aby zidentyfikować zagrożenia.
Upewnij się, że wyniki modelowania lub analizy zagrożeń są rejestrowane i aktualizowane, gdy w aplikacji lub w środowisku zagrożenia występuje duża zmiana wpływu na zabezpieczenia.
Implementacja platformy AWS i dodatkowy kontekst:
- Narzędzie do modelowania zagrożeń firmy Microsoft
- Jak podejść do modelowania zagrożeń dla platformy AWS
- Analiza zagrożeń aplikacji (w tym METODA STRIDE + metoda oparta na kwestionariuszu)
Wskazówki dotyczące platformy GCP: użyj narzędzi do modelowania zagrożeń, takich jak narzędzie do modelowania zagrożeń firmy Microsoft z osadzonym szablonem modelu zagrożeń platformy Azure, aby zwiększyć proces modelowania zagrożeń. Użyj modelu STRIDE, aby wyliczyć zagrożenia zarówno z wewnętrznego, jak i zewnętrznego oraz zidentyfikować odpowiednie kontrolki. Upewnij się, że proces modelowania zagrożeń obejmuje scenariusze zagrożeń w procesie DevOps, takie jak wstrzyknięcie złośliwego kodu za pośrednictwem niezabezpieczonego repozytorium artefaktów z nieprawidłowo skonfigurowanymi zasadami kontroli dostępu.
Jeśli korzystanie z narzędzia do modelowania zagrożeń nie ma zastosowania, należy przynajmniej użyć procesu modelowania zagrożeń opartego na kwestionariuszu, aby zidentyfikować zagrożenia.
Upewnij się, że wyniki modelowania lub analizy zagrożeń są rejestrowane i aktualizowane, gdy w aplikacji lub w środowisku zagrożenia występuje duża zmiana wpływu na zabezpieczenia.
Implementacja GCP i dodatkowy kontekst:
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zasady i standardy
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
DS-2: Zapewnianie bezpieczeństwa łańcucha dostaw oprogramowania
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
16.4, 16.6, 16.11 | SA-12, SA-15 | 6.3, 6.5 |
Zasada zabezpieczeń: Upewnij się, że pakiet SDLC (cykl życia tworzenia oprogramowania) lub proces przedsiębiorstwa zawiera zestaw mechanizmów kontroli zabezpieczeń do zarządzania składnikami oprogramowania wewnętrznego i oprogramowania innych firm (w tym oprogramowaniem zastrzeżonym i oprogramowaniem typu open source), w którym aplikacje mają zależności. Zdefiniuj kryteria kontrolne, aby zapobiec integracji i wdrażaniu w środowisku składników podatnych lub złośliwych.
Mechanizmy kontroli bezpieczeństwa łańcucha dostaw oprogramowania powinny obejmować przynajmniej następujące aspekty:
- Prawidłowo zarządzaj rachunkiem za oprogramowanie (SBOM, Software Bill of Materials), identyfikując zależności nadrzędne wymagane do opracowywania usług/zasobów, kompilowania, integracji i wdrażania.
- Inwentaryzacja i śledzenie składników oprogramowania wewnętrznego i firm trzecich pod kątem znanych luk w zabezpieczeniach, gdy dostępna jest poprawka w głównym repozytorium.
- Oceń luki w zabezpieczeniach i złośliwe oprogramowanie w składnikach oprogramowania przy użyciu statycznego i dynamicznego testowania aplikacji pod kątem nieznanych luk w zabezpieczeniach.
- Upewnij się, że luki w zabezpieczeniach i złośliwe oprogramowanie zostały wyeliminowane przy użyciu odpowiedniego podejścia. Może to obejmować lokalną lub nadrzędną poprawkę kodu źródłowego, wykluczenie funkcji i/lub zastosowanie kontrolek wyrównywających, jeśli bezpośrednie środki zaradcze nie są dostępne.
Jeśli składniki innych firm o zamkniętym kodzie źródłowym są używane w środowisku produkcyjnym, możesz mieć ograniczony wgląd w kwestie bezpieczeństwa. Należy rozważyć dodatkowe mechanizmy kontroli, takie jak kontrola dostępu, izolacja sieci i zabezpieczenia punktu końcowego, aby zminimalizować wpływ, jeśli istnieje złośliwa aktywność lub luka w zabezpieczeniach skojarzona ze składnikiem.
Wskazówki dotyczące platformy Azure: W przypadku platformy GitHub upewnij się, że zabezpieczenia łańcucha dostaw oprogramowania są dostępne za pomocą następujących funkcji lub narzędzi z poziomu usługi GitHub Advanced Security lub natywnej funkcji usługi GitHub: użyj funkcji Graph zależności, aby skanować, spisać i identyfikować wszystkie zależności projektu oraz powiązane luki w zabezpieczeniach za pośrednictwem usługi Advisory Database.
- Użyj narzędzia Dependabot, aby upewnić się, że zależność podatna na zagrożenia jest śledzona i korygowana, i upewnij się, że repozytorium jest automatycznie na bieżąco z najnowszymi wersjami pakietów i aplikacji, od których zależy.
- Użyj funkcji skanowania kodu natywnego w usłudze GitHub, aby skanować kod źródłowy podczas zewnętrznego określania źródła kodu.
- Użyj usługi Microsoft Defender for Cloud, aby zintegrować ocenę podatności dla obrazu kontenera w przepływie pracy CI/CD. W przypadku usługi Azure DevOps można używać rozszerzeń innych firm do implementowania podobnych kontroli do inwentaryzacji, analizy i usuwania składników oprogramowania innych firm oraz ich luk w zabezpieczeniach.
Implementacja platformy Azure i dodatkowy kontekst:
- Wykres zależności usługi GitHub
- GitHub Dependabot
- Zidentyfikuj wrażliwe obrazy kontenerów w przepływach CI/CD
- Azure DevOps Marketplace — zabezpieczenia łańcucha dostaw
Wskazówki dotyczące AWS: Jeśli używasz platform AWS CI/CD, takich jak CodeCommit lub CodePipeline, upewnij się, że zabezpieczasz łańcuch dostaw oprogramowania, korzystając z CodeGuru Reviewer do skanowania kodu źródłowego dla języków Java i Python w ramach przepływów pracy CI/CD. Platformy, takie jak CodeCommit i CodePipeline, obsługują również rozszerzenia innych firm, aby zaimplementować podobne kontrole do inwentaryzacji, analizy oraz korekty komponentów oprogramowania innych firm oraz ich podatności.
Jeśli zarządzasz kodem źródłowym za pośrednictwem platformy GitHub, upewnij się, że zabezpieczenia łańcucha dostaw oprogramowania są dostępne za pomocą następujących funkcji lub narzędzi z usługi GitHub Advanced Security lub natywnej funkcji usługi GitHub:
- Użyj Dependency Graph, aby skanować, spisać i identyfikować wszystkie zależności projektu oraz powiązane luki w zabezpieczeniach za pośrednictwem Bazy Doradczej.
- Użyj narzędzia Dependabot, aby upewnić się, że zależność podatna na zagrożenia jest śledzona i korygowana, i upewnij się, że repozytorium jest automatycznie na bieżąco z najnowszymi wersjami pakietów i aplikacji, od których zależy.
- Użyj funkcji skanowania kodu natywnego w usłudze GitHub, aby skanować kod źródłowy podczas zewnętrznego określania źródła kodu.
- Jeśli ma to zastosowanie, użyj usługi Microsoft Defender for Cloud, aby zintegrować analizę podatności obrazu kontenera w procesie CI/CD.
Implementacja platformy AWS i dodatkowy kontekst:
- Wykres zależności usługi GitHub
- GitHub Dependabot
- Metodyka DevOps na platformie AWS
- Wykaz materiałów oprogramowania
Wskazówki dotyczące platformy GCP: Użyj rozwiązania Software Delivery Shield, aby przeprowadzić kompleksową analizę zabezpieczeń łańcucha dostaw oprogramowania. Obejmuje to zapewnianą usługę systemu operacyjnego (oprogramowanie typu open source) w celu uzyskania dostępu i uwzględnienia pakietów systemu operacyjnego, które zostały zweryfikowane i przetestowane przez firmę Google, a także zweryfikowane pakiety Java i Python utworzone przy użyciu bezpiecznych potoków firmy Google. Te pakiety są regularnie skanowane, analizowane i testowane pod kątem luk w zabezpieczeniach. Takie możliwości można zintegrować z usługami Google Cloud Build, Cloud Deploy, Rejestr Artefaktów oraz Analiza Artefaktów w ramach przepływów pracy CI/CD.
Jeśli zarządzasz kodem źródłowym za pośrednictwem platformy GitHub, upewnij się, że zabezpieczenia łańcucha dostaw oprogramowania są dostępne za pomocą następujących funkcji lub narzędzi z usługi GitHub Advanced Security lub natywnej funkcji usługi GitHub:
- Użyj Dependency Graph, aby skanować, spisać i identyfikować wszystkie zależności projektu oraz powiązane luki w zabezpieczeniach za pośrednictwem Bazy Doradczej.
- Użyj narzędzia Dependabot, aby upewnić się, że zależność podatna na zagrożenia jest śledzona i korygowana, i upewnij się, że repozytorium jest automatycznie na bieżąco z najnowszymi wersjami pakietów i aplikacji, od których zależy.
- Użyj funkcji skanowania kodu natywnego w usłudze GitHub, aby skanować kod źródłowy podczas zewnętrznego określania źródła kodu.
- Jeśli ma to zastosowanie, użyj usługi Microsoft Defender for Cloud, aby zintegrować analizę podatności obrazu kontenera w procesie CI/CD.
Implementacja GCP i dodatkowy kontekst:
- Zabezpieczenia łańcucha dostaw oprogramowania Google Cloud Software
- Osłona dostarczania oprogramowania
- Zabezpieczenia łańcucha dostaw oprogramowania
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
DS-3: Bezpieczna infrastruktura DevOps
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
16.7 | CM-2, CM-6, AC-2, AC-3, AC-6 | 2.2, 6.3, 7.1 |
Zasada zabezpieczeń: Upewnij się, że infrastruktura i potok DevOps są zgodne z najlepszymi rozwiązaniami dotyczącymi zabezpieczeń w środowiskach, w tym etapami kompilacji, testowania i produkcji. Zwykle obejmuje to mechanizmy kontroli zabezpieczeń dla następującego zakresu:
- Repozytoria artefaktów, które przechowują kod źródłowy, skompilowane pakiety i obrazy, artefakty projektu i dane biznesowe.
- Serwery, usługi i narzędzia hostujące potoki ciągłej integracji/ciągłego wdrażania.
- Konfiguracja potoku CI/CD.
Wskazówki dotyczące platformy Azure: W ramach stosowania testu porównawczego zabezpieczeń w chmurze firmy Microsoft do mechanizmów kontroli zabezpieczeń infrastruktury DevOps należy określić priorytety następujących mechanizmów kontroli:
- Ochrona artefaktów i środowiska bazowego w celu zapewnienia, że potoki ciągłej integracji/ciągłego wdrażania nie staną się sposobem wstawienia złośliwego kodu. Na przykład przejrzyj potok ciągłej integracji/ciągłego wdrażania, aby zidentyfikować błędy konfiguracji w podstawowych obszarach usługi Azure DevOps, takich jak organizacja, projekty, użytkownicy, potoki (kompilacja i wydanie), połączenia oraz agent kompilacji, na przykład otwarty dostęp, słabe uwierzytelnianie czy niezabezpieczona konfiguracja połączenia. W przypadku usługi GitHub użyj podobnych kontrolek, aby zabezpieczyć poziomy uprawnień organizacji.
- Upewnij się, że infrastruktura DevOps jest stale wdrażana w projektach programistycznych. Śledzenie zgodności infrastruktury DevOps na dużą skalę przy użyciu usługi Microsoft Defender for Cloud (na przykład pulpitu nawigacyjnego zgodności, usługi Azure Policy, zarządzania stanem chmury) lub własnych narzędzi do monitorowania zgodności.
- Skonfiguruj uprawnienia dotyczące tożsamości/ról oraz zasady uprawnień w usłudze Azure AD, natywnych usługach i narzędziach CI/CD w swoim potoku, aby zapewnić autoryzację zmian dokonywanych w potokach.
- Unikaj zapewniania stałego uprzywilejowanego dostępu do kont ludzkich, takich jak deweloperzy lub testerzy, korzystając z funkcji, takich jak identyfikacje zarządzane platformy Azure i dostęp just in time.
- Usuń klucze, poświadczenia i wpisy tajne z kodu i skryptów używanych w zadaniach w przepływie pracy CI/CD i przechowuj je w magazynie kluczy lub Azure Key Vault.
- Jeśli uruchamiasz własnych agentów kompilacji/wdrażania, wykonaj kroki kontroli testu porównawczego zabezpieczeń w chmurze firmy Microsoft, w tym zabezpieczeń sieci, stanu i zarządzania lukami w zabezpieczeniach oraz zabezpieczeń punktów końcowych w celu zabezpieczenia środowiska.
Uwaga: zapoznaj się z sekcjami Rejestrowanie i wykrywanie zagrożeń, DS-7 oraz Stan i Zarządzanie lukami w zabezpieczeniach, aby korzystać z usług, takich jak Azure Monitor i Microsoft Sentinel, aby umożliwić zarządzanie, zgodność, inspekcję operacyjną i inspekcję ryzyka dla infrastruktury DevOps.
Implementacja platformy Azure i dodatkowy kontekst:
- Omówienie mechanizmów DevSecOps – zabezpieczenie procesów
- Zabezpiecz organizację GitHub
- Potok usługi Azure DevOps — zagadnienia dotyczące zabezpieczeń agenta hostowanego przez firmę Microsoft
Wskazówki dotyczące platformy AWS: W ramach stosowania testu porównawczego zabezpieczeń w chmurze firmy Microsoft do mechanizmów kontroli zabezpieczeń infrastruktury DevOps, takich jak GitHub, CodeCommit, CodeArtifact, CodePipeline, CodeBuild i CodeDeploy, należy określić priorytety następujących mechanizmów kontroli:
- Zapoznaj się z tym wskazówkami i filarem zabezpieczeń dobrze zaprojektowanej platformy AWS, aby zabezpieczyć środowiska DevOps na platformie AWS.
- Chroń artefakty i pomocniczą infrastrukturę, aby zapewnić, że potoki CI/CD nie staną się ścieżkami umożliwiającymi wstawianie złośliwego kodu.
- Upewnij się, że infrastruktura DevOps jest wdrażana i spójna w projektach programistycznych. Śledzenie zgodności infrastruktury DevOps na dużą skalę przy użyciu konfiguracji platformy AWS lub własnego rozwiązania do sprawdzania zgodności.
- Użyj metody CodeArtifact, aby bezpiecznie przechowywać i udostępniać pakiety oprogramowania używane do tworzenia aplikacji. Możesz użyć CodeArtifact z popularnymi narzędziami budowania i menedżerami pakietów, takimi jak Maven, Gradle, npm, yarn, pip i twine.
- Skonfiguruj uprawnienia tożsamości/roli i zasady uprawnień w usługach AWS IAM, natywnych usługach oraz narzędziach CI/CD w Twoim potoku, aby autoryzować zmiany w potoku.
- Usuń klucze, poświadczenia i tajne wpisy z kodu i skryptów używanych w zadaniach przepływu pracy CI/CD oraz przechowuj je w magazynie kluczy lub usłudze AWS KMS.
- Jeśli uruchamiasz własnych agentów kompilacji/wdrażania, wykonaj kroki kontroli testu porównawczego zabezpieczeń w chmurze firmy Microsoft, w tym zabezpieczeń sieci, stanu i zarządzania lukami w zabezpieczeniach oraz zabezpieczeń punktów końcowych w celu zabezpieczenia środowiska. Użyj AWS Inspector do skanowania podatności w środowisku EC2 lub w konteneryzowanym środowisku kompilacji.
Uwaga: zapoznaj się z sekcjami Rejestrowanie i wykrywanie zagrożeń, DS-7 oraz Stan i Zarządzanie lukami w zabezpieczeniach, aby korzystać z usług, takich jak AWS CloudTrail, CloudWatch i Microsoft Sentinel, aby umożliwić zarządzanie, zgodność, inspekcję operacyjną i inspekcję ryzyka dla infrastruktury DevOps.
Implementacja platformy AWS i dodatkowy kontekst:
Wskazówki dotyczące platformy GCP: W ramach stosowania testu porównawczego zabezpieczeń w chmurze firmy Microsoft do mechanizmów kontroli zabezpieczeń infrastruktury DevOps należy określić priorytety następujących mechanizmów kontroli:
- Ochrona artefaktów i środowiska bazowego w celu zapewnienia, że potoki ciągłej integracji/ciągłego wdrażania nie staną się sposobem wstawienia złośliwego kodu. Na przykład przejrzyj potok CI/CD, aby zidentyfikować wszelkie błędy konfiguracji w usługach takich jak Google Cloud Build, Cloud Deploy, Artifact Registry, Connections i Build Agent, których przykłady obejmują otwarty dostęp, słabe uwierzytelnianie, niezabezpieczoną konfigurację połączenia i tym podobne. W przypadku usługi GitHub użyj podobnych kontrolek, aby zabezpieczyć poziomy uprawnień organizacji.
- Upewnij się, że infrastruktura DevOps jest stale wdrażana w projektach programistycznych. Śledź zgodność infrastruktury DevOps na dużą skalę za pomocą Centrum zabezpieczeń Google Cloud Security Command Center (takich jak konsola zgodności, zasady organizacyjne, rejestr poszczególnych zagrożeń oraz identyfikacja błędów konfiguracji) lub własnych narzędzi do monitorowania zgodności.
- Skonfiguruj uprawnienia tożsamości/roli i polityki przyznawania uprawnień w usługach natywnych Cloud Identity/AD oraz narzędziach CI/CD w potoku CI/CD, aby upewnić się, że zmiany w potokach są autoryzowane.
- Unikaj zapewniania stałego uprzywilejowanego dostępu do kont ludzkich, takich jak deweloperzy lub testerzy, przy użyciu funkcji, takich jak identyfikacje zarządzane przez firmę Google.
- Usuń klucze, poświadczenia i tajemnice z kodu i skryptów używanych w zadaniach przepływu pracy w CI/CD i przechowuj je w magazynie kluczy lub usłudze Google Secret Manager.
- Jeśli uruchamiasz własnych agentów kompilacji/wdrażania, wykonaj kroki kontroli testu porównawczego zabezpieczeń w chmurze firmy Microsoft, w tym zabezpieczeń sieci, stanu i zarządzania lukami w zabezpieczeniach oraz zabezpieczeń punktów końcowych w celu zabezpieczenia środowiska.
Uwaga: Zapoznaj się z sekcjami Rejestrowanie i wykrywanie zagrożeń, DS-7 oraz Zarządzanie postawą i lukami w zabezpieczeniach, aby korzystać z usług takich jak Azure Monitor, Microsoft Sentinel, pakiet operacyjny Google Cloud oraz rozwiązania Chronicle SIEM i SOAR, aby umożliwić zarządzanie, zgodność, audyt operacyjny i audyt ryzyka dla infrastruktury DevOps.
Implementacja GCP i dodatkowy kontekst:
- Tworzenie zabezpieczonego przepływu obrazów
- Uruchomienie bezpiecznego pipeline'u CI/CD (ciągłej integracji/ciągłego wdrażania)
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
- Zabezpieczenia infrastruktury i punktu końcowego
- Architektura zabezpieczeń
DS-4: Integrowanie statycznych testów zabezpieczeń aplikacji z potokiem DevOps
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
16.12 | SA-11 | 6.3, 6.5 |
Zasada zabezpieczeń: Upewnij się, że testowanie statyczne bezpieczeństwa aplikacji (SAST), testowanie rozmyte, testowanie interaktywne oraz testowanie aplikacji mobilnych są częścią kontrolowanej bramy w przepływie pracy CI/CD. Blokowanie można ustawić na podstawie wyników testowania, aby zapobiec zatwierdzaniu pakietów podatnych na zagrożenia do repozytorium, kompilowaniu do pakietów lub wdrażaniu na środowisku produkcyjnym.
Wskazówki dotyczące platformy Azure: Zintegruj SAST z potokiem (np. jako część szablonu infrastruktury jako kodu), aby kod źródłowy mógł zostać automatycznie zeskanowany w ramach przepływu pracy CI/CD. Usługi Azure DevOps Pipeline lub GitHub mogą integrować poniżej wymienione narzędzia oraz narzędzia SAST innych firm z przepływem pracy.
- GitHub CodeQL na potrzeby analizy kodu źródłowego.
- Microsoft BinSkim Binary Analyzer do analizy binarnej dla systemów Windows i *nix.
- Skaner poświadczeń usługi Azure DevOps (rozszerzenie Microsoft Security DevOps) i natywne skanowanie wpisów tajnych usługi GitHub pod kątem skanowania poświadczeń w kodzie źródłowym.
Implementacja platformy Azure i dodatkowy kontekst:
- Kod QL usługi GitHub
- Analizator binarny BinSkim
- Skanowanie poświadczeń usługi Azure DevOps
- Skanowanie tajemnic GitHub
Wskazówki dotyczące platformy AWS: integruj usługę SAST z potokiem, aby kod źródłowy można było skanować automatycznie w przepływie pracy ciągłej integracji/ciągłego wdrażania.
W przypadku korzystania z narzędzia AWS CodeCommit użyj narzędzia AWS CodeGuru Reviewer na potrzeby analizy kodu źródłowego języka Python i Java. AWS CodePipeline może również obsługiwać integrację narzędzi SAST firm trzecich z potokiem wdrażania kodu.
W przypadku korzystania z usługi GitHub poniższe narzędzia i narzędzia SAST innych firm można zintegrować z przepływem pracy.
- GitHub CodeQL na potrzeby analizy kodu źródłowego.
- Microsoft BinSkim Binary Analyzer do analizy binarnej dla systemów Windows i *nix.
- Natywne skanowanie tajnych informacji w usłudze GitHub w celu wykrywania poświadczeń w kodzie źródłowym.
- AwS CodeGuru Reviewer for Python and Java source code analysis (Recenzent kodu źródłowego platformy AWS dla języków Python i Java).
Implementacja platformy AWS i dodatkowy kontekst:
Wytyczne GCP: Zintegrować SAST (takie jak Software Delivery Shield, analiza artefaktów) z potokiem (np. w szablonie infrastruktury jako kod), aby kod źródłowy mógł być automatycznie skanowany w ramach przepływu pracy CI/CD.
Usługi takie jak Cloud Build, Cloud Deploy, Artifact Registry obsługują integrację zarówno z Software Delivery Shield, jak i Artifact Analysis, które mogą skanować kod źródłowy i inne artefakty w przepływie pracy CI/CD.
Implementacja GCP i dodatkowy kontekst:
- Używanie skanowania na żądanie w potoku kompilacji w chmurze
- Omówienie usługi Software Delivery Shield
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
DS-5: Integrowanie dynamicznych testów zabezpieczeń aplikacji z potokiem DevOps
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
16.12 | SA-11 | 6.3, 6.5 |
Zasada zabezpieczeń: Upewnij się, że dynamiczne testowanie zabezpieczeń aplikacji (DAST) jest częścią kontrolek gating w przepływie pracy ciągłej integracji/ciągłego wdrażania. Ustawienia ograniczeń można dostosować na podstawie wyników testów, aby zapobiec powstawaniu luk w pakietach lub wdrażaniu do środowiska produkcyjnego.
Porady Azure: Zintegruj narzędzie DAST z potokiem, aby aplikacja w środowisku uruchomieniowym była testowana automatycznie w przepływie pracy CI/CD w Azure DevOps lub GitHub. Zautomatyzowane testy penetracyjne (z wspomaganą ręczną weryfikacją) powinny również być częścią procesu DAST.
Usługa Azure DevOps Pipeline lub GitHub obsługuje integrację zewnętrznych narzędzi DAST z przepływem pracy CI/CD.
Implementacja platformy Azure i dodatkowy kontekst:
Wskazówki dotyczące platformy AWS: Integracja narzędzia DAST z potokiem, aby aplikacja w czasie działania mogła być automatycznie testowana w przepływie pracy CI/CD ustawionym w usłudze AWS CodePipeline lub GitHub. Zautomatyzowane testy penetracyjne (z wspomaganą ręczną weryfikacją) powinny również być częścią procesu DAST.
Platforma AWS CodePipeline lub GitHub obsługuje integrację narzędzi DAST innych firm z przepływem pracy CI/CD.
Implementacja platformy AWS i dodatkowy kontekst:
Wskazówki dotyczące GCP: Zintegruj narzędzie DAST, takie jak Cloud Web Security Scanner, z potokiem, aby aplikacja uruchomieniowa mogła być automatycznie testowana w przepływie pracy CI/CD, ustawionym w usługach takich jak Google Cloud Build, Cloud Deploy lub GitHub. Chmurowy Skaner Zabezpieczeń Sieciowych może służyć do identyfikowania luk w zabezpieczeniach w aplikacjach internetowych obciążeń hostowanych w usłudze App Engine, Google Kubernetes Engine (GKE) i Compute Engine. Zautomatyzowane testy penetracyjne (z wspomaganą ręczną weryfikacją) powinny również być częścią procesu DAST.
Usługa Google Cloud Build, Google Cloud Deploy, Artifact Registry i GitHub obsługuje również integrację narzędzi DAST innych firm z przepływem pracy CI/CD.
Implementacja GCP i dodatkowy kontekst:
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
DS-6: Zapewnianie bezpieczeństwa zasobów w całym cyklu DevOps
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
7.5, 7.6, 7.7, 16.1, 16.7 | CM-2, CM-6, AC-2, AC-3, AC-6 | 6.1, 6.2, 6.3 |
Zasada zabezpieczeń: Upewnij się, że obciążenie jest zabezpieczone w całym cyklu życia na etapie programowania, testowania i wdrażania. Użyj testu porównawczego zabezpieczeń w chmurze firmy Microsoft, aby ocenić mechanizmy kontroli (takie jak zabezpieczenia sieci, zarządzanie tożsamościami, uprzywilejowany dostęp itd.), które można ustawić jako zabezpieczenia domyślne lub przesunąć w lewo przed etapem wdrażania. W szczególności upewnij się, że w procesie DevOps są wprowadzone następujące kontrole: Zautomatyzuj wdrożenie, korzystając z platformy Azure lub narzędzi innych firm w przepływie pracy ciągłej integracji i ciągłego wdrażania (CI/CD), zarządzaniu infrastrukturą (infrastrukturą jako kodem) oraz testowaniu, aby zredukować błędy ludzkie i zmniejszyć powierzchnię zagrożeń.
- Upewnij się, że maszyny wirtualne, obrazy kontenerów i inne artefakty są bezpieczne przed złośliwym manipulowaniem.
- Skanuj artefakty obciążenia, takie jak obrazy kontenerów, zależności oraz przeprowadzone skanowania SAST i DAST, przed wdrożeniem w przepływie pracy CI/CD.
- Wdrażanie możliwości oceny luk w zabezpieczeniach i wykrywania zagrożeń w środowisku produkcyjnym i ciągłe korzystanie z tych funkcji w czasie wykonywania.
Wskazówki dotyczące platformy Azure: Wskazówki dotyczące maszyn wirtualnych platformy Azure:
- Użyj Galerii Udostępnionych Obrazów Azure, aby udostępniać i kontrolować dostęp do obrazów przez różnych użytkowników, podmioty usługi lub grupy AD w ramach organizacji. Użyj kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby upewnić się, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do obrazów niestandardowych.
- Zdefiniuj bezpieczne punkty odniesienia konfiguracji dla maszyn wirtualnych, aby wyeliminować niepotrzebne poświadczenia, uprawnienia i pakiety. Wdrażanie i wymuszanie konfiguracji odniesienia za pomocą obrazów niestandardowych, szablonów usługi Azure Resource Manager i/lub konfiguracji gościa usługi Azure Policy.
Wskazówki dotyczące usług kontenerów platformy Azure:
- Użyj usługi Azure Container Registry (ACR), aby utworzyć prywatny rejestr kontenerów, w którym można ograniczyć szczegółowy dostęp za pośrednictwem kontroli dostępu opartej na rolach platformy Azure, dzięki czemu tylko autoryzowane usługi i konta mogą uzyskiwać dostęp do kontenerów w rejestrze prywatnym.
- Użyj usługi Defender for Containers do oceny luk w zabezpieczeniach obrazów w prywatnym rejestrze Azure Container Registry. Ponadto możesz użyć usługi Microsoft Defender for Cloud do zintegrowania skanowania obrazów kontenerów w ramach przepływów pracy CI/CD.
W przypadku usług bezserwerowych Azure należy stosować podobne mechanizmy kontroli, aby mechanizmy zabezpieczeń były uwzględniane już na etapie przed wdrożeniem.
Implementacja platformy Azure i dodatkowy kontekst:
- Omówienie galerii obrazów udostępnionych
- Jak zaimplementować zalecenia dotyczące oceny luk w zabezpieczeniach w usłudze Microsoft Defender for Cloud
- Zagadnienia dotyczące zabezpieczeń kontenera platformy Azure
- Usługa Azure Defender dla rejestrów kontenerów
Wskazówki dotyczące platformy AWS: używanie usługi Amazon Elastic Container Registry do udostępniania i kontrolowania dostępu do obrazów przez różnych użytkowników i ról w organizacji. Użyj usługi AWS IAM, aby upewnić się, że tylko autoryzowani użytkownicy mogą uzyskiwać dostęp do obrazów niestandardowych.
Zdefiniuj bezpieczne konfiguracje bazowe dla obrazów EC2 AMI, aby wyeliminować niepotrzebne poświadczenia, uprawnienia i pakiety. Wdrażanie i wymuszanie bazowych konfiguracji poprzez niestandardowe obrazy AMI, szablony CloudFormation, czy też reguły AWS Config.
Użyj narzędzia AWS Inspector do skanowania luk w zabezpieczeniach środowisk maszyn wirtualnych i konteneryzowanych, zabezpieczając je przed złośliwym manipulowaniem.
W przypadku usług bezserwerowych AWS użyj usługi AWS CodePipeline w połączeniu z AWS AppConfig, aby wprowadzić podobne mechanizmy kontroli i zapewnić, że zabezpieczenia są stosowane wcześniej, na etapie przed wdrożeniem.
Implementacja platformy AWS i dodatkowy kontekst:
Wskazówki dotyczące platformy GCP: Usługa Google Cloud obejmuje mechanizmy kontroli w celu ochrony zasobów obliczeniowych i zasobów kontenera usługi Google Kubernetes Engine (GKE). Firma Google obejmuje maszynę wirtualną z osłoną, która wzmacnia zabezpieczenia wystąpień maszyn wirtualnych. Zapewnia zabezpieczenia rozruchu, monitoruje integralność i używa wirtualnego modułu zaufanej platformy (vTPM).
Funkcja Google Cloud Artifact Analysis umożliwia skanowanie luk w zabezpieczeniach kontenera lub obrazów systemu operacyjnego oraz innych typów artefaktów na żądanie lub automatycznie w potokach. Wykrywanie zagrożeń kontenera umożliwia ciągłe monitorowanie stanu obrazów węzłów systemu operacyjnego Container-Optimized. Usługa ocenia wszystkie zmiany i próby uzyskania dostępu zdalnego w celu wykrycia ataków podczas działania w czasie niemal rzeczywistym.
Użyj usługi Artifact Registry, aby skonfigurować bezpieczny magazyn artefaktów kompilacji prywatnej w celu zachowania kontroli nad tym, kto może uzyskiwać dostęp do artefaktów, wyświetlać lub pobierać artefakty z natywnymi rolami i uprawnieniami IAM rejestru oraz zapewnić spójny czas pracy w bezpiecznej i niezawodnej infrastrukturze firmy Google.
W przypadku usług bezserwerowych GCP należy stosować podobne mechanizmy kontroli w celu zapewnienia kontroli zabezpieczeń "shift-left" do etapu przed wdrożeniem.
Implementacja GCP i dodatkowy kontekst:
- Rejestr artefaktów
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
- Architektura zabezpieczeń
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):
- Zabezpieczenia aplikacji i metodyka DevSecOps
- zarządzanie postawą
- Architektura zabezpieczeń
DS-7: Włączanie rejestrowania i monitorowania w usłudze DevOps
Kontrolki CIS w wersji 8 | Identyfikatory NIST SP 800-53 r4 | identyfikatory PCI-DSS w wersji 3.2.1 |
---|---|---|
8.2, 8.5, 8.9, 8.11 | AU-3, AU-6, AU-12, SI-4 | 10.1, 10.2, 10.3, 10.6 |
Zasada bezpieczeństwa: Upewnij się, że zakres logowania i monitorowania obejmuje środowiska nieprodukcyjne oraz elementy przepływu pracy CI/CD używane w DevOps (i innych procesach programowania). Luki w zabezpieczeniach i zagrożenia przeznaczone dla tych środowisk mogą powodować poważne zagrożenia dla środowiska produkcyjnego, jeśli nie są one prawidłowo monitorowane. Zdarzenia z przepływu pracy CI/CD dotyczące budowania, testowania i wdrażania powinny być również monitorowane, aby zidentyfikować wszelkie odchylenia w zadaniach tego przepływu pracy.
Wskazówki dotyczące platformy Azure: Włączanie i konfigurowanie możliwości rejestrowania inspekcji w środowiskach narzędzi nieprodukcyjnych i ciągłej integracji/ciągłego wdrażania (takich jak Azure DevOps i GitHub) używanych w procesie DevOps.
Zdarzenia generowane przez usługę Azure DevOps i przepływ pracy CI/CD w usłudze GitHub, w tym zadania kompilacji, testowania i wdrażania, powinny być również monitorowane, aby zidentyfikować anomalie.
Wprowadź powyższe dzienniki i zdarzenia do Microsoft Sentinel lub innych narzędzi SIEM za pośrednictwem strumienia logowania lub interfejsu API w celu zapewnienia właściwego monitorowania i klasyfikacji incydentów bezpieczeństwa do obsługi.
Implementacja platformy Azure i dodatkowy kontekst:
Wskazówki dotyczące platformy AWS: Włączanie i konfigurowanie usługi AWS CloudTrail na potrzeby funkcji rejestrowania inspekcji w środowiskach narzędzi nieprodukcyjnych i ciągłej integracji/ciągłego wdrażania (takich jak AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar) używanych w całym procesie DevOps.
Zdarzenia generowane ze środowisk ciągłej integracji/ciągłego wdrażania platformy AWS (takie jak AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar) i przepływ pracy ciągłej integracji/ciągłego wdrażania w usłudze GitHub, w tym zadania kompilacji, testowania i wdrażania, powinny być również monitorowane w celu zidentyfikowania wszelkich nietypowych wyników.
Pozyskaj powyższe dzienniki i zdarzenia do usługi AWS CloudWatch, Microsoft Sentinel lub innych narzędzi SIEM za pośrednictwem strumienia rejestrowania lub interfejsu API, aby zapewnić prawidłowe monitorowanie i klasyfikację incydentów bezpieczeństwa do ich obsługi.
Implementacja platformy AWS i dodatkowy kontekst:
- Łączenie usługi Microsoft Sentinel z usługami Amazon Web Services w celu pozyskiwania danych dziennika usługi AWS
- Rejestrowanie w usłudze GitHub
Wskazówki dotyczące platformy GCP: Włącz i skonfiguruj funkcje rejestrowania audytu w środowiskach nieprodukcyjnych i w narzędziach CI/CD dla produktów, takich jak Cloud Build, Google Cloud Deploy, Artifact Registry i GitHub, które mogą być używane podczas całego procesu DevOps.
Zdarzenia generowane ze środowisk ciągłej integracji/ciągłego wdrażania GCP (takich jak Cloud Build, Google Cloud Deploy, Artifact Registry) i przepływ pracy ciągłej integracji/ciągłego wdrażania usługi GitHub, w tym zadania kompilacji, testowania i wdrażania, powinny być również monitorowane w celu zidentyfikowania wszelkich nietypowych wyników.
Zaimportowanie powyższych dzienników i zdarzeń do Microsoft Sentinel, Google Cloud Security Command Center, Chronicle lub innych narzędzi SIEM za pośrednictwem strumienia logów lub interfejsu API w celu zapewnienia prawidłowego monitorowania, klasyfikacji i priorytetyzacji zdarzeń zabezpieczeń w celu ich obsługi.
Implementacja GCP i dodatkowy kontekst:
- Polecane produkty do CI/CD
- Wprowadzenie do pakietu operacji usługi Google Cloud
- Najlepsze rozwiązania dotyczące rejestrowania w chmurze
- Importowanie danych z Google Cloud do Chronicle
Uczestnicy projektu zabezpieczeń klientów (dowiedz się więcej):