# Vercel {{#include ../banners/hacktricks-training.md}} ## Basiese Inligting In Vercel is 'n **Span** die volledige **omgewing** wat aan 'n kliënt behoort en 'n **projek** is 'n **aansoek**. Vir 'n verhardingshersiening van **Vercel** moet jy vra vir 'n gebruiker met **Kykersroltoestemming** of ten minste **Projekkyker toestemming oor die projekte** om te kontroleer (in geval jy net die projekte en nie die Span konfigurasie ook hoef te kontroleer nie). ## Projekinstellings ### Algemeen **Doel:** Bestuur fundamentele projekinstellings soos projeknaam, raamwerk, en boukonfigurasies. #### Sekuriteitskonfigurasies: - **Oordrag** - **Misconfigurasie:** Laat toe om die projek na 'n ander span oor te dra - **Risiko:** 'n Aanvaller kan die projek steel - **Verwyder Projek** - **Misconfigurasie:** Laat toe om die projek te verwyder - **Risiko:** Verwyder die projek --- ### Domeine **Doel:** Bestuur pasgemaakte domeine, DNS-instellings, en SSL-konfigurasies. #### Sekuriteitskonfigurasies: - **DNS Konfigurasiefoute** - **Misconfigurasie:** Onkorrekte DNS rekords (A, CNAME) wat na kwaadwillige bedieners wys. - **Risiko:** Domein kaap, verkeersafluistering, en phishing-aanvalle. - **SSL/TLS Sertifikaatbestuur** - **Misconfigurasie:** Gebruik van swak of vervalde SSL/TLS sertifikate. - **Risiko:** Kwetsbaar vir man-in-the-middle (MITM) aanvalle, wat data integriteit en vertroulikheid in gevaar stel. - **DNSSEC Implementasie** - **Misconfigurasie:** Versuim om DNSSEC in te skakel of onkorrekte DNSSEC instellings. - **Risiko:** Verhoogde vatbaarheid vir DNS spoofing en cache vergiftiging aanvalle. - **Omgewing gebruik per domein** - **Misconfigurasie:** Verander die omgewing wat deur die domein in produksie gebruik word. - **Risiko:** Stel potensiële geheime of funksies bloot wat nie in produksie beskikbaar moet wees nie. --- ### Omgewings **Doel:** Definieer verskillende omgewings (Ontwikkeling, Voorbeeld, Produksie) met spesifieke instellings en veranderlikes. #### Sekuriteitskonfigurasies: - **Omgewing Isolasie** - **Misconfigurasie:** Deel omgewing veranderlikes oor omgewings. - **Risiko:** Lek van produksie geheime in ontwikkeling of voorbeeld omgewings, wat blootstelling verhoog. - **Toegang tot Sensitiewe Omgewings** - **Misconfigurasie:** Laat breë toegang tot produksie omgewings toe. - **Risiko:** Ongeoorloofde veranderinge of toegang tot lewende aansoeke, wat kan lei tot potensiële stilstand of datalekke. --- ### Omgewing Veranderlikes **Doel:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur die aansoek gebruik word. #### Sekuriteitskonfigurasies: - **Blootstelling van Sensitiewe Veranderlikes** - **Misconfigurasie:** Voorafgaande sensitiewe veranderlikes met `NEXT_PUBLIC_`, wat hulle op die kliëntkant toeganklik maak. - **Risiko:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat kan lei tot datalekke. - **Sensitiewe gedeaktiveer** - **Misconfigurasie:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees. - **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting. - **Gedeelde Omgewing Veranderlikes** - **Misconfigurasie:** Dit is omgewing veranderlikes wat op Span vlak gestel is en kan ook sensitiewe inligting bevat. - **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting. --- ### Git **Doel:** Konfigureer Git-repo integrasies, tak beskermings, en ontplooiing triggers. #### Sekuriteitskonfigurasies: - **Ignorerende Bou Stap (TODO)** - **Misconfigurasie:** Dit lyk of hierdie opsie toelaat om 'n bash skrip/kommando's te konfigureer wat uitgevoer sal word wanneer 'n nuwe verbintenis in Github gepush word, wat RCE kan toelaat. - **Risiko:** TBD --- ### Integrasies **Doel:** Koppel derdeparty dienste en gereedskap om projek funksionaliteit te verbeter. #### Sekuriteitskonfigurasies: - **Onveilige Derdeparty Integrasies** - **Misconfigurasie:** Integrasie met onbetroubare of onveilige derdeparty dienste. - **Risiko:** Invoering van kwesbaarhede, datalekke, of agterdeure deur gekompromitteerde integrasies. - **Oor-Toestemming Integrasies** - **Misconfigurasie:** Toekenning van oortollige toestemmings aan geïntegreerde dienste. - **Risiko:** Ongeoorloofde toegang tot projek hulpbronne, data manipulasie, of diensonderbrekings. - **Gebrek aan Integrasie Monitering** - **Misconfigurasie:** Versuim om derdeparty integrasies te monitor en te oudit. - **Risiko:** Vertraagde opsporing van gekompromitteerde integrasies, wat die potensiële impak van sekuriteitsbreuke verhoog. --- ### Ontplooiing Beskerming **Doel:** Beveilig ontplooiings deur verskeie beskermingsmeganismes, wat beheer wie toegang kan hê en ontplooiing na jou omgewings kan doen. #### Sekuriteitskonfigurasies: **Vercel Verifikasie** - **Misconfigurasie:** Deaktiveer verifikasie of nie afdwing van spanlid kontroles nie. - **Risiko:** Ongeoorloofde gebruikers kan toegang tot ontplooiings verkry, wat kan lei tot datalekke of aansoek misbruik. **Beskerming Bypass vir Automatisering** - **Misconfigurasie:** Blootstelling van die bypass geheim publiek of gebruik van swak geheime. - **Risiko:** Aanvallers kan ontplooiing beskermings omseil, toegang tot en manipulasie van beskermde ontplooiings. **Deelbare Skakels** - **Misconfigurasie:** Deel skakels onverskillig of versuim om verouderde skakels te herroep. - **Risiko:** Ongeoorloofde toegang tot beskermde ontplooiings, wat verifikasie en IP beperkings omseil. **OPTIONS Toegestaanlys** - **Misconfigurasie:** Toegestaanlys oor-brede paaie of sensitiewe eindpunte. - **Risiko:** Aanvallers kan onbeskermde paaie benut om ongeoorloofde aksies uit te voer of sekuriteitskontroles te omseil. **Wagwoord Beskerming** - **Misconfigurasie:** Gebruik van swak wagwoorde of om dit onveilig te deel. - **Risiko:** Ongeoorloofde toegang tot ontplooiings as wagwoorde geraai of gelekt word. - **Nota:** Beskikbaar op die **Pro** plan as deel van **Gevorderde Ontplooiing Beskerming** vir 'n addisionele $150/maand. **Ontplooiing Beskerming Uitsonderings** - **Misconfigurasie:** Voeg produksie of sensitiewe domeine per ongeluk by die uitsonderingslys. - **Risiko:** Blootstelling van kritieke ontplooiings aan die publiek, wat kan lei tot datalekke of ongeoorloofde toegang. - **Nota:** Beskikbaar op die **Pro** plan as deel van **Gevorderde Ontplooiing Beskerming** vir 'n addisionele $150/maand. **Betroubare IP's** - **Misconfigurasie:** Onkorrek spesifisering van IP adresse of CIDR reekse. - **Risiko:** Legitieme gebruikers wat geblokkeer word of ongeoorloofde IP's wat toegang verkry. - **Nota:** Beskikbaar op die **Enterprise** plan. --- ### Funksies **Doel:** Konfigureer serverless funksies, insluitend runtime instellings, geheue toewysing, en sekuriteitsbeleide. #### Sekuriteitskonfigurasies: - **Niks** --- ### Data Cache **Doel:** Bestuur caching strategieë en instellings om prestasie te optimaliseer en data berging te beheer. #### Sekuriteitskonfigurasies: - **Purge Cache** - **Misconfigurasie:** Dit laat toe om al die cache te verwyder. - **Risiko:** Ongeoorloofde gebruikers wat die cache verwyder wat kan lei tot 'n potensiële DoS. --- ### Cron Jobs **Doel:** Skeduleer geoutomatiseerde take en skripte om op spesifieke tydperke te loop. #### Sekuriteitskonfigurasies: - **Deaktiveer Cron Job** - **Misconfigurasie:** Dit laat toe om cron jobs wat in die kode verklaar is te deaktiveer. - **Risiko:** Potensiële onderbreking van die diens (afhangende van waarvoor die cron jobs bedoel was) --- ### Log Drains **Doel:** Konfigureer eksterne logging dienste om aansoek logs te vang en te stoor vir monitering en oudit. #### Sekuriteitskonfigurasies: - Niks (bestuur vanaf spaninstellings) --- ### Sekuriteit **Doel:** Sentraal hub vir verskeie sekuriteitsverwante instellings wat projek toegang, bron beskerming, en meer beïnvloed. #### Sekuriteitskonfigurasies: **Bou Logs en Bron Beskerming** - **Misconfigurasie:** Deaktiveer beskerming of blootstelling van `/logs` en `/src` paaie publiek. - **Risiko:** Ongeoorloofde toegang tot bou logs en bronkode, wat kan lei tot inligting lekke en potensiële uitbuiting van kwesbaarhede. **Git Fork Beskerming** - **Misconfigurasie:** Laat ongeoorloofde pull versoeke toe sonder behoorlike hersienings. - **Risiko:** Kwaadwillige kode kan in die kodebasis saamgevoeg word, wat kwesbaarhede of agterdeure inbring. **Veilige Agtergrond Toegang met OIDC Federasie** - **Misconfigurasie:** Onkorrek opstel van OIDC parameters of gebruik van onveilige issuer URL's. - **Risiko:** Ongeoorloofde toegang tot agtergrond dienste deur gebrekkige verifikasievloei. **Ontplooiing Bewaringsbeleid** - **Misconfigurasie:** Stel bewaring periodes te kort (verlies van ontplooiing geskiedenis) of te lank (onnodige data bewaring). - **Risiko:** Onvermoë om terug te rol wanneer nodig of verhoogde risiko van data blootstelling van ou ontplooiings. **Onlangs Verwyderde Ontplooiings** - **Misconfigurasie:** Nie monitering van verwyderde ontplooiings of slegs op outomatiese verwyderings staatmaak nie. - **Risiko:** Verlies van kritieke ontplooiing geskiedenis, wat oudit en terugrols bemoeilik. --- ### Gevorderd **Doel:** Toegang tot addisionele projekinstellings vir fyninstelling van konfigurasies en verbetering van sekuriteit. #### Sekuriteitskonfigurasies: **Gidslys** - **Misconfigurasie:** Aktivering van gidslys laat gebruikers toe om gidsinhoud te sien sonder 'n indekslêer. - **Risiko:** Blootstelling van sensitiewe lêers, aansoekstruktuur, en potensiële toegangspunte vir aanvalle. --- ## Projek Vuurmuur ### Vuurmuur #### Sekuriteitskonfigurasies: **Aktiveer Aanval Uitdaag Modus** - **Misconfigurasie:** Aktivering hiervan verbeter die verdediging van die webtoepassing teen DoS, maar ten koste van bruikbaarheid. - **Risiko:** Potensiële gebruikerservaring probleme. ### Pasgemaakte Reëls & IP Blokkering - **Misconfigurasie:** Laat toe om verkeer te ontblokkeer/blokkeer. - **Risiko:** Potensiële DoS wat kwaadwillige verkeer toelaat of goedaardige verkeer blokkeer. --- ## Projek Ontplooiing ### Bron - **Misconfigurasie:** Laat toegang toe om die volledige bronkode van die aansoek te lees. - **Risiko:** Potensiële blootstelling van sensitiewe inligting. ### Skew Beskerming - **Misconfigurasie:** Hierdie beskerming verseker dat die kliënt en bediener aansoek altyd dieselfde weergawe gebruik sodat daar geen desynchronisasies is waar die kliënt 'n ander weergawe as die bediener gebruik nie en hulle dus nie mekaar verstaan nie. - **Risiko:** Deaktivering hiervan (as geaktiveer) kan DoS probleme in nuwe ontplooiings in die toekoms veroorsaak. --- ## Span Instellings ### Algemeen #### Sekuriteitskonfigurasies: - **Oordrag** - **Misconfigurasie:** Laat toe om al die projekte na 'n ander span oor te dra. - **Risiko:** 'n Aanvaller kan die projekte steel. - **Verwyder Projek** - **Misconfigurasie:** Laat toe om die span met al die projekte te verwyder. - **Risiko:** Verwyder die projekte. --- ### Fakturering #### Sekuriteitskonfigurasies: - **Spoed Inligting Koste Limiet** - **Misconfigurasie:** 'n Aanvaller kan hierdie nommer verhoog. - **Risiko:** Verhoogde koste. --- ### Lede #### Sekuriteitskonfigurasies: - **Voeg lede by** - **Misconfigurasie:** 'n Aanvaller kan volharding handhaaf deur 'n rekening wat hy beheer uit te nooi. - **Risiko:** Aanvaller volharding. - **Rolle** - **Misconfigurasie:** Toekenning van te veel toestemmings aan mense wat dit nie nodig het nie verhoog die risiko van die Vercel konfigurasie. Kontroleer al die moontlike rolle in [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles). - **Risiko**: Verhoog die blootstelling van die Vercel Span. --- ### Toegangsgroepe 'n **Toegangsgroep** in Vercel is 'n versameling van projekte en spanlede met vooraf gedefinieerde roltoewysings, wat sentraliseerde en gestroomlynde toegang bestuur oor verskeie projekte moontlik maak. **Potensiële Misconfigurasies:** - **Oor-Toestemming Lede:** Toekenning van rolle met meer toestemmings as wat nodig is, wat lei tot ongeoorloofde toegang of aksies. - **Onbehoorlike Roltoewysings:** Onkorrek toewys van rolle wat nie ooreenstem met spanlede se verantwoordelikhede nie, wat privilige eskalasie veroorsaak. - **Gebrek aan Projek Segregasie:** Versuim om sensitiewe projekte te skei, wat breër toegang toelaat as wat bedoel is. - **Onvoldoende Groep Bestuur:** Nie gereeld hersiening of opdatering van Toegangsgroepe nie, wat lei tot verouderde of onvanpaste toegangstoestemmings. - **Inkonsekwente Roldefinisies:** Gebruik van inkonsekwente of onduidelike roldefinisies oor verskillende Toegangsgroepe, wat lei tot verwarring en sekuriteitsgappe. --- ### Log Drains #### Sekuriteitskonfigurasies: - **Log Drains na derde partye:** - **Misconfigurasie:** 'n Aanvaller kan 'n Log Drain konfigureer om die logs te steel. - **Risiko:** Gedeeltelike volharding. --- ### Sekuriteit & Privaatheid #### Sekuriteitskonfigurasies: - **Span E-pos Domein:** Wanneer geconfigureer, nooi hierdie instelling outomaties Vercel Persoonlike Rekeninge met e-pos adresse wat eindig op die gespesifiseerde domein (bv. `mydomain.com`) is om jou span te sluit by registrasie en op die dashboard. - **Misconfigurasie:**\ - Spesifisering van die verkeerde e-pos domein of 'n verkeerd gespelde domein in die Span E-pos Domein instelling. - Gebruik van 'n algemene e-pos domein (bv. `gmail.com`, `hotmail.com`) in plaas van 'n maatskappy-spesifieke domein. - **Risiko's:** - **Ongeoorloofde Toegang:** Gebruikers met e-pos adresse van onbedoelde domeine mag uitnodigings ontvang om by jou span aan te sluit. - **Data Blootstelling:** Potensiële blootstelling van sensitiewe projekinligting aan ongeoorloofde individue. - **Beskermde Git Scopes:** Laat jou toe om tot 5 Git scopes aan jou span toe te voeg om te verhoed dat ander Vercel spanne repositoriums van die beskermde omvang ontplooi. Meerdere spanne kan dieselfde omvang spesifiseer, wat beide spanne toegang gee. - **Misconfigurasie:** Nie kritieke Git scopes aan die beskermde lys toe te voeg nie. - **Risiko's:** - **Ongeoorloofde Ontplooiings:** Ander spanne mag repositoriums van jou organisasie se Git scopes sonder toestemming ontplooi. - **Intellektuele Eiendom Blootstelling:** Beskermde kode kan ontplooi en buite jou span toeganklik wees. - **Omgewing Veranderlike Beleide:** Handhaaf beleide vir die skepping en redigering van die span se omgewing veranderlikes. Spesifiek kan jy afdwing dat alle omgewing veranderlikes geskep word as **Sensitiewe Omgewing Veranderlikes**, wat slegs deur Vercel se ontplooiingstelsel gedekodeer kan word. - **Misconfigurasie:** Hou die afdwinging van sensitiewe omgewing veranderlikes gedeaktiveer. - **Risiko's:** - **Blootstelling van Geheime:** Omgewing veranderlikes mag deur ongeoorloofde spanlede gesien of gewysig word. - **Data Lek:** Sensitiewe inligting soos API sleutels en akrediteer kan gelekt word. - **Oudit Log:** Verskaf 'n uitvoer van die span se aktiwiteit vir tot die laaste 90 dae. Oudit logs help om aksies wat deur spanlede uitgevoer is te monitor en op te spoor. - **Misconfigurasie:**\ Gee toegang tot oudit logs aan ongeoorloofde spanlede. - **Risiko's:** - **Privaatheid Oortredings:** Blootstelling van sensitiewe gebruikersaktiwiteite en data. - **Manipulasie van Logs:** Kwaadwillige akteurs kan logs verander of verwyder om hul spore te bedek. - **SAML Enkel Teken Aan:** Laat aanpassing van SAML verifikasie en gids sinkronisering vir jou span toe, wat integrasie met 'n Identiteitsverskaffer (IdP) vir sentraliseerde verifikasie en gebruikersbestuur moontlik maak. - **Misconfigurasie:** 'n Aanvaller kan 'n agterdeur in die Span instel deur SAML parameters soos Entiteit ID, SSO URL, of sertifikaat vingerafdrukke op te stel. - **Risiko:** Handhaaf volharding. - **IP Adres Sigbaarheid:** Beheer of IP adresse, wat as persoonlike inligting onder sekere dataprotectiewette beskou kan word, in Monitering navrae en Log Drains vertoon word. - **Misconfigurasie:** Laat IP adres sigbaarheid geaktiveer sonder noodsaaklikheid. - **Risiko's:** - **Privaatheid Oortredings:** Nie-nakoming van dataprotectiewetgewing soos GDPR. - **Regshandelinge:** Potensiële boetes en sanksies vir verkeerde hantering van persoonlike data. - **IP Blokkering:** Laat die konfigurasie van IP adresse en CIDR reekse toe wat Vercel moet blokkeer versoeke van. Geblokkeerde versoeke dra nie by tot jou fakturering nie. - **Misconfigurasie:** Kan deur 'n aanvaller misbruik word om kwaadwillige verkeer toe te laat of legitieme verkeer te blokkeer. - **Risiko's:** - **Diens Ontkenning aan Legitieme Gebruikers:** Blokkering van toegang vir geldige gebruikers of vennote. - **Operasionele Onderbrekings:** Verlies van diens beskikbaarheid vir sekere streke of kliënte. --- ### Veilige Rekenaarkomputasie **Vercel Veilige Rekenaarkomputasie** stel veilige, private verbindings tussen Vercel Funksies en agtergrond omgewings (bv. databasis) in deur geïsoleerde netwerke met toegewyde IP adresse te vestig. Dit elimineer die behoefte om agtergrond dienste publiek bloot te stel, wat sekuriteit, nakoming, en privaatheid verbeter. #### **Potensiële Misconfigurasies en Risiko's** 1. **Onkorrekte AWS Streek Keuse** - **Misconfigurasie:** Kies 'n AWS streek vir die Veilige Rekenaarkomputasie netwerk wat nie ooreenstem met die agtergrond dienste se streek nie. - **Risiko:** Verhoogde latensie, potensiële data verblyf nakoming probleme, en verslechterde prestasie. 2. **Oorvleueling CIDR Blokke** - **Misconfigurasie:** Kies CIDR blokke wat oorvleuel met bestaande VPC's of ander netwerke. - **Risiko:** Netwerk konflikte wat lei tot mislukte verbindings, ongeoorloofde toegang, of datalekke tussen netwerke. 3. **Onbehoorlike VPC Peering Konfigurasie** - **Misconfigurasie:** Onkorrek opstel van VPC peering (bv. verkeerde VPC ID's, onvolledige roete tabel opdaterings). - **Risiko:** Ongeoorloofde toegang tot agtergrond infrastruktuur, mislukte veilige verbindings, en potensiële datalekke. 4. **Oortollige Projektoewysings** - **Misconfigurasie:** Toekenning van meerdere projekte aan 'n enkele Veilige Rekenaarkomputasie netwerk sonder behoorlike isolasie. - **Risiko:** Gedeelde IP blootstelling verhoog die aanval oppervlak, wat moontlik gekompromitteerde projekte toelaat om ander te beïnvloed. 5. **Onvoldoende IP Adres Bestuur** - **Misconfigurasie:** Versuim om toegewyde IP adresse behoorlik te bestuur of te roteer. - **Risiko:** IP spoofing, opsporing kwesbaarhede, en potensiële swartlys as IP's geassosieer word met kwaadwillige aktiwiteite. 6. **Onnodige Bou Houers Insluiting** - **Misconfigurasie:** Voeg bou houers by die Veilige Rekenaarkomputasie netwerk wanneer agtergrond toegang nie tydens boue benodig word nie. - **Risiko:** Verhoogde aanval oppervlak, verhoogde provisioning vertragings, en onnodige verbruik van netwerk hulpbronne. 7. **Versuim om Bypass Geheime Veilig te Hanteer** - **Misconfigurasie:** Blootstelling of verkeerde hantering van geheime wat gebruik word om ontplooiing beskermings te omseil. - **Risiko:** Ongeoorloofde toegang tot beskermde ontplooiings, wat aanvallers toelaat om kwaadwillige kode te manipuleer of te ontplooi. 8. **Ignorering van Streek Failover Konfigurasies** - **Misconfigurasie:** Nie opstel van passiewe failover streke of verkeerde failover instellings nie. - **Risiko:** Diens stilstand tydens primêre streek uitvalle, wat lei tot verminderde beskikbaarheid en potensiële data inkonsistensie. 9. **Oorskryding van VPC Peering Verbinding Limiete** - **Misconfigurasie:** Poging om meer VPC peering verbindings te vestig as die toegelate limiet (bv. oorskryding van 50 verbindings). - **Risiko:** Onvermoë om nodige agtergrond dienste veilig te verbind, wat ontplooiing mislukkings en operasionele onderbrekings veroorsaak. 10. **Onveilige Netwerk Instellings** - **Misconfigurasie:** Swak vuurmuur reëls, gebrek aan versleuteling, of onbehoorlike netwerk segmentasie binne die Veilige Rekenaarkomputasie netwerk. - **Risiko:** Data afluistering, ongeoorloofde toegang tot agtergrond dienste, en verhoogde kwesbaarheid vir aanvalle. --- ### Omgewing Veranderlikes **Doel:** Bestuur omgewing-spesifieke veranderlikes en geheime wat deur al die projekte gebruik word. #### Sekuriteitskonfigurasies: - **Blootstelling van Sensitiewe Veranderlikes** - **Misconfigurasie:** Voorafgaande sensitiewe veranderlikes met `NEXT_PUBLIC_`, wat hulle op die kliëntkant toeganklik maak. - **Risiko:** Blootstelling van API sleutels, databasis akrediteer, of ander sensitiewe data aan die publiek, wat kan lei tot datalekke. - **Sensitiewe gedeaktiveer** - **Misconfigurasie:** As gedeaktiveer (standaard) is dit moontlik om die waardes van die gegenereerde geheime te lees. - **Risiko:** Verhoogde waarskynlikheid van toevallige blootstelling of ongeoorloofde toegang tot sensitiewe inligting. {{#include ../banners/hacktricks-training.md}}