Airflow Configuration
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Apache Airflow genereer 'n konfigurasie lêer in al die airflow masjiene genaamd airflow.cfg
in die huis van die airflow gebruiker. Hierdie konfigurasie lêer bevat konfigurasie-inligting en kan interessante en sensitiewe inligting bevat.
Daar is twee maniere om toegang tot hierdie lêer te verkry: Deur 'n airflow masjien te kompromitteer, of deur toegang tot die webkonsol.
Let daarop dat die waardes binne die konfigurasie lêer nie diegene mag wees wat gebruik word nie, aangesien jy hulle kan oorskryf deur omgewingsveranderlikes soos AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
in te stel.
As jy toegang het tot die konfigurasie lêer in die webbediener, kan jy die werklike lopende konfigurasie op dieselfde bladsy waar die konfigurasie vertoon word, nagaan. As jy toegang het tot 'n masjien binne die airflow omgewing, kyk na die omgewing.
Sommige interessante waardes om na te kyk wanneer jy die konfigurasie lêer lees:
access_control_allow_headers
: Dit dui die toegelate koppe vir CORS aan
access_control_allow_methods
: Dit dui die toegelate metodes vir CORS aan
access_control_allow_origins
: Dit dui die toegelate oorspronge vir CORS aan
auth_backend
: Volgens die dokumentasie kan 'n paar opsies in plek wees om te konfigureer wie toegang tot die API kan hê:
airflow.api.auth.backend.deny_all
: Standaard kan niemand toegang tot die API hê nie
airflow.api.auth.backend.default
: Enigiemand kan toegang hê sonder verifikasie
airflow.api.auth.backend.kerberos_auth
: Om kerberos verifikasie te konfigureer
airflow.api.auth.backend.basic_auth
: Vir basiese verifikasie
airflow.composer.api.backend.composer_auth
: Gebruik komponiste se verifikasie (GCP) (van hier).
composer_auth_user_registration_role
: Dit dui die rol aan wat die komponis gebruiker binne airflow sal kry (Op standaard).
Jy kan ook jou eie verifikasie metode met python skep.
google_key_path
: Pad na die GCP diensrekening sleutel
password
: Atlas wagwoord
username
: Atlas gebruikersnaam
flower_basic_auth
: Kredensiale (user1:password1,user2:password2)
result_backend
: Postgres url wat kredensiale kan bevat.
ssl_cacert
: Pad na die cacert
ssl_cert
: Pad na die sertifikaat
ssl_key
: Pad na die sleutel
dag_discovery_safe_mode
: Standaard geaktiveer. Wanneer DAGs ontdek word, ignoreer enige lêers wat nie die strings DAG
en airflow
bevat nie.
fernet_key
: Sleutel om versleutelde veranderlikes te stoor (simmetries)
hide_sensitive_var_conn_fields
: Standaard geaktiveer, verberg sensitiewe inligting van verbindings.
security
: Watter sekuriteitsmodule om te gebruik (byvoorbeeld kerberos)
tls_ca
: Pad na ca
tls_cert
: Pad na die sertifikaat
tls_key
: Pad na die tls sleutel
ccache
: Pad na ccache lêer
forwardable
: Standaard geaktiveer
google_key_path
: Pad na GCP JSON kredensiale.
backend
: Volledige klasnaam van die secrets backend om te aktiveer
backend_kwargs
: Die backend_kwargs parameter word in 'n woordeboek gelaai en aan init van die secrets backend klas deurgegee.
smtp_password
: SMTP wagwoord
smtp_user
: SMTP gebruiker
cookie_samesite
: Standaard is dit Lax, so dit is reeds die swakste moontlike waarde
cookie_secure
: Stel veilige vlag op die sessie koekie
expose_config
: Standaard is dit Vals, as waar, kan die konfigurasie gelees word vanaf die web konsol
expose_stacktrace
: Standaard is dit Waar, dit sal python tracebacks vertoon (potensieel nuttig vir 'n aanvaller)
secret_key
: Dit is die sleutel wat deur flask gebruik word om die koekies te teken (as jy dit het, kan jy enige gebruiker in Airflow naboots)
web_server_ssl_cert
: Pad na die SSL sertifikaat
web_server_ssl_key
: Pad na die SSL Sleutel
x_frame_enabled
: Standaard is Waar, so standaard is klikjacking nie moontlik nie
Standaard is web verifikasie gespesifiseer in die lêer webserver_config.py
en is geconfigureer as
Wat beteken dat die authentisering teen die databasis nagegaan word. egter, ander konfigurasies is moontlik soos
Om die verifikasie aan derdeparty dienste oor te laat.
Daar is egter ook 'n opsie om anonieme gebruikers toegang te gee, deur die volgende parameter op die gewenste rol in te stel:
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)