Airflow Configuration
Last updated
Last updated
Aprenda e pratique Hacking AWS: Aprenda e pratique Hacking GCP:
Apache Airflow gera um arquivo de configuração em todas as máquinas do airflow chamado airflow.cfg
na pasta inicial do usuário airflow. Este arquivo de configuração contém informações de configuração e pode conter informações interessantes e sensíveis.
Existem duas maneiras de acessar este arquivo: Comprometendo alguma máquina do airflow ou acessando o console web.
Observe que os valores dentro do arquivo de configuração podem não ser os utilizados, pois você pode sobrescrevê-los definindo variáveis de ambiente como AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
.
Se você tiver acesso ao arquivo de configuração no servidor web, pode verificar a configuração real em execução na mesma página em que a configuração é exibida. Se você tiver acesso a alguma máquina dentro do ambiente do airflow, verifique o ambiente.
Alguns valores interessantes para verificar ao ler o arquivo de configuração:
access_control_allow_headers
: Isso indica os cabeçalhos permitidos para CORS
access_control_allow_methods
: Isso indica os métodos permitidos para CORS
access_control_allow_origins
: Isso indica as origens permitidas para CORS
auth_backend
: algumas opções podem ser configuradas para definir quem pode acessar a API:
airflow.api.auth.backend.deny_all
: Por padrão, ninguém pode acessar a API
airflow.api.auth.backend.default
: Todos podem acessá-la sem autenticação
airflow.api.auth.backend.kerberos_auth
: Para configurar autenticação kerberos
airflow.api.auth.backend.basic_auth
: Para autenticação básica
airflow.composer.api.backend.composer_auth
: Usa autenticação de compositores (GCP) (de ).
composer_auth_user_registration_role
: Isso indica a função que o usuário compositor terá dentro do airflow (Op por padrão).
Você também pode criar seu próprio método de autenticação com python.
google_key_path
: Caminho para a chave da conta de serviço GCP
password
: Senha do Atlas
username
: Nome de usuário do Atlas
flower_basic_auth
: Credenciais (user1:password1,user2:password2)
result_backend
: URL do Postgres que pode conter credenciais.
ssl_cacert
: Caminho para o cacert
ssl_cert
: Caminho para o cert
ssl_key
: Caminho para a chave
dag_discovery_safe_mode
: Habilitado por padrão. Ao descobrir DAGs, ignore quaisquer arquivos que não contenham as strings DAG
e airflow
.
fernet_key
: Chave para armazenar variáveis criptografadas (simétrica)
hide_sensitive_var_conn_fields
: Habilitado por padrão, oculta informações sensíveis de conexões.
security
: Qual módulo de segurança usar (por exemplo, kerberos)
tls_ca
: Caminho para ca
tls_cert
: Caminho para o cert
tls_key
: Caminho para a chave tls
ccache
: Caminho para o arquivo ccache
forwardable
: Habilitado por padrão
google_key_path
: Caminho para as credenciais JSON do GCP.
backend
: Nome completo da classe do backend de segredos a ser habilitado
backend_kwargs
: O parâmetro backend_kwargs é carregado em um dicionário e passado para init da classe do backend de segredos.
smtp_password
: Senha SMTP
smtp_user
: Usuário SMTP
cookie_samesite
: Por padrão é Lax, então já é o valor mais fraco possível
cookie_secure
: Define a bandeira segura no cookie de sessão
expose_config
: Por padrão é Falso, se verdadeiro, a configuração pode ser lida do console web
expose_stacktrace
: Por padrão é Verdadeiro, mostrará tracebacks python (potencialmente útil para um atacante)
secret_key
: Esta é a chave usada pelo flask para assinar os cookies (se você tiver isso, pode impersonar qualquer usuário no Airflow)
web_server_ssl_cert
: Caminho para o certificado SSL
web_server_ssl_key
: Caminho para a Chave SSL
x_frame_enabled
: O padrão é Verdadeiro, então por padrão o clickjacking não é possível
Por padrão, a autenticação web é especificada no arquivo webserver_config.py
e é configurada como
O que significa que a autenticação é verificada contra o banco de dados. No entanto, outras configurações são possíveis, como
Para deixar a autenticação para serviços de terceiros.
No entanto, também há uma opção para permitir acesso a usuários anônimos, definindo o seguinte parâmetro para o papel desejado:
Aprenda e pratique Hacking AWS: Aprenda e pratique Hacking GCP:
Confira os !
Junte-se ao 💬 ou ao ou siga-nos no Twitter 🐦 .
Compartilhe truques de hacking enviando PRs para os repositórios do e .