Vercel Security
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
U Vercelu, Tim je kompletno okruženje koje pripada klijentu, a projekat je aplikacija.
Za pregled učvršćivanja Vercela potrebno je zatražiti korisnika sa dozvolom za gledanje ili barem dozvolom za gledanje projekta kako bi se proverili projekti (u slučaju da je potrebno proveriti samo projekte, a ne i konfiguraciju tima).
Svrha: Upravljanje osnovnim podešavanjima projekta kao što su naziv projekta, okvir i konfiguracije izgradnje.
Prenos
Pogrešna konfiguracija: Omogućava prenos projekta na drugi tim
Rizik: Napadač bi mogao da ukrade projekat
Brisanje projekta
Pogrešna konfiguracija: Omogućava brisanje projekta
Rizik: Brisanje projekta
Svrha: Upravljanje prilagođenim domenima, DNS podešavanjima i SSL konfiguracijama.
Greške u DNS konfiguraciji
Pogrešna konfiguracija: Neispravni DNS zapisi (A, CNAME) koji upućuju na zlonamerne servere.
Rizik: Otmica domena, presretanje saobraćaja i phishing napadi.
Upravljanje SSL/TLS sertifikatima
Pogrešna konfiguracija: Korišćenje slabih ili istečenih SSL/TLS sertifikata.
Rizik: Ranljivost na napade "čovek u sredini" (MITM), ugrožavanje integriteta i poverljivosti podataka.
Implementacija DNSSEC
Pogrešna konfiguracija: Neaktiviranje DNSSEC ili pogrešna DNSSEC podešavanja.
Rizik: Povećana podložnost DNS spoofing i cache poisoning napadima.
Okruženje korišćeno po domenu
Pogrešna konfiguracija: Promena okruženja koje koristi domen u produkciji.
Rizik: Izlaganje potencijalnih tajni ili funkcionalnosti koje ne bi trebale biti dostupne u produkciji.
Svrha: Definisanje različitih okruženja (Razvoj, Pregled, Proizvodnja) sa specifičnim podešavanjima i varijablama.
Izolacija okruženja
Pogrešna konfiguracija: Deljenje varijabli okruženja između okruženja.
Rizik: Curjenje produkcijskih tajni u razvojna ili pregledna okruženja, povećavajući izloženost.
Pristup osetljivim okruženjima
Pogrešna konfiguracija: Omogućavanje širokog pristupa produkcijskim okruženjima.
Rizik: Neovlašćene promene ili pristup aktivnim aplikacijama, što može dovesti do potencijalnih prekida rada ili curenja podataka.
Svrha: Upravljanje varijablama i tajnama specifičnim za okruženje koje koristi aplikacija.
Izlaganje osetljivih varijabli
Pogrešna konfiguracija: Prefiksiranje osetljivih varijabli sa NEXT_PUBLIC_
, čineći ih dostupnim na klijentskoj strani.
Rizik: Izlaganje API ključeva, kredencijala baze podataka ili drugih osetljivih podataka javnosti, što dovodi do curenja podataka.
Osetljivo onemogućeno
Pogrešna konfiguracija: Ako je onemogućeno (podrazumevano) moguće je pročitati vrednosti generisanih tajni.
Rizik: Povećana verovatnoća slučajnog izlaganja ili neovlašćenog pristupa osetljivim informacijama.
Deljene varijable okruženja
Pogrešna konfiguracija: Ovo su varijable okruženja postavljene na nivou tima i mogu takođe sadržati osetljive informacije.
Rizik: Povećana verovatnoća slučajnog izlaganja ili neovlašćenog pristupa osetljivim informacijama.
Svrha: Konfigurišite integracije Git repozitorijuma, zaštitu grana i okidače za implementaciju.
Ignorisani koraci izgradnje (TODO)
Pogrešna konfiguracija: Čini se da ova opcija omogućava konfiguraciju bash skripti/komandi koje će se izvršiti kada se novi commit pošalje na Github, što bi moglo omogućiti RCE.
Rizik: TBD
Svrha: Povezivanje usluga i alata trećih strana za poboljšanje funkcionalnosti projekta.
Neosigurane integracije trećih strana
Pogrešna konfiguracija: Integracija sa nepouzdanim ili neosiguranim uslugama trećih strana.
Rizik: Uvođenje ranjivosti, curenje podataka ili backdoor-ova kroz kompromitovane integracije.
Prekomerne dozvole integracija
Pogrešna konfiguracija: Dodeljivanje prekomernih dozvola integrisanim uslugama.
Rizik: Neovlašćen pristup resursima projekta, manipulacija podacima ili prekidi usluga.
Nedostatak praćenja integracija
Pogrešna konfiguracija: Nepratiti i neauditovati integracije trećih strana.
Rizik: Odloženo otkrivanje kompromitovanih integracija, povećavajući potencijalni uticaj bezbednosnih povreda.
Svrha: Osiguranje implementacija kroz različite mehanizme zaštite, kontrolišući ko može pristupiti i implementirati u vaša okruženja.
Vercel autentifikacija
Pogrešna konfiguracija: Onemogućavanje autentifikacije ili neprovođenje provere članova tima.
Rizik: Neovlašćeni korisnici mogu pristupiti implementacijama, što dovodi do curenja podataka ili zloupotrebe aplikacija.
Zaobilaženje zaštite za automatizaciju
Pogrešna konfiguracija: Javna izloženost tajne zaobilaženja ili korišćenje slabih tajni.
Rizik: Napadači mogu zaobići zaštitu implementacije, pristupajući i manipulišući zaštićenim implementacijama.
Deljivi linkovi
Pogrešna konfiguracija: Deljenje linkova bez razmišljanja ili neukidanje zastarelih linkova.
Rizik: Neovlašćen pristup zaštićenim implementacijama, zaobilazeći autentifikaciju i IP restrikcije.
OPTIONS Allowlist
Pogrešna konfiguracija: Preširoko dozvoljavanje putanja ili osetljivih krajnjih tačaka.
Rizik: Napadači mogu iskoristiti nezaštićene putanje za izvođenje neovlašćenih radnji ili zaobilaženje bezbednosnih provera.
Zaštita lozinkom
Pogrešna konfiguracija: Korišćenje slabih lozinki ili njihovo nesigurno deljenje.
Rizik: Neovlašćen pristup implementacijama ako se lozinke pogode ili procure.
Napomena: Dostupno na Pro planu kao deo Napredne zaštite implementacije za dodatnih 150 $/mesec.
Izuzeci zaštite implementacije
Pogrešna konfiguracija: Nehotice dodavanje produkcijskih ili osetljivih domena na listu izuzetaka.
Rizik: Izlaganje kritičnih implementacija javnosti, što dovodi do curenja podataka ili neovlašćenog pristupa.
Napomena: Dostupno na Pro planu kao deo Napredne zaštite implementacije za dodatnih 150 $/mesec.
Poverljivi IP-ovi
Pogrešna konfiguracija: Pogrešno određivanje IP adresa ili CIDR opsega.
Rizik: Legitimni korisnici mogu biti blokirani ili neovlašćeni IP-ovi mogu dobiti pristup.
Napomena: Dostupno na Enterprise planu.
Svrha: Konfigurišite serverless funkcije, uključujući podešavanja vremena izvršavanja, alokaciju memorije i bezbednosne politike.
Ništa
Svrha: Upravljanje strategijama i podešavanjima keširanja za optimizaciju performansi i kontrolu skladištenja podataka.
Očisti keš
Pogrešna konfiguracija: Omogućava brisanje celog keša.
Rizik: Neovlašćeni korisnici brišu keš, što može dovesti do potencijalnog DoS.
Svrha: Zakazivanje automatizovanih zadataka i skripti da se izvršavaju u određenim intervalima.
Onemogući Cron posao
Pogrešna konfiguracija: Omogućava onemogućavanje cron poslova deklarisanih unutar koda.
Rizik: Potencijalno prekidanje usluge (u zavisnosti od svrhe cron poslova)
Svrha: Konfigurišite spoljne usluge za logovanje kako biste zabeležili i čuvali logove aplikacije za praćenje i reviziju.
Ništa (upravljano iz podešavanja timova)
Svrha: Centralno mesto za različita podešavanja vezana za bezbednost koja utiču na pristup projektu, zaštitu izvora i još mnogo toga.
Logovi izgradnje i zaštita izvora
Pogrešna konfiguracija: Onemogućavanje zaštite ili izlaganje /logs
i /src
putanja javnosti.
Rizik: Neovlašćen pristup logovima izgradnje i izvoru koda, što dovodi do curenja informacija i potencijalne eksploatacije ranjivosti.
Zaštita Git forkova
Pogrešna konfiguracija: Omogućavanje neovlašćenih pull zahteva bez odgovarajućih pregleda.
Rizik: Zlonamerni kod može biti spojen u kodnu bazu, uvodeći ranjivosti ili backdoor-ove.
Siguran pristup backend-u sa OIDC federacijom
Pogrešna konfiguracija: Pogrešno postavljanje OIDC parametara ili korišćenje nesigurnih URL-ova izdavača.
Rizik: Neovlašćen pristup backend uslugama kroz neispravne tokove autentifikacije.
Politika zadržavanja implementacija
Pogrešna konfiguracija: Postavljanje perioda zadržavanja prekratko (gubitak istorije implementacija) ili predugo (nepotrebno zadržavanje podataka).
Rizik: Nemogućnost vraćanja na prethodne verzije kada je to potrebno ili povećan rizik od izlaganja podataka iz starih implementacija.
Nedavno obrisane implementacije
Pogrešna konfiguracija: Nepratiti obrisane implementacije ili se oslanjati isključivo na automatska brisanja.
Rizik: Gubitak kritične istorije implementacija, otežavajući revizije i vraćanja.
Svrha: Pristup dodatnim podešavanjima projekta za fino podešavanje konfiguracija i poboljšanje bezbednosti.
Lista direktorijuma
Pogrešna konfiguracija: Omogućavanje liste direktorijuma omogućava korisnicima da vide sadržaj direktorijuma bez indeksnog fajla.
Rizik: Izlaganje osetljivih fajlova, strukture aplikacije i potencijalnih ulaznih tačaka za napade.
Omogući izazov napada
Pogrešna konfiguracija: Omogućavanje ovog poboljšava odbranu web aplikacije protiv DoS, ali na račun upotrebljivosti.
Rizik: Potencijalni problemi sa korisničkim iskustvom.
Pogrešna konfiguracija: Omogućava otključavanje/blokiranje saobraćaja.
Rizik: Potencijalni DoS omogućavajući zlonameran saobraćaj ili blokirajući benigni saobraćaj.
Pogrešna konfiguracija: Omogućava pristup za čitanje kompletnog izvornog koda aplikacije.
Rizik: Potencijalno izlaganje osetljivih informacija.
Pogrešna konfiguracija: Ova zaštita osigurava da klijentska i serverska aplikacija uvek koriste istu verziju kako ne bi došlo do desinkronizacije kada klijent koristi drugačiju verziju od servera i stoga se ne razumeju.
Rizik: Onemogućavanje ovog (ako je omogućeno) moglo bi izazvati DoS probleme u novim implementacijama u budućnosti.
Prenos
Pogrešna konfiguracija: Omogućava prenos svih projekata na drugi tim.
Rizik: Napadač bi mogao da ukrade projekte.
Brisanje projekta
Pogrešna konfiguracija: Omogućava brisanje tima sa svim projektima.
Rizik: Brisanje projekata.
Limit troškova za Speed Insights
Pogrešna konfiguracija: Napadač bi mogao povećati ovaj broj.
Rizik: Povećani troškovi.
Dodavanje članova
Pogrešna konfiguracija: Napadač bi mogao održati postojanost pozivajući nalog koji kontroliše.
Rizik: Postojanost napadača.
Uloge
Pogrešna konfiguracija: Dodeljivanje previše dozvola ljudima kojima to nije potrebno povećava rizik od konfiguracije Vercela. Proverite sve moguće uloge na https://vercel.com/docs/accounts/team-members-and-roles/access-roles.
Rizik: Povećava izloženost Vercel tima.
Grupa pristupa u Vercelu je kolekcija projekata i članova tima sa unapred definisanim dodelama uloga, omogućavajući centralizovano i pojednostavljeno upravljanje pristupom kroz više projekata.
Potencijalne pogrešne konfiguracije:
Prekomerno dodeljivanje članovima: Dodeljivanje uloga sa više dozvola nego što je potrebno, što dovodi do neovlašćenog pristupa ili radnji.
Pogrešne dodela uloga: Pogrešno dodeljivanje uloga koje se ne poklapaju sa odgovornostima članova tima, uzrokujući eskalaciju privilegija.
Nedostatak segregacije projekata: Neodvajanje osetljivih projekata, omogućavajući širi pristup nego što je predviđeno.
Nedovoljno upravljanje grupama: Nepravilno pregledanje ili ažuriranje grupa pristupa, što rezultira zastarelim ili neodgovarajućim dozvolama pristupa.
Nepodudarnosti u definicijama uloga: Korišćenje neusklađenih ili nejasnih definicija uloga u različitim grupama pristupa, što dovodi do konfuzije i bezbednosnih praznina.
Log Drains ka trećim stranama:
Pogrešna konfiguracija: Napadač bi mogao konfigurisati Log Drain da ukrade logove.
Rizik: Delimična postojanost.
Domen e-pošte tima: Kada je konfigurisano, ovo podešavanje automatski poziva Vercel lične naloge sa adresama e-pošte koje se završavaju na specificiranom domenu (npr. mydomain.com
) da se pridruže vašem timu prilikom registracije i na kontrolnoj tabli.
Pogrešna konfiguracija:
Određivanje pogrešnog domena e-pošte ili pogrešno napisani domen u podešavanju domena e-pošte tima.
Korišćenje uobičajenog domena e-pošte (npr. gmail.com
, hotmail.com
) umesto domena specifičnog za kompaniju.
Rizici:
Neovlašćen pristup: Korisnici sa adresama e-pošte iz nepredviđenih domena mogu primiti pozivnice da se pridruže vašem timu.
Izlaganje podataka: Potencijalno izlaganje osetljivih informacija o projektu neovlašćenim osobama.
Zaštićeni Git opsezi: Omogućava vam da dodate do 5 Git opsega vašem timu kako biste sprečili druge Vercel timove da implementiraju repozitorijume iz zaštićenog opsega. Više timova može odrediti isti opseg, omogućavajući pristup obema timovima.
Pogrešna konfiguracija: Ne dodavanje kritičnih Git opsega na zaštićenu listu.
Rizici:
Neovlašćene implementacije: Drugi timovi mogu implementirati repozitorijume iz Git opsega vaše organizacije bez autorizacije.
Izlaganje intelektualne svojine: Proprietarni kod može biti implementiran i dostupan izvan vašeg tima.
Politike varijabli okruženja: Sprovodi politike za kreiranje i uređivanje varijabli okruženja tima. Konkretno, možete naložiti da se sve varijable okruženja kreiraju kao Osetljive varijable okruženja, koje može dekriptovati samo Vercelov sistem implementacije.
Pogrešna konfiguracija: Održavanje onemogućavanja osetljivih varijabli okruženja.
Rizici:
Izlaganje tajni: Varijable okruženja mogu biti pregledane ili uređene od strane neovlašćenih članova tima.
Curanje podataka: Osetljive informacije kao što su API ključevi i kredencijali mogli bi procureti.
Revizijski log: Pruža izvoz aktivnosti tima za poslednjih do 90 dana. Revizijski logovi pomažu u praćenju i praćenju radnji koje su izvršili članovi tima.
Pogrešna konfiguracija: Dodeljivanje pristupa revizijskim logovima neovlašćenim članovima tima.
Rizici:
Povrede privatnosti: Izlaganje osetljivih aktivnosti i podataka korisnika.
Manipulacija logovima: Zlonamerni akteri mogli bi izmeniti ili obrisati logove kako bi prikrili svoje tragove.
SAML jedinstveno prijavljivanje: Omogućava prilagođavanje SAML autentifikacije i sinhronizacije direktorijuma za vaš tim, omogućavajući integraciju sa provajderom identiteta (IdP) za centralizovanu autentifikaciju i upravljanje korisnicima.
Pogrešna konfiguracija: Napadač bi mogao postaviti backdoor u tim postavljanjem SAML parametara kao što su ID entiteta, SSO URL ili otisci sertifikata.
Rizik: Održavanje postojanosti.
Vidljivost IP adresa: Kontroliše da li se IP adrese, koje se mogu smatrati ličnim informacijama prema određenim zakonima o zaštiti podataka, prikazuju u upitima za praćenje i Log Drains.
Pogrešna konfiguracija: Ostaviti vidljivost IP adresa omogućenom bez potrebe.
Rizici:
Povrede privatnosti: Neusklađenost sa propisima o zaštiti podataka kao što je GDPR.
Pravne posledice: Potencijalne kazne i sankcije za nepravilno rukovanje ličnim podacima.
Blokiranje IP adresa: Omogućava konfiguraciju IP adresa i CIDR opsega koje Vercel treba da blokira. Blokirani zahtevi ne doprinose vašem fakturisanju.
Pogrešna konfiguracija: Može biti zloupotrebljeno od strane napadača da omogući zlonameran saobraćaj ili blokira legitimni saobraćaj.
Rizici:
Odbijanje usluge legitimnim korisnicima: Blokiranje pristupa validnim korisnicima ili partnerima.
Operativni prekidi: Gubitak dostupnosti usluga za određene regione ili klijente.
Vercel Secure Compute omogućava sigurne, privatne veze između Vercel funkcija i backend okruženja (npr. baza podataka) uspostavljanjem izolovanih mreža sa posvećenim IP adresama. Ovo eliminiše potrebu za javnim izlaganjem backend usluga, poboljšavajući bezbednost, usklađenost i privatnost.
Pogrešan izbor AWS regiona
Pogrešna konfiguracija: Odabir AWS regiona za Secure Compute mrežu koji se ne poklapa sa regionom backend usluga.
Rizik: Povećana latencija, potencijalni problemi sa usklađenošću podataka i degradacija performansi.
Preklapanje CIDR blokova
Pogrešna konfiguracija: Odabir CIDR blokova koji se preklapaju sa postojećim VPC-ima ili drugim mrežama.
Rizik: Mrežni konflikti koji dovode do neuspešnih veza, neovlašćenog pristupa ili curenja podataka između mreža.
Pogrešna konfiguracija VPC peering-a
Pogrešna konfiguracija: Pogrešno postavljanje VPC peering-a (npr. pogrešni VPC ID-ovi, nepotpune izmene tabele ruta).
Rizik: Neovlašćen pristup backend infrastrukturi, neuspešne sigurne veze i potencijalna curenja podataka.
Prekomerna dodela projekata
Pogrešna konfiguracija: Dodeljivanje više projekata jednoj Secure Compute mreži bez odgovarajuće izolacije.
Rizik: Izloženost zajedničkih IP adresa povećava površinu napada, potencijalno omogućavajući kompromitovanim projektima da utiču na druge.
Neadekvatno upravljanje IP adresama
Pogrešna konfiguracija: Neupravljanje ili nerotiranje posvećenih IP adresa na odgovarajući način.
Rizik: IP spoofing, ranjivosti u praćenju i potencijalno stavljanje na crnu listu ako su IP adrese povezane sa zlonamernim aktivnostima.
Neprikladno uključivanje kontejnera za izgradnju
Pogrešna konfiguracija: Dodavanje kontejnera za izgradnju u Secure Compute mrežu kada pristup backend-u nije potreban tokom izgradnje.
Rizik: Povećana površina napada, produžena kašnjenja u snabdevanju i nepotrebna potrošnja mrežnih resursa.
Neuspeh u sigurnom rukovanju tajnama za zaobilaženje
Pogrešna konfiguracija: Izlaganje ili nepravilno rukovanje tajnama koje se koriste za zaobilaženje zaštite implementacije.
Rizik: Neovlašćen pristup zaštićenim implementacijama, omogućavajući napadačima da manipulišu ili implementiraju zlonamerni kod.
Ignorisanje konfiguracija za prebacivanje regiona
Pogrešna konfiguracija: Neuspostavljanje pasivnih regiona za prebacivanje ili pogrešno konfigurisanje postavki prebacivanja.
Rizik: Downtime usluge tokom prekida u primarnom regionu, što dovodi do smanjene dostupnosti i potencijalne neusklađenosti podataka.
Prekoračenje limita veza VPC peering-a
Pogrešna konfiguracija: Pokušaj uspostavljanja više VPC peering veza nego što je dozvoljeno (npr. prekoračenje 50 veza).
Rizik: Nemogućnost sigurne povezanosti potrebnih backend usluga, uzrokujući neuspehe implementacije i operativne prekide.
Neosigurana mrežna podešavanja
Pogrešna konfiguracija: Slaba pravila vatrozida, nedostatak enkripcije ili nepravilna segmentacija mreže unutar Secure Compute mreže.
Rizik: Presretanje podataka, neovlašćen pristup backend uslugama i povećana ranjivost na napade.
Svrha: Upravljanje varijablama i tajnama specifičnim za okruženje koje koriste svi projekti.
Izlaganje osetljivih varijabli
Pogrešna konfiguracija: Prefiksiranje osetljivih varijabli sa NEXT_PUBLIC_
, čineći ih dostupnim na klijentskoj strani.
Rizik: Izlaganje API ključeva, kredencijala baze podataka ili drugih osetljivih podataka javnosti, što dovodi do curenja podataka.
Osetljivo onemogućeno
Pogrešna konfiguracija: Ako je onemogućeno (podrazumevano) moguće je pročitati vrednosti generisanih tajni.
Rizik: Povećana verovatnoća slučajnog izlaganja ili neovlašćenog pristupa osetljivim informacijama.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)