Udostępnij za pośrednictwem


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:

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.