mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 03:16:37 -08:00
438 lines
22 KiB
Markdown
438 lines
22 KiB
Markdown
# Vercel
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
## Podstawowe informacje
|
|
|
|
W Vercel **Zespół** to pełne **środowisko**, które należy do klienta, a **projekt** to **aplikacja**.
|
|
|
|
Aby przeprowadzić przegląd zabezpieczeń **Vercel**, musisz poprosić o użytkownika z **uprawnieniami roli przeglądającego** lub przynajmniej **uprawnieniami przeglądania projektu** nad projektami, aby sprawdzić (w przypadku, gdy potrzebujesz tylko sprawdzić projekty, a nie konfigurację zespołu).
|
|
|
|
## Ustawienia projektu
|
|
|
|
### Ogólne
|
|
|
|
**Cel:** Zarządzanie podstawowymi ustawieniami projektu, takimi jak nazwa projektu, framework i konfiguracje budowy.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Transfer**
|
|
- **Błąd w konfiguracji:** Umożliwia przeniesienie projektu do innego zespołu
|
|
- **Ryzyko:** Atakujący może ukraść projekt
|
|
- **Usuń projekt**
|
|
- **Błąd w konfiguracji:** Umożliwia usunięcie projektu
|
|
- **Ryzyko:** Usunięcie projektu
|
|
|
|
---
|
|
|
|
### Domeny
|
|
|
|
**Cel:** Zarządzanie niestandardowymi domenami, ustawieniami DNS i konfiguracjami SSL.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Błędy konfiguracji DNS**
|
|
- **Błąd w konfiguracji:** Nieprawidłowe rekordy DNS (A, CNAME) wskazujące na złośliwe serwery.
|
|
- **Ryzyko:** Przejęcie domeny, przechwytywanie ruchu i ataki phishingowe.
|
|
- **Zarządzanie certyfikatami SSL/TLS**
|
|
- **Błąd w konfiguracji:** Używanie słabych lub wygasłych certyfikatów SSL/TLS.
|
|
- **Ryzyko:** Wrażliwość na ataki typu man-in-the-middle (MITM), co narusza integralność i poufność danych.
|
|
- **Implementacja DNSSEC**
|
|
- **Błąd w konfiguracji:** Nie włączenie DNSSEC lub nieprawidłowe ustawienia DNSSEC.
|
|
- **Ryzyko:** Zwiększona podatność na ataki spoofingowe DNS i ataki na pamięć podręczną.
|
|
- **Środowisko używane na domenę**
|
|
- **Błąd w konfiguracji:** Zmiana środowiska używanego przez domenę w produkcji.
|
|
- **Ryzyko:** Ujawnienie potencjalnych sekretów lub funkcji, które nie powinny być dostępne w produkcji.
|
|
|
|
---
|
|
|
|
### Środowiska
|
|
|
|
**Cel:** Definiowanie różnych środowisk (Rozwój, Podgląd, Produkcja) z określonymi ustawieniami i zmiennymi.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Izolacja środowiska**
|
|
- **Błąd w konfiguracji:** Udostępnianie zmiennych środowiskowych między środowiskami.
|
|
- **Ryzyko:** Ujawnienie sekretów produkcyjnych w środowiskach rozwojowych lub podglądowych, zwiększając narażenie.
|
|
- **Dostęp do wrażliwych środowisk**
|
|
- **Błąd w konfiguracji:** Umożliwienie szerokiego dostępu do środowisk produkcyjnych.
|
|
- **Ryzyko:** Nieautoryzowane zmiany lub dostęp do aplikacji na żywo, co prowadzi do potencjalnych przestojów lub naruszeń danych.
|
|
|
|
---
|
|
|
|
### Zmienne środowiskowe
|
|
|
|
**Cel:** Zarządzanie zmiennymi i sekretami specyficznymi dla środowiska używanymi przez aplikację.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Ujawnianie wrażliwych zmiennych**
|
|
- **Błąd w konfiguracji:** Prefiksowanie wrażliwych zmiennych `NEXT_PUBLIC_`, co czyni je dostępnymi po stronie klienta.
|
|
- **Ryzyko:** Ujawnienie kluczy API, poświadczeń bazy danych lub innych wrażliwych danych publicznie, co prowadzi do naruszeń danych.
|
|
- **Wrażliwe wyłączone**
|
|
- **Błąd w konfiguracji:** Jeśli wyłączone (domyślnie), możliwe jest odczytanie wartości wygenerowanych sekretów.
|
|
- **Ryzyko:** Zwiększone prawdopodobieństwo przypadkowego ujawnienia lub nieautoryzowanego dostępu do wrażliwych informacji.
|
|
- **Wspólne zmienne środowiskowe**
|
|
- **Błąd w konfiguracji:** To są zmienne środowiskowe ustawione na poziomie zespołu i mogą również zawierać wrażliwe informacje.
|
|
- **Ryzyko:** Zwiększone prawdopodobieństwo przypadkowego ujawnienia lub nieautoryzowanego dostępu do wrażliwych informacji.
|
|
|
|
---
|
|
|
|
### Git
|
|
|
|
**Cel:** Konfiguracja integracji repozytoriów Git, ochrony gałęzi i wyzwalaczy wdrożeń.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Zignorowany krok budowy (TODO)**
|
|
- **Błąd w konfiguracji:** Wygląda na to, że ta opcja pozwala skonfigurować skrypt/komendy bash, które będą wykonywane, gdy nowy commit zostanie przesłany do Github, co może umożliwić RCE.
|
|
- **Ryzyko:** TBD
|
|
|
|
---
|
|
|
|
### Integracje
|
|
|
|
**Cel:** Łączenie usług i narzędzi zewnętrznych w celu zwiększenia funkcjonalności projektu.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Niebezpieczne integracje zewnętrzne**
|
|
- **Błąd w konfiguracji:** Integracja z nieufnymi lub niebezpiecznymi usługami zewnętrznymi.
|
|
- **Ryzyko:** Wprowadzenie luk w zabezpieczeniach, wycieków danych lub tylnej furtki przez skompromitowane integracje.
|
|
- **Nadmierne uprawnienia integracji**
|
|
- **Błąd w konfiguracji:** Przyznawanie nadmiernych uprawnień zintegrowanym usługom.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do zasobów projektu, manipulacja danymi lub zakłócenia usług.
|
|
- **Brak monitorowania integracji**
|
|
- **Błąd w konfiguracji:** Nie monitorowanie i audytowanie integracji zewnętrznych.
|
|
- **Ryzyko:** Opóźnione wykrywanie skompromitowanych integracji, zwiększając potencjalny wpływ naruszeń bezpieczeństwa.
|
|
|
|
---
|
|
|
|
### Ochrona wdrożeń
|
|
|
|
**Cel:** Zabezpieczenie wdrożeń poprzez różne mechanizmy ochrony, kontrolując, kto może uzyskać dostęp i wdrażać w twoich środowiskach.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
**Autoryzacja Vercel**
|
|
|
|
- **Błąd w konfiguracji:** Wyłączenie autoryzacji lub brak egzekwowania kontroli członków zespołu.
|
|
- **Ryzyko:** Nieautoryzowani użytkownicy mogą uzyskać dostęp do wdrożeń, co prowadzi do naruszeń danych lub niewłaściwego użycia aplikacji.
|
|
|
|
**Ominięcie ochrony dla automatyzacji**
|
|
|
|
- **Błąd w konfiguracji:** Publiczne ujawnienie sekretu omijającego lub używanie słabych sekretów.
|
|
- **Ryzyko:** Atakujący mogą ominąć ochronę wdrożeń, uzyskując dostęp i manipulując chronionymi wdrożeniami.
|
|
|
|
**Linki do udostępniania**
|
|
|
|
- **Błąd w konfiguracji:** Udostępnianie linków bez ograniczeń lub brak unieważnienia przestarzałych linków.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do chronionych wdrożeń, omijając autoryzację i ograniczenia IP.
|
|
|
|
**Opcje Allowlist**
|
|
|
|
- **Błąd w konfiguracji:** Umożliwienie zbyt szerokiego dostępu do ścieżek lub wrażliwych punktów końcowych.
|
|
- **Ryzyko:** Atakujący mogą wykorzystać niechronione ścieżki do wykonywania nieautoryzowanych działań lub omijania kontroli bezpieczeństwa.
|
|
|
|
**Ochrona hasłem**
|
|
|
|
- **Błąd w konfiguracji:** Używanie słabych haseł lub ich niebezpieczne udostępnianie.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do wdrożeń, jeśli hasła zostaną odgadnięte lub wyciekły.
|
|
- **Uwaga:** Dostępne w planie **Pro** jako część **Zaawansowanej Ochrony Wdrożeń** za dodatkowe 150 USD/miesiąc.
|
|
|
|
**Wyjątki w ochronie wdrożeń**
|
|
|
|
- **Błąd w konfiguracji:** Nieumyślne dodanie domen produkcyjnych lub wrażliwych do listy wyjątków.
|
|
- **Ryzyko:** Ujawnienie krytycznych wdrożeń publicznie, co prowadzi do wycieków danych lub nieautoryzowanego dostępu.
|
|
- **Uwaga:** Dostępne w planie **Pro** jako część **Zaawansowanej Ochrony Wdrożeń** za dodatkowe 150 USD/miesiąc.
|
|
|
|
**Zaufane adresy IP**
|
|
|
|
- **Błąd w konfiguracji:** Nieprawidłowe określenie adresów IP lub zakresów CIDR.
|
|
- **Ryzyko:** Blokowanie legalnych użytkowników lub uzyskanie dostępu przez nieautoryzowane adresy IP.
|
|
- **Uwaga:** Dostępne w planie **Enterprise**.
|
|
|
|
---
|
|
|
|
### Funkcje
|
|
|
|
**Cel:** Konfiguracja funkcji bezserwerowych, w tym ustawień czasu wykonywania, alokacji pamięci i polityk bezpieczeństwa.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Nic**
|
|
|
|
---
|
|
|
|
### Pamięć podręczna danych
|
|
|
|
**Cel:** Zarządzanie strategiami i ustawieniami pamięci podręcznej w celu optymalizacji wydajności i kontroli przechowywania danych.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Opróżnij pamięć podręczną**
|
|
- **Błąd w konfiguracji:** Umożliwia usunięcie całej pamięci podręcznej.
|
|
- **Ryzyko:** Nieautoryzowani użytkownicy usuwający pamięć podręczną prowadzący do potencjalnego DoS.
|
|
|
|
---
|
|
|
|
### Zadania Cron
|
|
|
|
**Cel:** Planowanie zautomatyzowanych zadań i skryptów do uruchamiania w określonych odstępach czasu.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Wyłącz zadanie Cron**
|
|
- **Błąd w konfiguracji:** Umożliwia wyłączenie zadań cron zadeklarowanych w kodzie
|
|
- **Ryzyko:** Potencjalne przerwanie usługi (w zależności od tego, do czego miały służyć zadania cron)
|
|
|
|
---
|
|
|
|
### Odpływy logów
|
|
|
|
**Cel:** Konfiguracja zewnętrznych usług logowania w celu przechwytywania i przechowywania logów aplikacji do monitorowania i audytowania.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- Nic (zarządzane z ustawień zespołu)
|
|
|
|
---
|
|
|
|
### Bezpieczeństwo
|
|
|
|
**Cel:** Centralne miejsce dla różnych ustawień związanych z bezpieczeństwem wpływających na dostęp do projektu, ochronę źródła i inne.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
**Logi budowy i ochrona źródła**
|
|
|
|
- **Błąd w konfiguracji:** Wyłączenie ochrony lub publiczne ujawnienie ścieżek `/logs` i `/src`.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do logów budowy i kodu źródłowego, co prowadzi do wycieków informacji i potencjalnego wykorzystania luk w zabezpieczeniach.
|
|
|
|
**Ochrona forka Git**
|
|
|
|
- **Błąd w konfiguracji:** Umożliwienie nieautoryzowanych pull requestów bez odpowiednich przeglądów.
|
|
- **Ryzyko:** Złośliwy kod może zostać scalony z kodem źródłowym, wprowadzając luki w zabezpieczeniach lub tylne furtki.
|
|
|
|
**Bezpieczny dostęp do backendu z OIDC Federation**
|
|
|
|
- **Błąd w konfiguracji:** Nieprawidłowe skonfigurowanie parametrów OIDC lub używanie niebezpiecznych adresów URL wydawcy.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do usług backendowych przez wadliwe przepływy autoryzacji.
|
|
|
|
**Polityka przechowywania wdrożeń**
|
|
|
|
- **Błąd w konfiguracji:** Ustawienie zbyt krótkich okresów przechowywania (utrata historii wdrożeń) lub zbyt długich (niepotrzebne przechowywanie danych).
|
|
- **Ryzyko:** Niemożność wykonania rollbacków w razie potrzeby lub zwiększone ryzyko ujawnienia danych z starych wdrożeń.
|
|
|
|
**Ostatnio usunięte wdrożenia**
|
|
|
|
- **Błąd w konfiguracji:** Nie monitorowanie usuniętych wdrożeń lub poleganie wyłącznie na automatycznych usunięciach.
|
|
- **Ryzyko:** Utrata krytycznej historii wdrożeń, co utrudnia audyty i rollbacki.
|
|
|
|
---
|
|
|
|
### Zaawansowane
|
|
|
|
**Cel:** Dostęp do dodatkowych ustawień projektu w celu dostosowania konfiguracji i zwiększenia bezpieczeństwa.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
**Lista katalogów**
|
|
|
|
- **Błąd w konfiguracji:** Włączenie listy katalogów pozwala użytkownikom na przeglądanie zawartości katalogów bez pliku indeksu.
|
|
- **Ryzyko:** Ujawnienie wrażliwych plików, struktury aplikacji i potencjalnych punktów wejścia do ataków.
|
|
|
|
---
|
|
|
|
## Zapora projektu
|
|
|
|
### Zapora
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
**Włącz tryb wyzwania ataku**
|
|
|
|
- **Błąd w konfiguracji:** Włączenie tego poprawia obronę aplikacji webowej przed DoS, ale kosztem użyteczności
|
|
- **Ryzyko:** Potencjalne problemy z doświadczeniem użytkownika.
|
|
|
|
### Niestandardowe zasady i blokowanie IP
|
|
|
|
- **Błąd w konfiguracji:** Umożliwia odblokowanie/zablokowanie ruchu
|
|
- **Ryzyko:** Potencjalny DoS umożliwiający złośliwy ruch lub blokujący ruch legalny
|
|
|
|
---
|
|
|
|
## Wdrożenie projektu
|
|
|
|
### Źródło
|
|
|
|
- **Błąd w konfiguracji:** Umożliwia dostęp do odczytu pełnego kodu źródłowego aplikacji
|
|
- **Ryzyko:** Potencjalne ujawnienie wrażliwych informacji
|
|
|
|
### Ochrona przed rozbieżnościami
|
|
|
|
- **Błąd w konfiguracji:** Ta ochrona zapewnia, że aplikacja klienta i serwera zawsze używają tej samej wersji, aby nie było rozbieżności, w których klient używa innej wersji niż serwer i dlatego się nie rozumieją.
|
|
- **Ryzyko:** Wyłączenie tego (jeśli włączone) może spowodować problemy z DoS w nowych wdrożeniach w przyszłości
|
|
|
|
---
|
|
|
|
## Ustawienia zespołu
|
|
|
|
### Ogólne
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Transfer**
|
|
- **Błąd w konfiguracji:** Umożliwia przeniesienie wszystkich projektów do innego zespołu
|
|
- **Ryzyko:** Atakujący może ukraść projekty
|
|
- **Usuń projekt**
|
|
- **Błąd w konfiguracji:** Umożliwia usunięcie zespołu ze wszystkimi projektami
|
|
- **Ryzyko:** Usunięcie projektów
|
|
|
|
---
|
|
|
|
### Rozliczenia
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Limit kosztów Speed Insights**
|
|
- **Błąd w konfiguracji:** Atakujący może zwiększyć tę liczbę
|
|
- **Ryzyko:** Zwiększone koszty
|
|
|
|
---
|
|
|
|
### Członkowie
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Dodaj członków**
|
|
- **Błąd w konfiguracji:** Atakujący może utrzymać trwałość, zapraszając konto, które kontroluje
|
|
- **Ryzyko:** Trwałość atakującego
|
|
- **Role**
|
|
- **Błąd w konfiguracji:** Przyznawanie zbyt wielu uprawnień osobom, które ich nie potrzebują, zwiększa ryzyko konfiguracji Vercel. Sprawdź wszystkie możliwe role w [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles)
|
|
- **Ryzyko**: Zwiększenie narażenia zespołu Vercel
|
|
|
|
---
|
|
|
|
### Grupy dostępu
|
|
|
|
**Grupa dostępu** w Vercel to zbiór projektów i członków zespołu z przypisanymi rolami, co umożliwia centralne i uproszczone zarządzanie dostępem w wielu projektach.
|
|
|
|
**Potencjalne błędy w konfiguracji:**
|
|
|
|
- **Nadmierne uprawnienia członków:** Przypisywanie ról z większymi uprawnieniami niż to konieczne, co prowadzi do nieautoryzowanego dostępu lub działań.
|
|
- **Nieprawidłowe przypisania ról:** Nieprawidłowe przypisanie ról, które nie odpowiadają obowiązkom członków zespołu, powodujące eskalację uprawnień.
|
|
- **Brak segregacji projektów:** Nieoddzielanie wrażliwych projektów, co pozwala na szerszy dostęp niż zamierzono.
|
|
- **Niewystarczające zarządzanie grupami:** Nieprzeglądanie ani nieaktualizowanie regularnie grup dostępu, co skutkuje przestarzałymi lub nieodpowiednimi uprawnieniami dostępu.
|
|
- **Niekonsekwentne definicje ról:** Używanie niespójnych lub niejasnych definicji ról w różnych grupach dostępu, co prowadzi do zamieszania i luk w zabezpieczeniach.
|
|
|
|
---
|
|
|
|
### Odpływy logów
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Odpływy logów do stron trzecich:**
|
|
- **Błąd w konfiguracji:** Atakujący może skonfigurować odpływ logów, aby ukraść logi
|
|
- **Ryzyko:** Częściowa trwałość
|
|
|
|
---
|
|
|
|
### Bezpieczeństwo i prywatność
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Domena e-mail zespołu:** Po skonfigurowaniu to ustawienie automatycznie zaprasza osobiste konta Vercel z adresami e-mail kończącymi się na określonej domenie (np. `mydomain.com`) do dołączenia do twojego zespołu po rejestracji i na pulpicie.
|
|
- **Błąd w konfiguracji:**
|
|
- Określenie niewłaściwej domeny e-mail lub błędnie napisanej domeny w ustawieniu domeny e-mail zespołu.
|
|
- Używanie powszechnej domeny e-mail (np. `gmail.com`, `hotmail.com`) zamiast domeny specyficznej dla firmy.
|
|
- **Ryzyka:**
|
|
- **Nieautoryzowany dostęp:** Użytkownicy z adresami e-mail z niezamierzonych domen mogą otrzymać zaproszenia do dołączenia do twojego zespołu.
|
|
- **Ujawnienie danych:** Potencjalne ujawnienie wrażliwych informacji o projekcie osobom nieuprawnionym.
|
|
- **Chronione zakresy Git:** Umożliwia dodanie do 5 zakresów Git do twojego zespołu, aby zapobiec innym zespołom Vercel wdrażania repozytoriów z chronionego zakresu. Wiele zespołów może określić ten sam zakres, co umożliwia dostęp obu zespołów.
|
|
- **Błąd w konfiguracji:** Nie dodanie krytycznych zakresów Git do listy chronionej.
|
|
- **Ryzyka:**
|
|
- **Nieautoryzowane wdrożenia:** Inne zespoły mogą wdrażać repozytoria z zakresów Git twojej organizacji bez autoryzacji.
|
|
- **Ujawnienie własności intelektualnej:** Własny kod może zostać wdrożony i uzyskany poza twoim zespołem.
|
|
- **Polityki zmiennych środowiskowych:** Egzekwuje polityki dotyczące tworzenia i edytowania zmiennych środowiskowych zespołu. W szczególności możesz egzekwować, aby wszystkie zmienne środowiskowe były tworzone jako **Wrażliwe zmienne środowiskowe**, które mogą być odszyfrowane tylko przez system wdrożeniowy Vercel.
|
|
- **Błąd w konfiguracji:** Utrzymywanie wyłączenia egzekwowania wrażliwych zmiennych środowiskowych.
|
|
- **Ryzyka:**
|
|
- **Ujawnienie sekretów:** Zmienne środowiskowe mogą być przeglądane lub edytowane przez nieautoryzowanych członków zespołu.
|
|
- **Naruszenie danych:** Wrażliwe informacje, takie jak klucze API i poświadczenia, mogą zostać wycieknięte.
|
|
- **Dziennik audytu:** Zapewnia eksport aktywności zespołu za ostatnie 90 dni. Dzienniki audytu pomagają w monitorowaniu i śledzeniu działań członków zespołu.
|
|
- **Błąd w konfiguracji:**\
|
|
Przyznawanie dostępu do dzienników audytu nieautoryzowanym członkom zespołu.
|
|
- **Ryzyka:**
|
|
- **Naruszenia prywatności:** Ujawnienie wrażliwych działań i danych użytkowników.
|
|
- **Manipulacja logami:** Złośliwi aktorzy mogą zmieniać lub usuwać logi, aby ukryć swoje ślady.
|
|
- **SAML Single Sign-On:** Umożliwia dostosowanie autoryzacji SAML i synchronizacji katalogów dla twojego zespołu, umożliwiając integrację z dostawcą tożsamości (IdP) w celu centralnej autoryzacji i zarządzania użytkownikami.
|
|
- **Błąd w konfiguracji:** Atakujący może wprowadzić tylne furtki w ustawieniach zespołu, konfigurując parametry SAML, takie jak identyfikator encji, adres URL SSO lub odciski palców certyfikatu.
|
|
- **Ryzyko:** Utrzymanie trwałości
|
|
- **Widoczność adresów IP:** Kontroluje, czy adresy IP, które mogą być uważane za dane osobowe zgodnie z niektórymi przepisami o ochronie danych, są wyświetlane w zapytaniach monitorujących i odpływach logów.
|
|
- **Błąd w konfiguracji:** Pozostawienie widoczności adresów IP włączonej bez potrzeby.
|
|
- **Ryzyka:**
|
|
- **Naruszenia prywatności:** Nieprzestrzeganie przepisów o ochronie danych, takich jak RODO.
|
|
- **Konsekwencje prawne:** Potencjalne grzywny i kary za niewłaściwe zarządzanie danymi osobowymi.
|
|
- **Blokowanie IP:** Umożliwia konfigurację adresów IP i zakresów CIDR, z których Vercel powinien blokować żądania. Zablokowane żądania nie przyczyniają się do twojego rozliczenia.
|
|
- **Błąd w konfiguracji:** Może być nadużywane przez atakującego, aby umożliwić złośliwy ruch lub zablokować ruch legalny.
|
|
- **Ryzyka:**
|
|
- **Odmowa usługi dla legalnych użytkowników:** Blokowanie dostępu dla ważnych użytkowników lub partnerów.
|
|
- **Zakłócenia operacyjne:** Utrata dostępności usługi dla niektórych regionów lub klientów.
|
|
|
|
---
|
|
|
|
### Bezpieczne obliczenia
|
|
|
|
**Vercel Secure Compute** umożliwia bezpieczne, prywatne połączenia między funkcjami Vercel a środowiskami backendowymi (np. bazami danych) poprzez ustanowienie izolowanych sieci z dedykowanymi adresami IP. Eliminuje to potrzebę publicznego ujawniania usług backendowych, zwiększając bezpieczeństwo, zgodność i prywatność.
|
|
|
|
#### **Potencjalne błędy w konfiguracji i ryzyka**
|
|
|
|
1. **Nieprawidłowy wybór regionu AWS**
|
|
- **Błąd w konfiguracji:** Wybór regionu AWS dla sieci Secure Compute, który nie odpowiada regionowi usług backendowych.
|
|
- **Ryzyko:** Zwiększone opóźnienia, potencjalne problemy z zgodnością z przepisami o miejscu przechowywania danych oraz pogorszenie wydajności.
|
|
2. **Nakładające się bloki CIDR**
|
|
- **Błąd w konfiguracji:** Wybór bloków CIDR, które nakładają się na istniejące VPC lub inne sieci.
|
|
- **Ryzyko:** Konflikty sieciowe prowadzące do nieudanych połączeń, nieautoryzowanego dostępu lub wycieku danych między sieciami.
|
|
3. **Nieprawidłowa konfiguracja peeringu VPC**
|
|
- **Błąd w konfiguracji:** Nieprawidłowe skonfigurowanie peeringu VPC (np. błędne identyfikatory VPC, niekompletne aktualizacje tabeli tras).
|
|
- **Ryzyko:** Nieautoryzowany dostęp do infrastruktury backendowej, nieudane bezpieczne połączenia i potencjalne naruszenia danych.
|
|
4. **Nadmierne przypisania projektów**
|
|
- **Błąd w konfiguracji:** Przypisanie wielu projektów do jednej sieci Secure Compute bez odpowiedniej izolacji.
|
|
- **Ryzyko:** Wspólna ekspozycja IP zwiększa powierzchnię ataku, co potencjalnie pozwala skompromitowanym projektom wpływać na inne.
|
|
5. **Niewystarczające zarządzanie adresami IP**
|
|
- **Błąd w konfiguracji:** Nieprawidłowe zarządzanie lub rotacja dedykowanych adresów IP.
|
|
- **Ryzyko:** Fałszowanie IP, luki w śledzeniu i potencjalne umieszczanie na czarnej liście, jeśli IP są powiązane z działalnością złośliwą.
|
|
6. **Niepotrzebne włączanie kontenerów budowlanych**
|
|
- **Błąd w konfiguracji:** Dodawanie kontenerów budowlanych do sieci Secure Compute, gdy dostęp do backendu nie jest wymagany podczas budowy.
|
|
- **Ryzyko:** Zwiększona powierzchnia ataku, wydłużone opóźnienia w przydzielaniu zasobów i niepotrzebne zużycie zasobów sieciowych.
|
|
7. **Brak bezpiecznego zarządzania sekretami omijania**
|
|
- **Błąd w konfiguracji:** Ujawnianie lub niewłaściwe zarządzanie sekretami używanymi do omijania ochrony wdrożeń.
|
|
- **Ryzyko:** Nieautoryzowany dostęp do chronionych wdrożeń, co pozwala atakującym manipulować lub wdrażać złośliwy kod.
|
|
8. **Ignorowanie konfiguracji failover regionu**
|
|
- **Błąd w konfiguracji:** Nie skonfigurowanie pasywnych regionów failover lub nieprawidłowe skonfigurowanie ustawień failover.
|
|
- **Ryzyko:** Przestoje usług podczas awarii głównego regionu, co prowadzi do zmniejszonej dostępności i potencjalnej niespójności danych.
|
|
9. **Przekroczenie limitów połączeń peeringu VPC**
|
|
- **Błąd w konfiguracji:** Próba nawiązania większej liczby połączeń peeringu VPC niż dozwolony limit (np. przekroczenie 50 połączeń).
|
|
- **Ryzyko:** Niemożność bezpiecznego połączenia z niezbędnymi usługami backendowymi, co powoduje niepowodzenia wdrożeń i zakłócenia operacyjne.
|
|
10. **Niebezpieczne ustawienia sieciowe**
|
|
- **Błąd w konfiguracji:** Słabe zasady zapory, brak szyfrowania lub niewłaściwa segmentacja sieci w sieci Secure Compute.
|
|
- **Ryzyko:** Przechwytywanie danych, nieautoryzowany dostęp do usług backendowych i zwiększona podatność na ataki.
|
|
|
|
---
|
|
|
|
### Zmienne środowiskowe
|
|
|
|
**Cel:** Zarządzanie zmiennymi i sekretami specyficznymi dla środowiska używanymi przez wszystkie projekty.
|
|
|
|
#### Konfiguracje zabezpieczeń:
|
|
|
|
- **Ujawnianie wrażliwych zmiennych**
|
|
- **Błąd w konfiguracji:** Prefiksowanie wrażliwych zmiennych `NEXT_PUBLIC_`, co czyni je dostępnymi po stronie klienta.
|
|
- **Ryzyko:** Ujawnienie kluczy API, poświadczeń bazy danych lub innych wrażliwych danych publicznie, co prowadzi do naruszeń danych.
|
|
- **Wrażliwe wyłączone**
|
|
- **Błąd w konfiguracji:** Jeśli wyłączone (domyślnie), możliwe jest odczytanie wartości wygenerowanych sekretów.
|
|
- **Ryzyko:** Zwiększone prawdopodobieństwo przypadkowego ujawnienia lub nieautoryzowanego dostępu do wrażliwych informacji.
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|