Najlepsze praktyki w zakresie zabezpieczeń platformy Azure dotyczące DevOps i ciągłej integracji/ciągłego wdrażania (CI/CD)

Wprowadzenie

DevOps i CI/CD pomagają poprawić szybkość, jakość i niezawodność dostarczania oprogramowania; jednak praktyki te wprowadzają również nowe zagrożenia bezpieczeństwa. W tym artykule omówiono niektóre najlepsze rozwiązania w zakresie zabezpieczeń platformy Azure dla DevOps i CI/CD, które mogą pomóc w zabezpieczeniu środowiska Azure DevOps i ochronie aplikacji przed atakami.

Ciągłe testowanie

Oprócz dostarczania kodu, CI/CD umożliwia również stosowanie testów z przesunięciem w lewo i opracowanie strategii ciągłego testowania. Uczynienie testowania niezbędnym krokiem w Twojej pracy pozwala znaleźć sposoby weryfikacji bezpieczeństwa przed użyciem potoków CI/CD do wdrażania wersji w środowiskach.

Ogranicz uprawnienia dostępu

Nadawaj użytkownikom i aplikacjom tylko minimalne uprawnienia dostępu, których potrzebują do wykonywania swoich zadań. Przywracanie uprawnień obejmuje ukrywanie kluczy API i jasne definiowanie poświadczeń bezpieczeństwa w oparciu o role i projekty w narzędziach CI/CD. Korzystanie z kontroli dostępu opartej na rolach (RBAC) może w tym pomóc, ponieważ jest to zaawansowane narzędzie, które pozwala kontrolować, kto ma dostęp do czego w usłudze Azure DevOps. Pomoże to uprościć procesy i zmniejszyć ryzyko nieautoryzowanego dostępu do zasobów usługi Azure DevOps. 

Zabezpiecz swoją sieć

Obejmuje to utworzenie listy dozwolonych w celu ograniczenia określonych adresów IP, zawsze przy użyciu szyfrowania i sprawdzania poprawności certyfikatów. Powinieneś także wdrożyć a zapora sieciowa (WAF) do filtrowania, monitorowania i blokowania wszelkiego złośliwego ruchu internetowego do i z usługi Azure DevOps. Bardzo ważne jest również wdrożenie tzw Proces zarządzania incydentami.

Zabezpiecz swoje poświadczenia wdrożenia

Zakodowane na stałe poświadczenia i wpisy tajne nie powinny znajdować się w potokach ani repozytoriach źródłowych. Zamiast tego należy przechowywać je w bezpiecznym miejscu, takim jak Azure Key Vault. Ponadto potoki powinny być obsługiwane przy użyciu bezgłowych podmiotów zabezpieczeń, takich jak tożsamości zarządzane lub jednostki usługi, a nie z własnym hasłem.

Wnioski

Podsumowując, przestrzeganie najlepszych praktyk opisanych w tym artykule pozwoli na bezpieczne dostarczanie oprogramowania na wczesnym etapie i w sposób ciągły. W ten sposób możesz lepiej zabezpieczyć swoje środowisko Azure DevOps.