Configuraci贸n de Airflow
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Archivo de Configuraci贸n
Apache Airflow genera un archivo de configuraci贸n en todas las m谩quinas de airflow llamado airflow.cfg en el directorio home del usuario de airflow. Este archivo de configuraci贸n contiene informaci贸n de configuraci贸n y puede contener informaci贸n interesante y sensible.
Hay dos formas de acceder a este archivo: Comprometiendo alguna m谩quina de airflow, o accediendo a la consola web.
Ten en cuenta que los valores dentro del archivo de configuraci贸n pueden no ser los utilizados, ya que puedes sobrescribirlos configurando variables de entorno como AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'.
Si tienes acceso al archivo de configuraci贸n en el servidor web, puedes verificar la configuraci贸n real en ejecuci贸n en la misma p谩gina donde se muestra la configuraci贸n.
Si tienes acceso a alguna m谩quina dentro del entorno de airflow, verifica el entorno.
Algunos valores interesantes para verificar al leer el archivo de configuraci贸n:
[api]
access_control_allow_headers: Esto indica los encabezados permitidos para CORSaccess_control_allow_methods: Esto indica los m茅todos permitidos para CORSaccess_control_allow_origins: Esto indica los or铆genes permitidos para CORSauth_backend: Seg煤n la documentaci贸n hay algunas opciones que se pueden configurar para determinar qui茅n puede acceder a la API:airflow.api.auth.backend.deny_all: Por defecto, nadie puede acceder a la APIairflow.api.auth.backend.default: Todos pueden acceder sin autenticaci贸nairflow.api.auth.backend.kerberos_auth: Para configurar autenticaci贸n kerberosairflow.api.auth.backend.basic_auth: Para autenticaci贸n b谩sicaairflow.composer.api.backend.composer_auth: Utiliza autenticaci贸n de compositores (GCP) (de aqu铆).composer_auth_user_registration_role: Esto indica el rol que el usuario de composer obtendr谩 dentro de airflow (Op por defecto).- Tambi茅n puedes crear tu propio m茅todo de autenticaci贸n con python.
google_key_path: Ruta a la clave de cuenta de servicio de GCP
[atlas]
password: Contrase帽a de Atlasusername: Nombre de usuario de Atlas
[celery]
flower_basic_auth: Credenciales (user1:password1,user2:password2)result_backend: URL de Postgres que puede contener credenciales.ssl_cacert: Ruta al cacertssl_cert: Ruta al certssl_key: Ruta a la clave
[core]
dag_discovery_safe_mode: Habilitado por defecto. Al descubrir DAGs, ignora cualquier archivo que no contenga las cadenasDAGyairflow.fernet_key: Clave para almacenar variables encriptadas (sim茅trica)hide_sensitive_var_conn_fields: Habilitado por defecto, oculta informaci贸n sensible de las conexiones.security: Qu茅 m贸dulo de seguridad usar (por ejemplo, kerberos)
[dask]
tls_ca: Ruta al catls_cert: Ruta al certtls_key: Ruta a la clave tls
[kerberos]
ccache: Ruta al archivo ccacheforwardable: Habilitado por defecto
[logging]
google_key_path: Ruta a las credenciales JSON de GCP.
[secrets]
backend: Nombre completo de la clase del backend de secretos a habilitarbackend_kwargs: El par谩metro backend_kwargs se carga en un diccionario y se pasa a init de la clase del backend de secretos.
[smtp]
smtp_password: Contrase帽a SMTPsmtp_user: Usuario SMTP
[webserver]
cookie_samesite: Por defecto es Lax, por lo que ya es el valor m谩s d茅bil posiblecookie_secure: Establecer bandera segura en la cookie de sesi贸nexpose_config: Por defecto es False, si es verdadero, la configuraci贸n puede ser le铆da desde la consola webexpose_stacktrace: Por defecto es True, mostrar谩 tracebacks de python (potencialmente 煤til para un atacante)secret_key: Esta es la clave utilizada por flask para firmar las cookies (si tienes esto puedes suplantar a cualquier usuario en Airflow)web_server_ssl_cert: Ruta al certificado SSLweb_server_ssl_key: Ruta a la clave SSLx_frame_enabled: Por defecto es True, por lo que por defecto el clickjacking no es posible
Autenticaci贸n Web
Por defecto, la autenticaci贸n web se especifica en el archivo webserver_config.py y se configura como
AUTH_TYPE = AUTH_DB
Lo que significa que la autenticaci贸n se verifica contra la base de datos. Sin embargo, son posibles otras configuraciones como
AUTH_TYPE = AUTH_OAUTH
Para dejar la autenticaci贸n a servicios de terceros.
Sin embargo, tambi茅n hay una opci贸n para permitir el acceso a usuarios an贸nimos, configurando el siguiente par谩metro al rol deseado:
AUTH_ROLE_PUBLIC = 'Admin'
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- 脷nete al 馃挰 Discord group o al telegram group o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

