Najlepsze rozwiązania dotyczące ochrony wpisów tajnych
Ten artykuł zawiera wskazówki dotyczące ochrony wpisów tajnych i zmniejszenia ryzyka nieautoryzowanego dostępu. Postępuj zgodnie z poniższymi wskazówkami, aby upewnić się, że nie przechowujesz poufnych informacji, takich jak poświadczenia w kodzie, repozytoria GitHub, dzienniki, potoki ciągłej integracji/ciągłego wdrażania (CI/CD) itd. Wskazówki zawarte w tym artykule zostały skompilowane na podstawie zaleceń dotyczących poszczególnych usług, a także z testu porównawczego zabezpieczeń w chmurze firmy Microsoft (MCSB).
Ogólne sprawdzone metody postępowania
W dzisiejszym środowisku cyfrowym najważniejsze jest zabezpieczenie poufnych informacji, takich jak poświadczenia aplikacji i wpisy tajne. Naruszenie może prowadzić do poważnych konsekwencji, w tym utraty danych, kar finansowych i uszkodzenia reputacji. Wdrożenie kompleksowej strategii zarządzania wpisami tajnymi jest niezbędne do łagodzenia tych zagrożeń.
Przeprowadzanie inspekcji w celu identyfikowania wpisów tajnych
Zanim będzie można zabezpieczyć wpisy tajne, musisz wiedzieć, gdzie są. Przeprowadzenie dokładnej inspekcji systemów i aplikacji pomaga zidentyfikować wszystkie poufne informacje, które wymagają ochrony. Obejmuje to hasła, klucze interfejsu API, parametry połączenia i inne poświadczenia. Regularne inspekcje zapewniają, że nowe wpisy tajne są uwzględniane, a istniejące są prawidłowo zarządzane.
Należy pamiętać, że nawet dynamicznie tworzone wpisy tajne, takie jak tokeny OAuth, które mogą być tymczasowe, nadal muszą być chronione za pomocą tego samego rygoru co długoterminowe wpisy tajne.
Unikaj twardych wpisów tajnych
Osadzanie wpisów tajnych bezpośrednio w kodzie lub plikach konfiguracji jest istotnym zagrożeniem bezpieczeństwa. Jeśli baza kodu zostanie naruszona, są to wpisy tajne. Zamiast tego należy używać zmiennych środowiskowych lub narzędzi do zarządzania konfiguracją, które przechowują wpisy tajne poza kodem źródłowym. Ta praktyka minimalizuje ryzyko przypadkowego ujawnienia i upraszcza proces aktualizowania wpisów tajnych.
Ponadto zintegrowanie pobierania wpisu tajnego z zautomatyzowanym potokiem wdrażania i używanie wzorców iniekcji wpisów tajnych może uniemożliwić przypadkowe uwidocznienie wpisów tajnych w dziennikach lub kontroli wersji, co dodatkowo zwiększa bezpieczeństwo procesu wdrażania.
Zobacz Zalecenia dotyczące ochrony wpisów tajnych aplikacji
Korzystanie z bezpiecznych magazynów kluczy
Wykorzystanie bezpiecznych magazynów kluczy gwarantuje, że wpisy tajne są przechowywane w bezpiecznej, zaszyfrowanej lokalizacji. Usługi takie jak Azure Key Vault i Azure Managed HSM zapewniają niezawodne funkcje zabezpieczeń, w tym kontrolę dostępu, rejestrowanie i automatyczną rotację. Takie podejście umożliwia scentralizowanie zarządzania wpisami tajnymi i zmniejsza ryzyko nieautoryzowanego dostępu.
Aby zapewnić jeszcze większe bezpieczeństwo, szczególnie w przypadku wysoce poufnych lub krytycznych wpisów tajnych, należy rozważyć szyfrowanie wpisu tajnego za pomocą magazynów kluczy w modelu zabezpieczeń sprzętowych (HSM), które oferują rozszerzoną ochronę w porównaniu z magazynami wpisów tajnych opartych na oprogramowaniu. Aby zapoznać się z omówieniem wszystkich ofert zarządzania kluczami na platformie Azure i wskazówek, które należy wybrać, zobacz Zarządzanie kluczami na platformie Azure i Jak wybrać odpowiednie rozwiązanie do zarządzania kluczami.
Implementowanie narzędzi do skanowania wpisów tajnych
Regularne skanowanie bazy kodu pod kątem osadzonych wpisów tajnych może zapobiec przypadkowemu narażeniu. Narzędzia, takie jak skaner poświadczeń usługi Azure DevOps i funkcja skanowania wpisów tajnych usługi GitHub, mogą automatycznie wykrywać i powiadamiać o wszelkich wpisach tajnych znalezionych w repozytoriach. Zintegrowanie tych narzędzi z potokiem ciągłej integracji/ciągłego wdrażania zapewnia ciągłe monitorowanie. Kluczowe znaczenie ma traktowanie wszelkich wpisów tajnych znalezionych przez te narzędzia skanujące jako naruszone, co oznacza, że należy je natychmiast odwołać i zastąpić, aby zachować integralność stanu zabezpieczeń.
Korzystanie z tożsamości zarządzanych
Tożsamości zarządzane na platformie Azure zapewniają bezpieczny sposób uwierzytelniania aplikacji w usługach platformy Azure bez przechowywania poświadczeń w kodzie. Włączenie tożsamości zarządzanych dla zasobów platformy Azure umożliwia bezpieczny dostęp do usługi Azure Key Vault i innych usług, co zmniejsza konieczność ręcznego obsługi wpisów tajnych. Takie podejście nie tylko minimalizuje tworzenie wpisów tajnych, ale także zmniejsza obszar powierzchni pod kątem potencjalnych naruszeń, ponieważ odpowiedzialność za zarządzanie poświadczeniami jest delegowana do platformy.
Stosowanie szczegółowej kontroli dostępu
Przestrzegaj zasady najniższych uprawnień, stosując szczegółową kontrolę dostępu do wpisów tajnych. Użyj kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby upewnić się, że tylko autoryzowane jednostki mają dostęp do określonych wpisów tajnych. Regularne przeglądanie i aktualizowanie uprawnień dostępu w celu zapobiegania nieautoryzowanemu dostępowi. Zaleca się również zaimplementowanie odrębnych ról, takich jak użytkownik, administrator i audytor, aby zarządzać dostępem do wpisów tajnych, zapewniając, że tylko zaufane tożsamości mają odpowiedni poziom uprawnień.
Zobacz przewodnik RBAC usługi Azure Key Vault.
Regularne obracanie wpisów tajnych
Tajemnice są podatne na wycieki lub ekspozycję w czasie. Regularne obracanie wpisów tajnych zmniejsza ryzyko nieautoryzowanego dostępu. W usłudze Azure Key Vault można wymieniać wpisy tajne dla niektórych wpisów tajnych. W przypadku tych, które nie mogą być automatycznie obracane, ustanów proces ręcznego rotacji i upewnij się, że są one czyszczone, gdy nie są już używane.
Automatyzacja procesu rotacji wpisów tajnych i tworzenie nadmiarowości w zarządzaniu wpisami tajnymi może zapewnić, że rotacja nie zakłóca dostępności usługi. Implementowanie logiki ponawiania prób i współbieżnych wzorców dostępu w kodzie może pomóc zminimalizować problemy podczas okna rotacji.
Monitorowanie i rejestrowanie dostępu
Włącz rejestrowanie i monitorowanie systemu zarządzania wpisami tajnymi w celu śledzenia dostępu i użycia. Rejestrowanie i/lub usługi usługi Key Vault , takie jak Azure Monitor i Azure Event Grid, umożliwiają monitorowanie wszystkich działań związanych z wpisami tajnymi. Zapewnia to wgląd w to, kto uzyskiwał dostęp do wpisów tajnych i pomaga wykrywać wszelkie podejrzane zachowania lub potencjalne zdarzenia zabezpieczeń. Utrzymywanie szczegółowych dzienników inspekcji ma kluczowe znaczenie dla inspekcji i weryfikacji dostępu do wpisów tajnych, co może pomóc zapobiec kradzieży tożsamości, uniknąć odrzucenia i zmniejszyć niepotrzebne narażenie.
Implementowanie izolacji sieci
Zmniejsz narażenie wpisów tajnych, implementując izolację sieci. Skonfiguruj zapory i sieciowe grupy zabezpieczeń, aby ograniczyć dostęp do magazynów kluczy. Zezwalaj tylko zaufanym aplikacjom i usługom na dostęp do wpisów tajnych, minimalizując obszar ataków i uniemożliwiając nieautoryzowany dostęp. Ponadto rozważ użycie wielu magazynów kluczy w celu utworzenia granic izolacji dla różnych składników, zapewniając, że w przypadku naruszenia zabezpieczeń jednego składnika nie może przejąć kontroli nad innymi wpisami tajnymi lub całym obciążeniem.
Szyfrowanie wpisów tajnych magazynowanych i przesyłanych
Upewnij się, że wpisy tajne są szyfrowane zarówno w spoczynku, jak i podczas przesyłania. Usługa Azure Key Vault bezpiecznie przechowuje wpisy tajne przy użyciu szyfrowania kopert, gdzie klucze szyfrowania danych (DEK) są szyfrowane za pomocą kluczy szyfrowania kluczy (KEKs), zapewniając dodatkową warstwę zabezpieczeń. Takie podejście zwiększa ochronę przed nieautoryzowanym dostępem. Ponadto używaj bezpiecznych protokołów komunikacyjnych, takich jak HTTPS, aby szyfrować dane przesyłane między aplikacjami a magazynem kluczy, zapewniając ochronę wpisów tajnych zarówno podczas przechowywania, jak i przesyłania.
Na platformie Azure szyfrowanie magazynowane jest implementowane w różnych usługach przy użyciu szyfrowania AES 256, podczas gdy dane przesyłane są zabezpieczone za pośrednictwem protokołów TLS i MACsec, aby zapobiec nieautoryzowanemu dostępowi podczas transmisji. Te praktyki szyfrowania zapewniają kompleksową ochronę danych, zarówno przechowywanych, jak i przesyłanych między systemami. Aby uzyskać więcej informacji, zobacz Szyfrowanie magazynowane i przesyłane.
Bezpieczny rozkład wpisów tajnych
Podczas dystrybucji wpisów tajnych upewnij się, że są one bezpiecznie udostępniane w organizacji i poza organizacją. Użyj narzędzi zaprojektowanych do bezpiecznego udostępniania i dołącz procedury odzyskiwania wpisów tajnych w planach odzyskiwania po awarii. Jeśli klucz zostanie naruszony lub wycieknie, należy go wygenerować natychmiast. Aby dodatkowo zwiększyć bezpieczeństwo, należy użyć odrębnych kluczy dla każdego odbiorcy, a nie udostępniania kluczy, nawet jeśli mają podobne wzorce dostępu. Ta praktyka upraszcza zarządzanie kluczami i odwoływanie, zapewniając, że naruszone klucze można odwołać bez wpływu na innych użytkowników.
Najlepsze rozwiązania specyficzne dla usługi
Poszczególne usługi mogą mieć dodatkowe najlepsze rozwiązania i wskazówki dotyczące ochrony wpisów tajnych. Oto kilka przykładów:
- USŁUGA API Management: używanie nazwanych wartości w zasadach usługi Azure API Management z integracją z usługą Key Vault
- App Service: używanie odwołań usługi Key Vault dla usług App Service i Azure Functions
- Application Gateway: konfigurowanie usługi Application Gateway z kończeniem szyfrowania TLS przy użyciu witryny Azure Portal
- Automatyzacja: zarządzanie poświadczeniami w usłudze Azure Automation
- konfiguracja aplikacja systemu Azure: Samouczek: używanie odwołań usługi Key Vault w aplikacji ASP.NET Core
- Azure Bot Service: szyfrowanie usługi Azure Bot Service dla danych magazynowanych
- Azure Center for SAP solutions: Azure Center for SAP Solutions — Deployment — Prepare network for deployment (Centrum platformy Azure dla rozwiązań SAP — wdrażanie — przygotowywanie sieci do wdrożenia)
- Azure Communications Gateway: tworzenie i przechowywanie wpisów tajnych
- Azure Communications Service: tworzenie tokenów dostępu i zarządzanie nimi
- Azure Database for PostgreSQL — serwer elastyczny: Azure Database for PostgreSQL — elastyczne szyfrowanie danych serwera przy użyciu klucza zarządzanego przez klienta
- Azure Databricks: integracja usługi Key Vault w usłudze Databricks
- Azure DevTest Labs: włączanie tożsamości zarządzanych przypisanych przez użytkownika na maszynach wirtualnych laboratorium w usłudze Azure DevTest Labs
- Azure Front Door: Wpisy tajne usługi Azure Front Door
- Usługa Azure HDInsight w usłudze AKS: wymagania wstępne dotyczące zasobów — tworzenie usługi Azure Key Vault
- Azure Information Protection: szczegóły dotyczące obsługi usługi Azure Information Protection Key Vault
- Azure Kubernetes Service (AKS): magazyn wpisów tajnych CSI
- Aplikacje zarządzane platformy Azure: uzyskiwanie dostępu do wpisu tajnego usługi Key Vault podczas wdrażania aplikacji zarządzanych platformy Azure
- Azure OpenAI: tworzenie aplikacji usług sztucznej inteligencji platformy Azure za pomocą usługi Key Vault
- Azure Pipelines: ochrona wpisów tajnych w usłudze Azure Pipelines
- Azure Purview: poświadczenia do uwierzytelniania źródłowego w usłudze Microsoft Purview
- Azure SignalR Service: dokumentacja wpisów tajnych usługi Key Vault w ustawieniach szablonu adresu URL
- Azure Service Bus: uwierzytelnianie i autoryzacja aplikacji przy użyciu identyfikatora Entra firmy Microsoft w celu uzyskania dostępu do jednostek usługi Azure Service Bus
- Azure Stack Edge: zarządzanie wpisami tajnymi usługi Azure Stack Edge przy użyciu usługi Azure Key Vault
- Azure Stack Hub: obracanie wpisów tajnych
- Azure Web PubSub: Dodawanie certyfikatu niestandardowego
- Kopia zapasowa: konfigurowanie magazynu do szyfrowania przy użyciu kluczy zarządzanych przez klienta
- Cognitive Services: tworzenie aplikacji usług Azure Cognitive Services za pomocą usługi Key Vault
- Data Factory: przechowywanie poświadczeń w usłudze Azure Key Vault
- ExpressRoute: konfigurowanie szyfrowania MACsec dla usługi ExpressRoute Direct.
- Funkcje: używanie odwołań usługi Key Vault dla usług App Service i Azure Functions
- Key Vault: informacje o wpisach tajnych usługi Azure Key Vault
- Logic Apps: Ustawienia aplikacji usługi Logic Apps w warstwie Standardowa
- Machine Learning Service: używanie wpisów tajnych poświadczeń uwierzytelniania w zadaniach usługi Azure Machine Learning
- SQL IaaS: konfigurowanie integracji usługi Azure Key Vault dla programu SQL Server na maszynach wirtualnych platformy Azure (Resource Manager)
- Magazyn: zarządzanie kluczami konta magazynu za pomocą usługi Key Vault i interfejsu wiersza polecenia platformy Azure
Następne kroki
Minimalizacja ryzyka bezpieczeństwa jest wspólną odpowiedzialnością. Należy aktywnie podejmować kroki w celu zabezpieczenia obciążeń. Dowiedz się więcej o wspólnej odpowiedzialności w chmurze.
Zobacz Najlepsze rozwiązania i wzorce zabezpieczeń platformy Azure, aby uzyskać więcej najlepszych rozwiązań dotyczących zabezpieczeń, które należy stosować podczas projektowania, wdrażania i zarządzania rozwiązaniami w chmurze przy użyciu platformy Azure.