Blokowanie dostępu publicznego i zasady bucketów
Zapobiegną Państwo przypadkowemu publicznemu ujawnieniu obiektów S3.
Blokowanie dostępu publicznego i zasady bucketów to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Najczęstsze naruszenie bezpieczeństwa
Wyciek danych z nieprawidłowo skonfigurowanego wiadra S3 (Simple Storage Service) jest jednym z najczęstszych naruszeń bezpieczeństwa w chmurze. Jedno błędne ustawienie może ujawnić miliony obiektów całemu internetowi.
Usługa S3 jest domyślnie prywatna, ale warstwy uprawnień mogą przypadkowo ją otworzyć. Zrozumienie tych warstw jest niezbędną wiedzą z zakresu bezpieczeństwa.
Warstwy dostępu do S3
Dostęp do obiektu S3 można przyznać za pomocą kilku mechanizmów:
- zasad IAM dotyczących użytkowników i ról.
- zasad wiadra przypisanych do wiadra.
- list ACL (list kontroli dostępu) dotyczących wiader i obiektów.
- ustawień Block Public Access, które mają pierwszeństwo przed pozostałymi mechanizmami.
Publiczne ujawnienie danych zwykle wynika z błędnej zasady wiadra lub listy ACL.
Block Public Access
S3 Block Public Access (BPA) to główny przełącznik bezpieczeństwa. Po włączeniu zastępuje każdą zasadę wiadra lub listę ACL, która przyznawałaby dostęp publiczny, niezależnie od ich treści.
Firma AWS włącza obecnie BPA domyślnie dla nowych wiader. Należy pozostawić tę funkcję włączoną na poziomie konta, aby pojedyncza błędnie skonfigurowana zasada nigdy nie mogła publicznie ujawnić danych.
Jak działa BPA
BPA ma cztery niezależne ustawienia, które blokują publiczne listy ACL, ignorują istniejące publiczne listy ACL, blokują publiczne zasady wiader oraz ograniczają publiczny dostęp za pośrednictwem dowolnego punktu dostępu.
Razem tworzą one twardą granicę: nawet jeśli ktoś napisze zasadę przyznającą publiczny odczyt, BPA go odrzuci. Jest to najsilniejsze zabezpieczenie przed przypadkowym ujawnieniem danych.
Zasady wiadra
Zasada wiadra to zasada JSON oparta na zasobie, przypisana do wiadra. Określa, kto (podmiot) może wykonywać jakie działania na jakich obiektach i pod jakimi warunkami.
Zasady wiadra są przydatne przy dostępie między kontami i precyzyjnej kontroli, ale nieostrożne użycie Principal o wartości "*" przyznaje dostęp całemu światu. Należy dokładnie je przeglądać.
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}Niebezpieczny symbol wieloznaczny
Przed chwilą pokazany fragment kodu dokładnie ilustruje, jak wygląda wyciek danych: Principal "*" wraz z s3:GetObject przyznaje każdemu anonimowemu użytkownikowi dostęp do odczytu wszystkich obiektów.
Jeśli nie hostują Państwo celowo publicznych treści, jest to błędna konfiguracja. Block Public Access zastąpiłby tę zasadę, dlatego BPA stanowi siatkę bezpieczeństwa.
Wymuszanie szyfrowania za pomocą zasady
Zasady wiadra nie tylko przyznają dostęp; mogą również wymagać spełnienia warunków bezpieczeństwa. Typowy schemat odrzuca każde przesłanie, które nie jest zaszyfrowane lub nie odbywa się przez TLS.
Użycie Deny wraz z warunkiem dotyczącym aws:SecureTransport lub s3:x-amz-server-side-encryption wymusza bezpieczne przetwarzanie danych przy każdym zapisie.
Ograniczanie za pomocą warunku
Warunki zaostrzają zasady, uzależniając je od kontekstu: można zezwolić na dostęp wyłącznie z określonego punktu końcowego VPC, znanego zakresu adresów IP lub organizacji z identyfikatorem aws:PrincipalOrgID.
Te klucze warunków pozwalają przyznać dokładnie taki dostęp, jakiego potrzebuje obciążenie, i nic ponadto, ograniczając zasięg szkód w przypadku niewłaściwego użycia danych uwierzytelniających.
Audyt ekspozycji
Narzędzia pomagają znaleźć zagrożenia, zanim zrobią to atakujący. IAM Access Analyzer oznacza zasobniki udostępnione poza Państwa kontem, a konsola S3 pokazuje przy każdym zasobniku wskaźnik publicznego lub niepublicznego dostępu.
Reguły AWS Config i Security Hub mogą stale sprawdzać, czy funkcja Block Public Access pozostaje włączona dla wszystkich zasobników.
Wymuszanie na poziomie konta
Należy zastosować Block Public Access na poziomie konta, a nie tylko dla poszczególnych zasobników, aby ustawienie automatycznie obejmowało wszystkie istniejące i przyszłe zasobniki.
Wymuszanie na poziomie całego konta eliminuje ryzyko, że nowo utworzony zasobnik pozostanie niechroniony. Należy użyć AWS Config i SCP, aby zagwarantować, że nikt nie wyłączy tego ustawienia, dzięki czemu publiczne ujawnienie danych stanie się niemożliwe z założenia.
Obrona warstwowa
Żaden pojedynczy mechanizm kontroli nie wystarczy. Należy połączyć Block Public Access na poziomie konta, zasady najmniejszych uprawnień dla zasobników, domyślne szyfrowanie i ciągły audyt.
Jeśli jedna warstwa zostanie skonfigurowana nieprawidłowo, pozostałe nadal będą chronić dane. Warstwowe zabezpieczenia sprawiają, że S3 przestaje być częstym źródłem wycieków i staje się niezawodnie prywatnym miejscem przechowywania danych.
Szybkie sprawdzenie
Proszę znaleźć najsilniejsze zabezpieczenie.
Podsumowanie
Nieprawidłowa konfiguracja S3 jest jedną z głównych przyczyn wycieków. Dostęp jest kontrolowany warstwowo za pomocą IAM, zasad zasobnika, list ACL i głównego przełącznika Block Public Access — który nadpisuje każde publiczne uprawnienie i powinien pozostawać włączony na poziomie całego konta. Zasada z Principal "*" prowadzi do wycieku danych; zamiast tego należy używać warunków wymuszających TLS, szyfrowanie i ograniczony zakres dostępu. Należy stale przeprowadzać audyt za pomocą Access Analyzer, Config i Security Hub oraz stosować obronę warstwową, aby pojedynczy błąd nie ujawnił obiektów.
Ucz się Cloud & IT Cert Prep dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 150
- Lekcje
- 600
Często zadawane pytania
Czy lekcja „Blokowanie dostępu publicznego i zasady bucketów” jest bezpłatna?
Tak — pełny tekst „Blokowanie dostępu publicznego i zasady bucketów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Co nauczysz się w „Blokowanie dostępu publicznego i zasady bucketów”?
Zapobiegną Państwo przypadkowemu publicznemu ujawnieniu obiektów S3. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Blokowanie dostępu publicznego i zasady bucketów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Blokowanie dostępu publicznego i zasady bucketów
- Punkty dostępu i własność obiektów
- Wykrywanie danych wrażliwych za pomocą Amazon Macie
- Cykl życia danych i bezpieczne usuwanie