W tym artykule dowiesz się, jak zabezpieczyć aplikacje internetowe za pomocą WAF, a następnie praktyczną demonstrację. Poniższe wskazówki zostaną omówione w tym artykule,
A więc zacznijmy,
Przechodząc dalej do artykułu „Jak zabezpieczyć aplikację internetową za pomocą AWS WAF?”
Pierwsze kroki z podstawami
AWS świadczy usługi takie jak EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) w celu szybkiego tworzenia przydatnych i fantazyjnych aplikacji przy niższych nakładach inwestycyjnych (CAPital EXpenditure). Podczas tworzenia tych aplikacji równie ważne jest zabezpieczenie aplikacji i ochrona danych. Jeśli nie zostaną odpowiednio zabezpieczone, dane aplikacji mogą dostać się w niepowołane ręce, tak jak w przypadku ostatniego Incydent w Capital One .
c ++ przejdź do
Capital One hostował aplikację internetową na EC2 i nie była ona odpowiednio zabezpieczona. Były pracownik AWS był w stanie wykorzystać tę lukę i pobrać mnóstwo danych klientów z S3. Później okazało się, że dane z 30 innych organizacji również zostały pobrane z AWS. Tak więc, aby to jeszcze raz podkreślić, nie wystarczy tylko zaprojektować i zaprojektować aplikację, ale równie ważne jest jej zabezpieczenie.
Używany Capital One AWS WAF (zapora aplikacji internetowej) aby chronić aplikację internetową, ale nie została ona poprawnie skonfigurowana, przez co hakerowi udało się uzyskać dostęp do danych w S3 i je pobrać. W tym artykule dowiemy się, jak używać i konfigurować AWS WAF do ochrony przed typowymi atakami internetowymi, takimi jak SQL Injection, XSS (Cross Site Scripting) itp. AWS WAF musi być skonfigurowany wraz z Moduł równoważenia obciążenia aplikacji , CloudFront lub API Gateway. W tym scenariuszu użyjemy modułu równoważenia obciążenia aplikacji. Każde żądanie klienta za pośrednictwem przeglądarki przejdzie przez AWS WAF, a następnie do modułu równoważenia obciążenia aplikacji, a na końcu do aplikacji internetowej na EC2. AWS WAF może być używany do zablokować złośliwe żądanie od hakerów przy użyciu zestawu reguł i warunków.
Przechodząc dalej do artykułu „Jak zabezpieczyć aplikację internetową za pomocą AWS WAF?”
Sekwencja kroków, aby rozpocząć korzystanie z AWS WAF
Krok 1: Stworzenie podatnej aplikacji internetowej,
Pierwszym krokiem jest utworzenie aplikacji internetowej, która jest podatna na ataki SSRF (Server Side Request Forgery), jak wspomniano w tym Blog o tym, jak doszło do ataku Capital One. Ten blog zawiera sekwencję kroków, aby:
- Utwórz EC2
- Zainstaluj wymagane oprogramowanie, aby utworzyć aplikację internetową z luką SSRF
- Utwórz rolę i IAM z uprawnieniami S3 tylko do odczytu
- Dołącz rolę IAM do EC2
- Wreszcie, wykorzystaj lukę SSRF, aby uzyskać poświadczenia bezpieczeństwa związane z rolą IAM.
Po wykonaniu sekwencji kroków na wspomnianym blogu, zamień 5.6.7.8 na publiczny adres IP EC2 w poniższym adresie URL i otwórz go w przeglądarce. Poświadczenia bezpieczeństwa powiązane z rolą IAM powinny zostać wyświetlone w przeglądarce, jak pokazano poniżej. W ten sposób włamano się do Capital One. Mając w ręku poświadczenia bezpieczeństwa, haker mógł uzyskać dostęp do innych usług AWS, takich jak S3, w celu pobrania danych.
http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Krok 2: Tworzenie modułu równoważenia obciążenia aplikacji
AWS WAF nie może być bezpośrednio powiązany z aplikacją internetową. Ale można go skojarzyć tylko z modułem Application Load Balancer, CloudFront i API Gateway. W tym samouczku utworzymy plik Application Load Balancer i kojarzenie AWS WAF z tym samym.
Krok 2a: Grupa docelowa to zbiór wystąpień EC2 i należy ją utworzyć przed utworzeniem modułu równoważenia obciążenia aplikacji. W konsoli zarządzania EC2 kliknij grupę docelową w lewym okienku i kliknij „Utwórz grupę docelową”.
Krok 2b: Wprowadź nazwę grupy docelowej i kliknij „Utwórz”. Grupa docelowa zostanie pomyślnie utworzona.
Krok 2c: Upewnij się, że wybrana jest Grupa docelowa i kliknij kartę Cele, a następnie kliknij edytuj, aby zarejestrować instancje EC2 w grupie docelowej.
Krok 2d: Wybierz instancję EC2 i kliknij „Dodaj do zarejestrowanej” i kliknij „Zapisz”.
Instancje należy zarejestrować, jak pokazano poniżej, dla grupy docelowej.
Krok 2e: Czas na utworzenie modułu równoważenia obciążenia aplikacji. Kliknij Load Balancer w lewym okienku konsoli EC2 Management Console i kliknij „Create Load Balancer”.
Kliknij „Utwórz” dla „Systemu równoważenia obciążenia aplikacji”.
Przechodząc dalej do artykułu „Jak zabezpieczyć aplikację internetową za pomocą AWS WAF?”
Krok 2f: Wprowadź nazwę modułu równoważenia obciążenia aplikacji. Upewnij się, że wszystkie Strefy dostępności są zaznaczone i kliknij Dalej.
Krok 2g: W „Konfiguruj ustawienia zabezpieczeń” kliknij Dalej.
W „Konfiguruj grupy zabezpieczeń” utwórz nową grupę zabezpieczeń lub wybierz jedną z istniejących grup zabezpieczeń. Upewnij się, że port 80 jest otwarty, aby uzyskać dostęp do strony internetowej w EC2. Kliknij Dalej.
Krok 2h: W „Konfiguruj routing” wybierz „Istniejąca grupa docelowa” i wybierz tę, która została utworzona we wcześniejszym kroku. Kliknij Dalej.
Krok 2i: Docelowe instancje EC2 zostały już zarejestrowane jako część grup docelowych. Dlatego w zakładce „Register Target” bez żadnych zmian kliknij Dalej.
Krok 2j: Na koniec przejrzyj wszystkie szczegóły modułu równoważenia obciążenia aplikacji i kliknij przycisk Utwórz. Zostanie utworzony moduł równoważenia obciążenia aplikacji, jak pokazano poniżej.
Krok 2k: Uzyskaj nazwę domeny modułu równoważenia obciążenia aplikacji i zamień podświetlony tekst na poniższy adres URL i otwórz to samo w przeglądarce. Zauważ, że uzyskujemy dostęp do aplikacji internetowej za pośrednictwem modułu równoważenia obciążenia aplikacji, a poświadczenia bezpieczeństwa są wyświetlane, jak pokazano poniżej. Poniższy adres URL można zablokować za pomocą AWS WAF, jak pokazano w kolejnych krokach, aby zatrzymać wyciek poświadczeń bezpieczeństwa.
jak stworzyć dashboard w power bi
MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Krok 3: Tworzenie AWS WAF (zapora aplikacji internetowej)
Krok 3a: Przejdź do konsoli zarządzania AWS WAF i kliknij „Konfiguruj web ACL”. Wyświetlany jest przegląd AWS WAF. Oto hierarchia AWS WAF. Lista ACL sieci Web zawiera zbiór reguł, a reguły mają zestaw warunków, które będziemy tworzyć w kolejnych krokach. Kliknij Dalej.
Krok 3b: Wprowadź nazwę ACL sieci Web, region jako Północna Wirginia (lub miejsce, w którym utworzono EC2), typ zasobu jako „Moduł równoważenia obciążenia aplikacji”, a na koniec wybierz moduł równoważenia obciążenia aplikacji, który został utworzony we wcześniejszym kroku. Kliknij Dalej.
Krok 3c: Tutaj warunek zablokowania określonego żądania aplikacji internetowej musi zostać utworzony. Przewiń w dół i kliknij „Utwórz warunek” dla „Warunki dopasowania ciągu i wyrażenia regularnego”.
Krok 3d: Wpisz nazwę warunku, wpisz jako „Dopasowanie ciągu”, odfiltruj według „Wszystkie parametry zapytania”, a pozostałe parametry dokładnie tak, jak pokazano poniżej. I kliknij „Dodaj filtr”, a następnie Utwórz. Tutaj próbujemy stworzyć warunek, który będzie pasował do adresu URL zawierającego wartość parametru zapytania jako 169.254.169.254. Ten adres IP jest powiązany z Metadane EC2 .
Krok 3e: Nadszedł czas, aby stworzyć regułę będącą zbiorem warunków. Kliknij „Utwórz regułę” i określ parametry, jak pokazano poniżej. Kliknij „Dodaj warunek”, „Utwórz” i „Przejrzyj i utwórz”.
Przechodząc dalej do artykułu „Jak zabezpieczyć aplikację internetową za pomocą AWS WAF?”
Krok 3f: Na koniec przejrzyj wszystkie szczegóły i kliknij „Potwierdź i utwórz”. Lista ACL sieci Web (lista kontroli dostępu) zostanie utworzona i skojarzona z modułem równoważenia obciążenia aplikacji, jak pokazano poniżej.
Krok 3g: Teraz spróbuj uzyskać dostęp do adresu URL modułu równoważenia obciążenia aplikacji za pośrednictwem przeglądarki, jak pokazano w Krok 2k . Tym razem otrzymamy komunikat „403 Zabronione”, ponieważ nasz adres URL pasuje do warunku listy ACL sieci Web i blokujemy go. Żądanie nigdy nie dociera do modułu równoważenia obciążenia aplikacji ani do aplikacji sieci Web na EC2. Tutaj zauważamy, że chociaż aplikacja zezwala na dostęp do poświadczeń bezpieczeństwa, WAF blokuje to samo.
Krok 4: Czyszczenie zasobów AWS utworzonych w tym samouczku. Czyszczenie należy przeprowadzić dokładnie w tej samej kolejności, jak wspomniano poniżej. Ma to na celu zapewnienie, że AWS zatrzyma naliczanie opłat za powiązane zasoby utworzone w ramach tego samouczka.
- Usuń warunek w regule
- Usuń regułę z WebACL
- Usuń skojarzenie ALB w WebACL
- Usuń WebACL
- Usuń regułę
- Usuń filtr w polu Warunek
- Usuń warunek
- Usuń ALB i grupę docelową
- Zakończ EC2
- Usuń rolę uprawnień
Wniosek
Jak wspomniano wcześniej, tworzenie aplikacji internetowej za pomocą AWS jest bardzo łatwe i interesujące. Ale musimy również upewnić się, że aplikacja jest bezpieczna, a dane nie przedostaną się w niepowołane ręce. Zabezpieczenie można nakładać na wiele warstw. W tym samouczku widzieliśmy, jak używać AWS WAF (zapora aplikacji sieci Web) do ochrony aplikacji internetowej przed atakami, takimi jak dopasowanie adresu IP metadanych EC2. Mogliśmy również użyć WAF do ochrony przed typowymi atakami, takimi jak SQL Injection i XSS (Cross Site Scripting).
Korzystanie z AWS WAF lub w rzeczywistości jakiegokolwiek innego produktu zabezpieczającego nie zapewnia bezpieczeństwa aplikacji, ale produkt musi być poprawnie skonfigurowany. Jeśli nie zostanie poprawnie skonfigurowany, dane mogą dostać się w niepowołane ręce, tak jak miało to miejsce w przypadku Capital One i innych organizacji. Inną ważną rzeczą do rozważenia jest to, że o bezpieczeństwie należy myśleć od pierwszego dnia i nie podłączać go do aplikacji na późniejszym etapie.
To prowadzi nas do końca artykułu o tym, jak zabezpieczyć aplikacje internetowe za pomocą AWS WAF. Opracowaliśmy również program nauczania obejmujący dokładnie to, czego potrzebujesz, aby złamać egzamin na architekta rozwiązań! Możesz rzucić okiem na szczegóły kursu trening.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu Czym jest AWS, a my skontaktujemy się z Tobą.