Stosowanie najlepszych rozwiązań dotyczących zabezpieczeń usługi Azure Storage
Sprawdziliśmy, jak utworzyć sygnaturę dostępu współdzielonego i pracować z nim oraz jakie korzyści może zapewnić Rozwiązanie zabezpieczeń magazynu.
Ważne jest, aby zrozumieć, że w przypadku korzystania z sygnatury dostępu współdzielonego w aplikacji mogą istnieć potencjalne zagrożenia.
W przypadku naruszenia zabezpieczeń sygnatury dostępu współdzielonego każdy, kto uzyskuje go, może uzyskać dostęp do magazynu.
Jeśli sygnatura dostępu współdzielonego dostarczona do aplikacji klienckiej wygaśnie, a aplikacja nie może pobrać nowej sygnatury dostępu współdzielonego z usługi, funkcjonalność aplikacji może być utrudniona.
Obejrzyj ten film wideo, aby uzyskać więcej pomysłów na temat zabezpieczania magazynu. Ten film wideo jest oparty na wskazówkach i wskazówkach dotyczących platformy Azure #272 Azure Security Best Practices.
Zalecenia dotyczące zarządzania ryzykiem
Przyjrzyjmy się niektórym rekomendacjom, które mogą pomóc w ograniczeniu ryzyka podczas pracy z sygnaturą dostępu współdzielonego.
Zalecenie | opis |
---|---|
Zawsze używaj protokołu HTTPS do tworzenia i dystrybucji | Jeśli sygnatura dostępu współdzielonego jest przekazywana przez protokół HTTP i przechwycona, osoba atakująca może przechwycić sygnaturę dostępu współdzielonego i użyć jej. Te ataki typu man-in-the-middle mogą naruszyć bezpieczeństwo poufnych danych lub umożliwić uszkodzenie danych przez złośliwego użytkownika. |
Odwołuj się do przechowywanych zasad dostępu tam, gdzie to możliwe | Zapisane zasady dostępu umożliwiają odwoływanie uprawnień bez konieczności ponownego generowania kluczy konta usługi Azure Storage. Ustaw datę wygaśnięcia klucza konta magazynu daleko w przyszłości. |
Ustawianie czasu wygaśnięcia bliskiego okresu dla nieplanowanej sygnatury dostępu współdzielonego | W przypadku naruszenia zabezpieczeń sygnatury dostępu współdzielonego można ograniczyć ataki, ograniczając ważność sygnatury dostępu współdzielonego do krótkiego czasu. Ta praktyka jest ważna, jeśli nie można odwołać się do przechowywanych zasad dostępu. Niemalterminowe czasy wygaśnięcia ograniczają również ilość danych, które można zapisywać w obiekcie blob, ograniczając czas dostępny do przekazania do niego. |
Wymagaj, aby klienci automatycznie odnawiali sygnaturę dostępu współdzielonego | Wymagaj od klientów odnowienia sygnatury dostępu współdzielonego przed datą wygaśnięcia. Przez wcześniejsze odnawianie pozwalasz na ponawianie prób, jeśli usługa dostarczająca sygnaturę dostępu współdzielonego jest niedostępna. |
Starannie zaplanuj czas rozpoczęcia sygnatury dostępu współdzielonego | Jeśli ustawisz czas rozpoczęcia sygnatury dostępu współdzielonego na teraz, to ze względu na niesymetryczność zegara (różnice w bieżącym czasie zgodnie z różnymi maszynami), błędy mogą być obserwowane sporadycznie przez pierwsze kilka minut. Ogólnie rzecz biorąc, ustaw godzinę rozpoczęcia na co najmniej 15 minut w przeszłości. Lub nie ustawiaj określonego czasu rozpoczęcia, co powoduje, że sygnatura dostępu współdzielonego jest prawidłowa natychmiast we wszystkich przypadkach. Te same warunki mają zwykle zastosowanie do czasu wygaśnięcia. W dowolnym kierunku może wystąpić do 15 minut niesymetryczności zegara. W przypadku klientów korzystających z interfejsu API REST w wersji starszej niż 2012-02-12 maksymalny czas trwania sygnatury dostępu współdzielonego, który nie odwołuje się do przechowywanych zasad dostępu wynosi 1 godzinę. Wszystkie zasady, które określają dłuższy okres, kończą się niepowodzeniem. |
Definiowanie minimalnych uprawnień dostępu dla zasobów | Najlepszym rozwiązaniem w zakresie zabezpieczeń jest zapewnienie użytkownikowi minimalnych wymaganych uprawnień. Jeśli użytkownik potrzebuje tylko dostępu do odczytu do pojedynczej jednostki, przyznaj im dostęp do odczytu do tej pojedynczej jednostki, a nie do odczytu/zapisu/usuwania do wszystkich jednostek. Takie rozwiązanie pomaga również zmniejszyć szkody w przypadku naruszenia zabezpieczeń sygnatury dostępu współdzielonego, ponieważ sygnatura dostępu współdzielonego ma mniejszą moc w rękach osoby atakującej. |
Omówienie rozliczeń konta dla użycia, w tym sygnatury dostępu współdzielonego | Podaj ograniczone uprawnienia, aby pomóc w ograniczeniu potencjalnych działań złośliwych użytkowników. Uprawnienia do odczytu i zapisu mogą powodować opłaty za rozliczenia. Użyj krótkotrwałej sygnatury dostępu współdzielonego, aby zmniejszyć to zagrożenie. |
Weryfikowanie danych zapisanych przy użyciu sygnatury dostępu współdzielonego | Gdy aplikacja kliencka zapisuje dane na koncie usługi Azure Storage, pamiętaj, że mogą występować problemy z danymi. Jeśli aplikacja wymaga zweryfikowanych lub autoryzowanych danych, zweryfikuj dane po zapisaniu, ale przed ich użyciem. Ta praktyka chroni również przed złośliwymi lub uszkodzonymi danymi zapisanymi na Twoim koncie przez użytkownika, który prawidłowo nabył sygnaturę dostępu współdzielonego lub przez użytkownika wykorzystującego wyciek sygnatury dostępu współdzielonego. |
Nie zakładaj, że sygnatura dostępu współdzielonego jest zawsze właściwym wyborem | W niektórych scenariuszach ryzyko związane z konkretną operacją na koncie usługi Azure Storage przewyższa korzyści wynikające z używania sygnatury dostępu współdzielonego. W przypadku takich operacji utwórz usługę warstwy środkowej, która zapisuje na koncie magazynu po przeprowadzeniu weryfikacji, uwierzytelniania i inspekcji reguł biznesowych. Ponadto czasami łatwiej jest zarządzać dostępem w inny sposób. Jeśli chcesz, aby wszystkie obiekty blob w kontenerze mogły być publicznie czytelne, możesz ustawić kontener jako publiczny, zamiast dostarczać sygnaturę dostępu współdzielonego dla każdego klienta w celu uzyskania dostępu. |
Monitorowanie aplikacji za pomocą usługi Azure analityka magazynu | Rejestrowanie i metryki umożliwiają obserwowanie dowolnego wzrostu liczby niepowodzeń uwierzytelniania. Mogą wystąpić skoki awarii w usłudze dostawcy sygnatury dostępu współdzielonego lub niezamierzone usunięcie przechowywanych zasad dostępu. |