Translated ['src/README.md', 'src/banners/hacktricks-training.md', 'src/

This commit is contained in:
Translator
2024-12-31 20:18:58 +00:00
parent 820dd99aed
commit 931ae54e5f
245 changed files with 9984 additions and 12710 deletions

View File

@@ -2,440 +2,436 @@
{{#include ../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
In Vercel a **Team** is the complete **environment** that belongs a client and a **project** is an **application**.
In Vercel un **Team** è l'intero **ambiente** che appartiene a un cliente e un **progetto** è un'**applicazione**.
For a hardening review of **Vercel** you need to ask for a user with **Viewer role permission** or at least **Project viewer permission over the projects** to check (in case you only need to check the projects and not the Team configuration also).
Per una revisione di hardening di **Vercel** è necessario richiedere un utente con **permesso di ruolo Visualizzatore** o almeno **permesso di visualizzazione del progetto sui progetti** da controllare (nel caso in cui sia necessario controllare solo i progetti e non anche la configurazione del Team).
## Project Settings
## Impostazioni del progetto
### General
### Generale
**Purpose:** Manage fundamental project settings such as project name, framework, and build configurations.
**Scopo:** Gestire le impostazioni fondamentali del progetto come nome del progetto, framework e configurazioni di build.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Transfer**
- **Misconfiguration:** Allows to transfer the project to another team
- **Risk:** An attacker could steal the project
- **Delete Project**
- **Misconfiguration:** Allows to delete the project 
- **Risk:** Delete the prject
- **Trasferimento**
- **Misconfigurazione:** Consente di trasferire il progetto a un altro team
- **Rischio:** Un attaccante potrebbe rubare il progetto
- **Elimina progetto**
- **Misconfigurazione:** Consente di eliminare il progetto 
- **Rischio:** Eliminare il progetto
---
### Domains
### Domini
**Purpose:** Manage custom domains, DNS settings, and SSL configurations.
**Scopo:** Gestire domini personalizzati, impostazioni DNS e configurazioni SSL.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **DNS Configuration Errors**
- **Misconfiguration:** Incorrect DNS records (A, CNAME) pointing to malicious servers.
- **Risk:** Domain hijacking, traffic interception, and phishing attacks.
- **SSL/TLS Certificate Management**
- **Misconfiguration:** Using weak or expired SSL/TLS certificates.
- **Risk:** Vulnerable to man-in-the-middle (MITM) attacks, compromising data integrity and confidentiality.
- **DNSSEC Implementation**
- **Misconfiguration:** Failing to enable DNSSEC or incorrect DNSSEC settings.
- **Risk:** Increased susceptibility to DNS spoofing and cache poisoning attacks.
- **Environment used per domain**
- **Misconfiguration:** Change the environment used by the domain in production.
- **Risk:** Expose potential secrets or functionalities taht shouldn't be available in production.
- **Errori di configurazione DNS**
- **Misconfigurazione:** Record DNS errati (A, CNAME) che puntano a server malevoli.
- **Rischio:** Hijacking del dominio, intercettazione del traffico e attacchi di phishing.
- **Gestione dei certificati SSL/TLS**
- **Misconfigurazione:** Utilizzo di certificati SSL/TLS deboli o scaduti.
- **Rischio:** Vulnerabilità ad attacchi man-in-the-middle (MITM), compromettendo l'integrità e la riservatezza dei dati.
- **Implementazione di DNSSEC**
- **Misconfigurazione:** Mancata attivazione di DNSSEC o impostazioni DNSSEC errate.
- **Rischio:** Maggiore suscettibilità a spoofing DNS e attacchi di avvelenamento della cache.
- **Ambiente utilizzato per dominio**
- **Misconfigurazione:** Cambiare l'ambiente utilizzato dal dominio in produzione.
- **Rischio:** Esporre potenziali segreti o funzionalità che non dovrebbero essere disponibili in produzione.
---
### Environments
### Ambienti
**Purpose:** Define different environments (Development, Preview, Production) with specific settings and variables.
**Scopo:** Definire diversi ambienti (Sviluppo, Anteprima, Produzione) con impostazioni e variabili specifiche.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Environment Isolation**
- **Misconfiguration:** Sharing environment variables across environments.
- **Risk:** Leakage of production secrets into development or preview environments, increasing exposure.
- **Access to Sensitive Environments**
- **Misconfiguration:** Allowing broad access to production environments.
- **Risk:** Unauthorized changes or access to live applications, leading to potential downtimes or data breaches.
- **Isolamento degli ambienti**
- **Misconfigurazione:** Condivisione di variabili ambientali tra ambienti.
- **Rischio:** Perdita di segreti di produzione negli ambienti di sviluppo o anteprima, aumentando l'esposizione.
- **Accesso a ambienti sensibili**
- **Misconfigurazione:** Consentire un accesso ampio agli ambienti di produzione.
- **Rischio:** Modifiche non autorizzate o accesso ad applicazioni live, portando a potenziali interruzioni o violazioni dei dati.
---
### Environment Variables
### Variabili ambientali
**Purpose:** Manage environment-specific variables and secrets used by the application.
**Scopo:** Gestire variabili e segreti specifici dell'ambiente utilizzati dall'applicazione.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Exposing Sensitive Variables**
- **Misconfiguration:** Prefixing sensitive variables with `NEXT_PUBLIC_`, making them accessible on the client side.
- **Risk:** Exposure of API keys, database credentials, or other sensitive data to the public, leading to data breaches.
- **Sensitive disabled**
- **Misconfiguration:** If disabled (default) it's possible to read the values of the generated secrets.
- **Risk:** Increased likelihood of accidental exposure or unauthorized access to sensitive information.
- **Shared Environment Variables**
- **Misconfiguration:** These are env variables set at Team level and could also contain sensitive information.
- **Risk:** Increased likelihood of accidental exposure or unauthorized access to sensitive information.
- **Esposizione di variabili sensibili**
- **Misconfigurazione:** Prefissare variabili sensibili con `NEXT_PUBLIC_`, rendendole accessibili dal lato client.
- **Rischio:** Esposizione di chiavi API, credenziali di database o altri dati sensibili al pubblico, portando a violazioni dei dati.
- **Sensibile disabilitato**
- **Misconfigurazione:** Se disabilitato (predefinito) è possibile leggere i valori dei segreti generati.
- **Rischio:** Maggiore probabilità di esposizione accidentale o accesso non autorizzato a informazioni sensibili.
- **Variabili ambientali condivise**
- **Misconfigurazione:** Queste sono variabili ambientali impostate a livello di Team e potrebbero contenere anche informazioni sensibili.
- **Rischio:** Maggiore probabilità di esposizione accidentale o accesso non autorizzato a informazioni sensibili.
---
### Git
**Purpose:** Configure Git repository integrations, branch protections, and deployment triggers.
**Scopo:** Configurare integrazioni del repository Git, protezioni dei rami e trigger di distribuzione.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Ignored Build Step (TODO)**
- **Misconfiguration:** It looks like this option allows to configure a bash script/commands that will be executed when a new commit is pushed in Github, which could allow RCE.
- **Risk:** TBD
- **Passaggio di build ignorato (TODO)**
- **Misconfigurazione:** Sembra che questa opzione consenta di configurare uno script/ordini bash che verranno eseguiti quando un nuovo commit viene inviato in Github, il che potrebbe consentire RCE.
- **Rischio:** TBD
---
### Integrations
### Integrazioni
**Purpose:** Connect third-party services and tools to enhance project functionalities.
**Scopo:** Collegare servizi e strumenti di terze parti per migliorare le funzionalità del progetto.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Insecure Third-Party Integrations**
- **Misconfiguration:** Integrating with untrusted or insecure third-party services.
- **Risk:** Introduction of vulnerabilities, data leaks, or backdoors through compromised integrations.
- **Over-Permissioned Integrations**
- **Misconfiguration:** Granting excessive permissions to integrated services.
- **Risk:** Unauthorized access to project resources, data manipulation, or service disruptions.
- **Lack of Integration Monitoring**
- **Misconfiguration:** Failing to monitor and audit third-party integrations.
- **Risk:** Delayed detection of compromised integrations, increasing the potential impact of security breaches.
- **Integrazioni di terze parti insicure**
- **Misconfigurazione:** Integrazione con servizi di terze parti non affidabili o insicuri.
- **Rischio:** Introduzione di vulnerabilità, perdite di dati o backdoor attraverso integrazioni compromesse.
- **Integrazioni con permessi eccessivi**
- **Misconfigurazione:** Concessione di permessi eccessivi ai servizi integrati.
- **Rischio:** Accesso non autorizzato alle risorse del progetto, manipolazione dei dati o interruzioni del servizio.
- **Mancanza di monitoraggio delle integrazioni**
- **Misconfigurazione:** Mancata monitorizzazione e audit delle integrazioni di terze parti.
- **Rischio:** Rilevamento ritardato di integrazioni compromesse, aumentando l'impatto potenziale delle violazioni della sicurezza.
---
### Deployment Protection
### Protezione della distribuzione
**Purpose:** Secure deployments through various protection mechanisms, controlling who can access and deploy to your environments.
**Scopo:** Sicurezza delle distribuzioni attraverso vari meccanismi di protezione, controllando chi può accedere e distribuire nei tuoi ambienti.
#### Security Configurations:
#### Configurazioni di sicurezza:
**Vercel Authentication**
**Autenticazione Vercel**
- **Misconfiguration:** Disabling authentication or not enforcing team member checks.
- **Risk:** Unauthorized users can access deployments, leading to data breaches or application misuse.
- **Misconfigurazione:** Disabilitare l'autenticazione o non applicare controlli sui membri del team.
- **Rischio:** Utenti non autorizzati possono accedere alle distribuzioni, portando a violazioni dei dati o uso improprio dell'applicazione.
**Protection Bypass for Automation**
**Bypass della protezione per l'automazione**
- **Misconfiguration:** Exposing the bypass secret publicly or using weak secrets.
- **Risk:** Attackers can bypass deployment protections, accessing and manipulating protected deployments.
- **Misconfigurazione:** Esporre il segreto di bypass pubblicamente o utilizzare segreti deboli.
- **Rischio:** Gli attaccanti possono bypassare le protezioni di distribuzione, accedendo e manipolando distribuzioni protette.
**Shareable Links**
**Link condivisibili**
- **Misconfiguration:** Sharing links indiscriminately or failing to revoke outdated links.
- **Risk:** Unauthorized access to protected deployments, bypassing authentication and IP restrictions.
- **Misconfigurazione:** Condivisione di link indiscriminatamente o mancata revoca di link obsoleti.
- **Rischio:** Accesso non autorizzato a distribuzioni protette, bypassando autenticazione e restrizioni IP.
**OPTIONS Allowlist**
- **Misconfiguration:** Allowlisting overly broad paths or sensitive endpoints.
- **Risk:** Attackers can exploit unprotected paths to perform unauthorized actions or bypass security checks.
- **Misconfigurazione:** Consentire percorsi o endpoint sensibili eccessivamente ampi.
- **Rischio:** Gli attaccanti possono sfruttare percorsi non protetti per eseguire azioni non autorizzate o bypassare controlli di sicurezza.
**Password Protection**
**Protezione con password**
- **Misconfiguration:** Using weak passwords or sharing them insecurely.
- **Risk:** Unauthorized access to deployments if passwords are guessed or leaked.
- **Note:** Available on the **Pro** plan as part of **Advanced Deployment Protection** for an additional $150/month.
- **Misconfigurazione:** Utilizzo di password deboli o condivisione non sicura.
- **Rischio:** Accesso non autorizzato alle distribuzioni se le password vengono indovinate o trapelate.
- **Nota:** Disponibile nel piano **Pro** come parte della **Protezione avanzata delle distribuzioni** per un costo aggiuntivo di $150/mese.
**Deployment Protection Exceptions**
**Eccezioni alla protezione della distribuzione**
- **Misconfiguration:** Adding production or sensitive domains to the exception list inadvertently.
- **Risk:** Exposure of critical deployments to the public, leading to data leaks or unauthorized access.
- **Note:** Available on the **Pro** plan as part of **Advanced Deployment Protection** for an additional $150/month.
- **Misconfigurazione:** Aggiunta di domini di produzione o sensibili all'elenco delle eccezioni inavvertitamente.
- **Rischio:** Esposizione di distribuzioni critiche al pubblico, portando a perdite di dati o accesso non autorizzato.
- **Nota:** Disponibile nel piano **Pro** come parte della **Protezione avanzata delle distribuzioni** per un costo aggiuntivo di $150/mese.
**Trusted IPs**
**IP fidati**
- **Misconfiguration:** Incorrectly specifying IP addresses or CIDR ranges.
- **Risk:** Legitimate users being blocked or unauthorized IPs gaining access.
- **Note:** Available on the **Enterprise** plan.
- **Misconfigurazione:** Specificare in modo errato indirizzi IP o intervalli CIDR.
- **Rischio:** Utenti legittimi bloccati o IP non autorizzati che ottengono accesso.
- **Nota:** Disponibile nel piano **Enterprise**.
---
### Functions
### Funzioni
**Purpose:** Configure serverless functions, including runtime settings, memory allocation, and security policies.
**Scopo:** Configurare funzioni serverless, comprese impostazioni di runtime, allocazione della memoria e politiche di sicurezza.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Nothing**
- **Niente**
---
### Data Cache
### Cache dei dati
**Purpose:** Manage caching strategies and settings to optimize performance and control data storage.
**Scopo:** Gestire strategie e impostazioni di caching per ottimizzare le prestazioni e controllare l'archiviazione dei dati.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Purge Cache**
- **Misconfiguration:** It allows to delete all the cache.
- **Risk:** Unauthorized users deleting the cache leading to a potential DoS.
- **Misconfigurazione:** Consente di eliminare tutta la cache.
- **Rischio:** Utenti non autorizzati che eliminano la cache portando a un potenziale DoS.
---
### Cron Jobs
**Purpose:** Schedule automated tasks and scripts to run at specified intervals.
**Scopo:** Pianificare attività e script automatizzati da eseguire a intervalli specificati.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Disable Cron Job**
- **Misconfiguration:** It allows to disable cron jobs declared inside the code
- **Risk:** Potential interruption of the service (depending on what the cron jobs were meant for)
- **Disabilita Cron Job**
- **Misconfigurazione:** Consente di disabilitare i cron job dichiarati nel codice
- **Rischio:** Potenziale interruzione del servizio (a seconda di cosa erano destinati i cron job)
---
### Log Drains
**Purpose:** Configure external logging services to capture and store application logs for monitoring and auditing.
**Scopo:** Configurare servizi di logging esterni per catturare e archiviare i log dell'applicazione per monitoraggio e auditing.
#### Security Configurations:
#### Configurazioni di sicurezza:
- Nothing (managed from teams settings)
- Niente (gestito dalle impostazioni dei team)
---
### Security
### Sicurezza
**Purpose:** Central hub for various security-related settings affecting project access, source protection, and more.
**Scopo:** Hub centrale per varie impostazioni di sicurezza relative all'accesso al progetto, protezione del codice sorgente e altro.
#### Security Configurations:
#### Configurazioni di sicurezza:
**Build Logs and Source Protection**
**Log di build e protezione del codice sorgente**
- **Misconfiguration:** Disabling protection or exposing `/logs` and `/src` paths publicly.
- **Risk:** Unauthorized access to build logs and source code, leading to information leaks and potential exploitation of vulnerabilities.
- **Misconfigurazione:** Disabilitare la protezione o esporre i percorsi `/logs` e `/src` pubblicamente.
- **Rischio:** Accesso non autorizzato ai log di build e al codice sorgente, portando a perdite di informazioni e potenziale sfruttamento di vulnerabilità.
**Git Fork Protection**
**Protezione del fork di Git**
- **Misconfiguration:** Allowing unauthorized pull requests without proper reviews.
- **Risk:** Malicious code can be merged into the codebase, introducing vulnerabilities or backdoors.
- **Misconfigurazione:** Consentire pull request non autorizzate senza revisioni adeguate.
- **Rischio:** Codice malevolo può essere fuso nel codice sorgente, introducendo vulnerabilità o backdoor.
**Secure Backend Access with OIDC Federation**
**Accesso sicuro al backend con federazione OIDC**
- **Misconfiguration:** Incorrectly setting up OIDC parameters or using insecure issuer URLs.
- **Risk:** Unauthorized access to backend services through flawed authentication flows.
- **Misconfigurazione:** Configurazione errata dei parametri OIDC o utilizzo di URL di emittenti non sicuri.
- **Rischio:** Accesso non autorizzato ai servizi backend attraverso flussi di autenticazione difettosi.
**Deployment Retention Policy**
**Politica di retention delle distribuzioni**
- **Misconfiguration:** Setting retention periods too short (losing deployment history) or too long (unnecessary data retention).
- **Risk:** Inability to perform rollbacks when needed or increased risk of data exposure from old deployments.
- **Misconfigurazione:** Impostare periodi di retention troppo brevi (perdendo la cronologia delle distribuzioni) o troppo lunghi (retention di dati non necessaria).
- **Rischio:** Impossibilità di eseguire rollback quando necessario o aumento del rischio di esposizione dei dati da distribuzioni vecchie.
**Recently Deleted Deployments**
**Distribuzioni recentemente eliminate**
- **Misconfiguration:** Not monitoring deleted deployments or relying solely on automated deletions.
- **Risk:** Loss of critical deployment history, hindering audits and rollbacks.
- **Misconfigurazione:** Non monitorare le distribuzioni eliminate o fare affidamento esclusivamente su eliminazioni automatiche.
- **Rischio:** Perdita di cronologia critica delle distribuzioni, ostacolando audit e rollback.
---
### Advanced
### Avanzato
**Purpose:** Access to additional project settings for fine-tuning configurations and enhancing security.
**Scopo:** Accesso a impostazioni aggiuntive del progetto per ottimizzare le configurazioni e migliorare la sicurezza.
#### Security Configurations:
#### Configurazioni di sicurezza:
**Directory Listing**
**Elenco delle directory**
- **Misconfiguration:** Enabling directory listing allows users to view directory contents without an index file.
- **Risk:** Exposure of sensitive files, application structure, and potential entry points for attacks.
- **Misconfigurazione:** Abilitare l'elenco delle directory consente agli utenti di visualizzare i contenuti delle directory senza un file indice.
- **Rischio:** Esposizione di file sensibili, struttura dell'applicazione e potenziali punti di ingresso per attacchi.
---
## Project Firewall
## Firewall del progetto
### Firewall
#### Security Configurations:
#### Configurazioni di sicurezza:
**Enable Attack Challenge Mode**
**Abilita la modalità di sfida agli attacchi**
- **Misconfiguration:** Enabling this improves the defenses of the web application against DoS but at the cost of usability
- **Risk:** Potential user experience problems.
- **Misconfigurazione:** Abilitare questo migliora le difese dell'applicazione web contro DoS ma a scapito dell'usabilità
- **Rischio:** Potenziali problemi di esperienza utente.
### Custom Rules & IP Blocking
### Regole personalizzate e blocco IP
- **Misconfiguration:** Allows to unblock/block traffic
- **Risk:** Potential DoS allowing malicious traffic or blocking benign traffic
- **Misconfigurazione:** Consente di sbloccare/bloccare il traffico
- **Rischio:** Potenziale DoS consentendo traffico malevolo o bloccando traffico benigno
---
## Project Deployment
## Distribuzione del progetto
### Source
### Sorgente
- **Misconfiguration:** Allows access to read the complete source code of the application
- **Risk:** Potential exposure of sensitive information
- **Misconfigurazione:** Consente l'accesso per leggere l'intero codice sorgente dell'applicazione
- **Rischio:** Potenziale esposizione di informazioni sensibili
### Skew Protection
### Protezione dallo skew
- **Misconfiguration:** This protection ensures the client and server application are always using the same version so there is no desynchronizations were the client uses a different version from the server and therefore they don't understand each other.
- **Risk:** Disabling this (if enabled) could cause DoS problems in new deployments in the future
- **Misconfigurazione:** Questa protezione garantisce che l'applicazione client e server stiano sempre utilizzando la stessa versione, quindi non ci sono desincronizzazioni in cui il client utilizza una versione diversa dal server e quindi non si comprendono a vicenda.
- **Rischio:** Disabilitare questo (se abilitato) potrebbe causare problemi di DoS in nuove distribuzioni in futuro
---
## Team Settings
## Impostazioni del team
### General
### Generale
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Transfer**
- **Misconfiguration:** Allows to transfer all the projects to another team
- **Risk:** An attacker could steal the projects
- **Delete Project**
- **Misconfiguration:** Allows to delete the team with all the projects 
- **Risk:** Delete the projects
- **Trasferimento**
- **Misconfigurazione:** Consente di trasferire tutti i progetti a un altro team
- **Rischio:** Un attaccante potrebbe rubare i progetti
- **Elimina progetto**
- **Misconfigurazione:** Consente di eliminare il team con tutti i progetti 
- **Rischio:** Eliminare i progetti
---
### Billing
### Fatturazione
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Speed Insights Cost Limit**
- **Misconfiguration:** An attacker could increase this number
- **Risk:** Increased costs
- **Limite di costo Speed Insights**
- **Misconfigurazione:** Un attaccante potrebbe aumentare questo numero
- **Rischio:** Aumento dei costi
---
### Members
### Membri
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Add members**
- **Misconfiguration:** An attacker could maintain persitence inviting an account he control
- **Risk:** Attacker persistence
- **Roles**
- **Misconfiguration:** Granting too many permissions to people that doesn't need it increases the risk of the vercel configuration. Check all the possible roles in [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles)
- **Risk**: Increate the exposure of the Vercel Team
- **Aggiungi membri**
- **Misconfigurazione:** Un attaccante potrebbe mantenere persistenza invitando un account che controlla
- **Rischio:** Persistenza dell'attaccante
- **Ruoli**
- **Misconfigurazione:** Concedere troppi permessi a persone che non ne hanno bisogno aumenta il rischio della configurazione di Vercel. Controlla tutti i ruoli possibili in [https://vercel.com/docs/accounts/team-members-and-roles/access-roles](https://vercel.com/docs/accounts/team-members-and-roles/access-roles)
- **Rischio**: Aumentare l'esposizione del Team Vercel
---
### Access Groups
### Gruppi di accesso
An **Access Group** in Vercel is a collection of projects and team members with predefined role assignments, enabling centralized and streamlined access management across multiple projects.
Un **Gruppo di accesso** in Vercel è una raccolta di progetti e membri del team con assegnazioni di ruolo predefinite, che consente una gestione centralizzata e semplificata dell'accesso attraverso più progetti.
**Potential Misconfigurations:**
**Potenziali misconfigurazioni:**
- **Over-Permissioning Members:** Assigning roles with more permissions than necessary, leading to unauthorized access or actions.
- **Improper Role Assignments:** Incorrectly assigning roles that do not align with team members' responsibilities, causing privilege escalation.
- **Lack of Project Segregation:** Failing to separate sensitive projects, allowing broader access than intended.
- **Insufficient Group Management:** Not regularly reviewing or updating Access Groups, resulting in outdated or inappropriate access permissions.
- **Inconsistent Role Definitions:** Using inconsistent or unclear role definitions across different Access Groups, leading to confusion and security gaps.
- **Over-Permissioning dei membri:** Assegnare ruoli con più permessi del necessario, portando a accesso o azioni non autorizzate.
- **Assegnazioni di ruolo improprie:** Assegnare in modo errato ruoli che non si allineano con le responsabilità dei membri del team, causando escalation dei privilegi.
- **Mancanza di segregazione dei progetti:** Mancata separazione dei progetti sensibili, consentendo un accesso più ampio del previsto.
- **Gestione insufficiente dei gruppi:** Non rivedere o aggiornare regolarmente i Gruppi di accesso, risultando in permessi di accesso obsoleti o inappropriati.
- **Definizioni di ruolo incoerenti:** Utilizzare definizioni di ruolo incoerenti o poco chiare tra diversi Gruppi di accesso, portando a confusione e lacune di sicurezza.
---
### Log Drains
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Log Drains to third parties:**
- **Misconfiguration:** An attacker could configure a Log Drain to steal the logs
- **Risk:** Partial persistence
- **Log Drains a terzi:**
- **Misconfigurazione:** Un attaccante potrebbe configurare un Log Drain per rubare i log
- **Rischio:** Persistenza parziale
---
### Security & Privacy
### Sicurezza e privacy
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Team Email Domain:** When configured, this setting automatically invites Vercel Personal Accounts with email addresses ending in the specified domain (e.g., `mydomain.com`) to join your team upon signup and on the dashboard.
- **Misconfiguration:** 
- Specifying the wrong email domain or a misspelled domain in the Team Email Domain setting.
- Using a common email domain (e.g., `gmail.com`, `hotmail.com`) instead of a company-specific domain.
- **Risks:**
- **Unauthorized Access:** Users with email addresses from unintended domains may receive invitations to join your team.
- **Data Exposure:** Potential exposure of sensitive project information to unauthorized individuals.
- **Protected Git Scopes:** Allows you to add up to 5 Git scopes to your team to prevent other Vercel teams from deploying repositories from the protected scope. Multiple teams can specify the same scope, allowing both teams access.
- **Misconfiguration:** Not adding critical Git scopes to the protected list.
- **Risks:**
- **Unauthorized Deployments:** Other teams may deploy repositories from your organization's Git scopes without authorization.
- **Intellectual Property Exposure:** Proprietary code could be deployed and accessed outside your team.
- **Environment Variable Policies:** Enforces policies for the creation and editing of the team's environment variables. Specifically, you can enforce that all environment variables are created as **Sensitive Environment Variables**, which can only be decrypted by Vercel's deployment system.
- **Misconfiguration:** Keeping the enforcement of sensitive environment variables disabled.
- **Risks:**
- **Exposure of Secrets:** Environment variables may be viewed or edited by unauthorized team members.
- **Data Breach:** Sensitive information like API keys and credentials could be leaked.
- **Audit Log:** Provides an export of the team's activity for up to the last 90 days. Audit logs help in monitoring and tracking actions performed by team members.
- **Misconfiguration:**\
Granting access to audit logs to unauthorized team members.
- **Risks:**
- **Privacy Violations:** Exposure of sensitive user activities and data.
- **Tampering with Logs:** Malicious actors could alter or delete logs to cover their tracks.
- **SAML Single Sign-On:** Allows customization of SAML authentication and directory syncing for your team, enabling integration with an Identity Provider (IdP) for centralized authentication and user management.
- **Misconfiguration:** An attacker could backdoor the Team setting up SAML parameters such as Entity ID, SSO URL, or certificate fingerprints.
- **Risk:** Maintain persistence
- **IP Address Visibility:** Controls whether IP addresses, which may be considered personal information under certain data protection laws, are displayed in Monitoring queries and Log Drains.
- **Misconfiguration:** Leaving IP address visibility enabled without necessity.
- **Risks:**
- **Privacy Violations:** Non-compliance with data protection regulations like GDPR.
- **Legal Repercussions:** Potential fines and penalties for mishandling personal data.
- **IP Blocking:** Allows the configuration of IP addresses and CIDR ranges that Vercel should block requests from. Blocked requests do not contribute to your billing.
- **Misconfiguration:** Could be abused by an attacker to allow malicious traffic or block legit traffic.
- **Risks:**
- **Service Denial to Legitimate Users:** Blocking access for valid users or partners.
- **Operational Disruptions:** Loss of service availability for certain regions or clients.
- **Dominio email del team:** Quando configurato, questa impostazione invita automaticamente gli account personali Vercel con indirizzi email che terminano nel dominio specificato (ad es., `mydomain.com`) a unirsi al tuo team al momento della registrazione e nel dashboard.
- **Misconfigurazione:** 
- Specificare il dominio email errato o un dominio scritto male nell'impostazione del dominio email del team.
- Utilizzare un dominio email comune (ad es., `gmail.com`, `hotmail.com`) invece di un dominio specifico dell'azienda.
- **Rischi:**
- **Accesso non autorizzato:** Gli utenti con indirizzi email di domini non previsti potrebbero ricevere inviti a unirsi al tuo team.
- **Esposizione dei dati:** Potenziale esposizione di informazioni sensibili del progetto a individui non autorizzati.
- **Ambiti Git protetti:** Ti consente di aggiungere fino a 5 ambiti Git al tuo team per impedire ad altri team Vercel di distribuire repository dall'ambito protetto. Più team possono specificare lo stesso ambito, consentendo l'accesso a entrambi i team.
- **Misconfigurazione:** Non aggiungere ambiti Git critici all'elenco protetto.
- **Rischi:**
- **Distribuzioni non autorizzate:** Altri team potrebbero distribuire repository dagli ambiti Git della tua organizzazione senza autorizzazione.
- **Esposizione della proprietà intellettuale:** Codice proprietario potrebbe essere distribuito e accessibile al di fuori del tuo team.
- **Politiche delle variabili ambientali:** Impone politiche per la creazione e la modifica delle variabili ambientali del team. In particolare, puoi imporre che tutte le variabili ambientali siano create come **Variabili Ambientali Sensibili**, che possono essere decrittografate solo dal sistema di distribuzione di Vercel.
- **Misconfigurazione:** Mantenere disabilitata l'applicazione delle variabili ambientali sensibili.
- **Rischi:**
- **Esposizione dei segreti:** Le variabili ambientali potrebbero essere visualizzate o modificate da membri del team non autorizzati.
- **Violazione dei dati:** Informazioni sensibili come chiavi API e credenziali potrebbero essere trapelate.
- **Audit Log:** Fornisce un'esportazione dell'attività del team per un massimo di 90 giorni. I log di audit aiutano a monitorare e tracciare le azioni eseguite dai membri del team.
- **Misconfigurazione:**\
Concedere accesso ai log di audit a membri del team non autorizzati.
- **Rischi:**
- **Violazioni della privacy:** Esposizione di attività e dati sensibili degli utenti.
- **Manomissione dei log:** Attori malevoli potrebbero alterare o eliminare i log per coprire le proprie tracce.
- **SAML Single Sign-On:** Consente la personalizzazione dell'autenticazione SAML e della sincronizzazione della directory per il tuo team, abilitando l'integrazione con un fornitore di identità (IdP) per l'autenticazione centralizzata e la gestione degli utenti.
- **Misconfigurazione:** Un attaccante potrebbe inserire un backdoor nel Team impostando parametri SAML come Entity ID, SSO URL o impronte digitali del certificato.
- **Rischio:** Mantenere persistenza
- **Visibilità degli indirizzi IP:** Controlla se gli indirizzi IP, che potrebbero essere considerati informazioni personali ai sensi di alcune leggi sulla protezione dei dati, sono visualizzati nelle query di monitoraggio e nei Log Drains.
- **Misconfigurazione:** Lasciare abilitata la visibilità degli indirizzi IP senza necessità.
- **Rischi:**
- **Violazioni della privacy:** Non conformità alle normative sulla protezione dei dati come il GDPR.
- **Ripercussioni legali:** Potenziali multe e sanzioni per gestione impropria dei dati personali.
- **Blocco IP:** Consente la configurazione di indirizzi IP e intervalli CIDR da cui Vercel dovrebbe bloccare le richieste. Le richieste bloccate non contribuiscono alla tua fatturazione.
- **Misconfigurazione:** Potrebbe essere abusata da un attaccante per consentire traffico malevolo o bloccare traffico legittimo.
- **Rischi:**
- **Negazione del servizio agli utenti legittimi:** Blocco dell'accesso per utenti o partner validi.
- **Interruzioni operative:** Perdita di disponibilità del servizio per determinate regioni o clienti.
---
### Secure Compute
### Computazione sicura
**Vercel Secure Compute** enables secure, private connections between Vercel Functions and backend environments (e.g., databases) by establishing isolated networks with dedicated IP addresses. This eliminates the need to expose backend services publicly, enhancing security, compliance, and privacy.
**Vercel Secure Compute** consente connessioni sicure e private tra le funzioni Vercel e gli ambienti backend (ad es., database) stabilendo reti isolate con indirizzi IP dedicati. Questo elimina la necessità di esporre pubblicamente i servizi backend, migliorando la sicurezza, la conformità e la privacy.
#### **Potential Misconfigurations and Risks**
#### **Potenziali misconfigurazioni e rischi**
1. **Incorrect AWS Region Selection**
- **Misconfiguration:** Choosing an AWS region for the Secure Compute network that doesn't match the backend services' region.
- **Risk:** Increased latency, potential data residency compliance issues, and degraded performance.
2. **Overlapping CIDR Blocks**
- **Misconfiguration:** Selecting CIDR blocks that overlap with existing VPCs or other networks.
- **Risk:** Network conflicts leading to failed connections, unauthorized access, or data leakage between networks.
3. **Improper VPC Peering Configuration**
- **Misconfiguration:** Incorrectly setting up VPC peering (e.g., wrong VPC IDs, incomplete route table updates).
- **Risk:** Unauthorized access to backend infrastructure, failed secure connections, and potential data breaches.
4. **Excessive Project Assignments**
- **Misconfiguration:** Assigning multiple projects to a single Secure Compute network without proper isolation.
- **Risk:** Shared IP exposure increases the attack surface, potentially allowing compromised projects to affect others.
5. **Inadequate IP Address Management**
- **Misconfiguration:** Failing to manage or rotate dedicated IP addresses appropriately.
- **Risk:** IP spoofing, tracking vulnerabilities, and potential blacklisting if IPs are associated with malicious activities.
6. **Including Build Containers Unnecessarily**
- **Misconfiguration:** Adding build containers to the Secure Compute network when backend access isn't required during builds.
- **Risk:** Expanded attack surface, increased provisioning delays, and unnecessary consumption of network resources.
7. **Failure to Securely Handle Bypass Secrets**
- **Misconfiguration:** Exposing or mishandling secrets used to bypass deployment protections.
- **Risk:** Unauthorized access to protected deployments, allowing attackers to manipulate or deploy malicious code.
8. **Ignoring Region Failover Configurations**
- **Misconfiguration:** Not setting up passive failover regions or misconfiguring failover settings.
- **Risk:** Service downtime during primary region outages, leading to reduced availability and potential data inconsistency.
9. **Exceeding VPC Peering Connection Limits**
- **Misconfiguration:** Attempting to establish more VPC peering connections than the allowed limit (e.g., exceeding 50 connections).
- **Risk:** Inability to connect necessary backend services securely, causing deployment failures and operational disruptions.
10. **Insecure Network Settings**
- **Misconfiguration:** Weak firewall rules, lack of encryption, or improper network segmentation within the Secure Compute network.
- **Risk:** Data interception, unauthorized access to backend services, and increased vulnerability to attacks.
1. **Selezione errata della regione AWS**
- **Misconfigurazione:** Scegliere una regione AWS per la rete Secure Compute che non corrisponde alla regione dei servizi backend.
- **Rischio:** Maggiore latenza, potenziali problemi di conformità alla residenza dei dati e prestazioni degradate.
2. **Blocchi CIDR sovrapposti**
- **Misconfigurazione:** Selezionare blocchi CIDR che si sovrappongono a VPC esistenti o altre reti.
- **Rischio:** Conflitti di rete che portano a connessioni non riuscite, accesso non autorizzato o perdita di dati tra le reti.
3. **Configurazione errata del peering VPC**
- **Misconfigurazione:** Configurazione errata del peering VPC (ad es., ID VPC errati, aggiornamenti incompleti della tabella di routing).
- **Rischio:** Accesso non autorizzato all'infrastruttura backend, connessioni sicure non riuscite e potenziali violazioni dei dati.
4. **Assegnazioni eccessive di progetti**
- **Misconfigurazione:** Assegnare più progetti a una singola rete Secure Compute senza adeguata isolamento.
- **Rischio:** L'esposizione IP condivisa aumenta la superficie di attacco, potenzialmente consentendo a progetti compromessi di influenzare altri.
5. **Gestione inadeguata degli indirizzi IP**
- **Misconfigurazione:** Mancata gestione o rotazione appropriata degli indirizzi IP dedicati.
- **Rischio:** Spoofing IP, vulnerabilità di tracciamento e potenziale blacklist se gli IP sono associati ad attività malevole.
6. **Inclusione non necessaria di contenitori di build**
- **Misconfigurazione:** Aggiungere contenitori di build alla rete Secure Compute quando l'accesso backend non è richiesto durante le build.
- **Rischio:** Superficie di attacco espansa, ritardi di provisioning aumentati e consumo non necessario delle risorse di rete.
7. **Mancata gestione sicura dei segreti di bypass**
- **Misconfigurazione:** Esporre o gestire in modo errato i segreti utilizzati per bypassare le protezioni di distribuzione.
- **Rischio:** Accesso non autorizzato a distribuzioni protette, consentendo agli attaccanti di manipolare o distribuire codice malevolo.
8. **Ignorare le configurazioni di failover della regione**
- **Misconfigurazione:** Non impostare regioni di failover passive o configurazioni di failover errate.
- **Rischio:** Interruzione del servizio durante le interruzioni della regione primaria, portando a disponibilità ridotta e potenziale incoerenza dei dati.
9. **Superamento dei limiti di connessione del peering VPC**
- **Misconfigurazione:** Tentare di stabilire più connessioni di peering VPC del limite consentito (ad es., superando 50 connessioni).
- **Rischio:** Impossibilità di connettere in modo sicuro i servizi backend necessari, causando fallimenti nelle distribuzioni e interruzioni operative.
10. **Impostazioni di rete insicure**
- **Misconfigurazione:** Regole del firewall deboli, mancanza di crittografia o segmentazione di rete impropria all'interno della rete Secure Compute.
- **Rischio:** Intercettazione dei dati, accesso non autorizzato ai servizi backend e vulnerabilità aumentata agli attacchi.
---
### Environment Variables
### Variabili ambientali
**Purpose:** Manage environment-specific variables and secrets used by all the projects.
**Scopo:** Gestire variabili e segreti specifici dell'ambiente utilizzati da tutti i progetti.
#### Security Configurations:
#### Configurazioni di sicurezza:
- **Exposing Sensitive Variables**
- **Misconfiguration:** Prefixing sensitive variables with `NEXT_PUBLIC_`, making them accessible on the client side.
- **Risk:** Exposure of API keys, database credentials, or other sensitive data to the public, leading to data breaches.
- **Sensitive disabled**
- **Misconfiguration:** If disabled (default) it's possible to read the values of the generated secrets.
- **Risk:** Increased likelihood of accidental exposure or unauthorized access to sensitive information.
- **Esposizione di variabili sensibili**
- **Misconfigurazione:** Prefissare variabili sensibili con `NEXT_PUBLIC_`, rendendole accessibili dal lato client.
- **Rischio:** Esposizione di chiavi API, credenziali di database o altri dati sensibili al pubblico, portando a violazioni dei dati.
- **Sensibile disabilitato**
- **Misconfigurazione:** Se disabilitato (predefinito) è possibile leggere i valori dei segreti generati.
- **Rischio:** Maggiore probabilità di esposizione accidentale o accesso non autorizzato a informazioni sensibili.
{{#include ../banners/hacktricks-training.md}}