Airflow Configuration
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Configuration File
Apache Airflow inazalisha config file katika mashine zote za airflow inayoitwa airflow.cfg
katika nyumbani mwa mtumiaji wa airflow. Faili hii ya config ina taarifa za usanidi na inaweza kuwa na taarifa za kuvutia na nyeti.
Kuna njia mbili za kufikia faili hii: Kwa kuathiri mashine fulani ya airflow, au kwa kufikia console ya wavuti.
Kumbuka kwamba thamani ndani ya faili ya config zinaweza zisikuwa zile zinazotumika, kwani unaweza kuzibadilisha kwa kuweka mabadiliko ya mazingira kama AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
.
Ikiwa una ufikiaji wa faili ya config katika seva ya wavuti, unaweza kuangalia usanidi halisi unaoendesha katika ukurasa huo ambapo config inaonyeshwa.
Ikiwa una ufikiaji wa mashine fulani ndani ya mazingira ya airflow, angalia mazingira.
Baadhi ya thamani za kuvutia za kuangalia unapokuwa unakagua faili ya config:
[api]
access_control_allow_headers
: Hii inaonyesha vichwa vilivyokubaliwa kwa CORSaccess_control_allow_methods
: Hii inaonyesha mbinu zilizokubaliwa kwa CORSaccess_control_allow_origins
: Hii inaonyesha michango iliyokubaliwa kwa CORSauth_backend
: Kulingana na docs chaguzi chache zinaweza kuwekwa ili kuunda nani anaweza kufikia API:airflow.api.auth.backend.deny_all
: Kwa default hakuna anayeweza kufikia APIairflow.api.auth.backend.default
: Kila mtu anaweza kuifikia bila uthibitishoairflow.api.auth.backend.kerberos_auth
: Ili kuunda uthibitisho wa kerberosairflow.api.auth.backend.basic_auth
: Kwa uthibitisho wa msingiairflow.composer.api.backend.composer_auth
: Inatumia uthibitisho wa waandishi (GCP) (kutoka hapa).composer_auth_user_registration_role
: Hii inaonyesha nafasi ambayo mtumiaji wa muandishi atapata ndani ya airflow (Op kwa default).- Unaweza pia kuunda njia yako ya uthibitisho kwa kutumia python.
google_key_path
: Njia ya GCP service account key
[atlas]
password
: Nenosiri la Atlasusername
: Jina la mtumiaji la Atlas
[celery]
flower_basic_auth
: Akida (user1:password1,user2:password2)result_backend
: URL ya Postgres ambayo inaweza kuwa na akida.ssl_cacert
: Njia ya cacertssl_cert
: Njia ya chetissl_key
: Njia ya ufunguo
[core]
dag_discovery_safe_mode
: Imewezeshwa kwa default. Wakati wa kugundua DAGs, puuza faili zozote ambazo hazina nyuziDAG
naairflow
.fernet_key
: Ufunguzi wa kuhifadhi mabadiliko yaliyosimbwa (symmetric)hide_sensitive_var_conn_fields
: Imewezeshwa kwa default, ficha taarifa nyeti za muunganisho.security
: Moduli gani ya usalama itumike (kwa mfano kerberos)
[dask]
tls_ca
: Njia ya catls_cert
: Sehemu ya chetitls_key
: Sehemu ya ufunguo wa tls
[kerberos]
ccache
: Njia ya faili ya ccacheforwardable
: Imewezeshwa kwa default
[logging]
google_key_path
: Njia ya GCP JSON creds.
[secrets]
backend
: Jina kamili la darasa la nyuma la siri ili kuwezeshabackend_kwargs
: Param ya backend_kwargs inasomwa katika kamusi na kupitishwa kwa init ya darasa la nyuma la siri.
[smtp]
smtp_password
: Nenosiri la SMTPsmtp_user
: Mtumiaji wa SMTP
[webserver]
cookie_samesite
: Kwa default ni Lax, hivyo tayari ni thamani dhaifu zaidicookie_secure
: Weka bendera salama kwenye cookie ya kikaoexpose_config
: Kwa default ni False, ikiwa ni kweli, config inaweza kusomwa kutoka kwa console ya wavutiexpose_stacktrace
: Kwa default ni Kweli, itaonyesha python tracebacks (inaweza kuwa na manufaa kwa mshambuliaji)secret_key
: Hii ni ufunguo unaotumiwa na flask kusaini cookies (ikiwa una hii unaweza kujifanya kuwa mtumiaji yeyote katika Airflow)web_server_ssl_cert
: Njia ya SSL chetiweb_server_ssl_key
: Njia ya SSL Keyx_frame_enabled
: Default ni True, hivyo kwa default clickjacking haiwezekani
Web Authentication
Kwa default uthibitisho wa wavuti umeainishwa katika faili webserver_config.py
na umewekwa kama
AUTH_TYPE = AUTH_DB
Ambayo inamaanisha kwamba uthibitishaji unakaguliwa dhidi ya hifadhidata. Hata hivyo, usanidi mwingine unaweza kuwa kama
AUTH_TYPE = AUTH_OAUTH
Kuwaacha uthibitishaji kwa huduma za upande wa tatu.
Hata hivyo, pia kuna chaguo la kuruhusu watumiaji wasiojulikana kuingia, kuweka parameter ifuatayo kwa haki inayotakiwa:
AUTH_ROLE_PUBLIC = 'Admin'
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.