Integração DevSecOps: SSO, 2FA e RBAC no Wazuh com Authentik
Simplifique o gerenciamento de acesso ao Wazuh e outros serviços com Authentik, implementando Single Sign-On (SSO), autenticação de dois fatores (2FA) obrigatória e controle de acesso baseado em roles (RBAC). Aprenda a coletar logs do Authentik diretamente no Wazuh para monitoramento aprimorado.
MundiX News·01 de maio de 2026·15 min de leitura·👁 1 views
Simplificando o Gerenciamento de Acesso: SSO, 2FA e RBAC no Wazuh com Authentik
No universo DevSecOps, a gestão eficiente e segura do acesso a ferramentas de monitoramento é um desafio constante. A proliferação de serviços como Wazuh, Grafana, Portainer e Proxmox, cada um com seu próprio sistema de autenticação, cria um cenário caótico e propenso a falhas de segurança. Gerenciar senhas individuais, revogar acessos de ex-colaboradores e garantir a conformidade com políticas de segurança se tornam tarefas hercúleas. É nesse contexto que o Authentik, um Identity Provider (IdP) auto-hospedado, surge como uma solução robusta para centralizar e otimizar o controle de identidade e acesso.
O Authentik atua como um "Google pessoal" para sua infraestrutura, permitindo que você controle quem acessa o quê, sem depender de serviços de terceiros. Ele resolve problemas críticos como a necessidade de múltiplos logins e senhas, a complexidade na revogação de acessos e a dificuldade em implementar autenticação de dois fatores (2FA) de forma consistente. Com o Authentik, você pode implementar Single Sign-On (SSO), onde um único login dá acesso a todos os serviços integrados. A gestão de usuários é centralizada: um colaborador que deixa a equipe tem seu acesso a todos os sistemas revogado instantaneamente ao ter sua conta no Authentik desativada. Além disso, o 2FA, como TOTP (Time-based One-Time Password), é habilitado de forma nativa e se estende a todos os serviços conectados, eliminando a necessidade de configurações individuais. O Controle de Acesso Baseado em Roles (RBAC) permite granularidade, definindo permissões específicas para diferentes perfis de usuários, como desenvolvedores ou analistas de SOC, que são propagadas para o Wazuh via SAML. Finalmente, o Authentik oferece um registro completo de auditoria de todos os acessos, permitindo que você monitore quem acessou o quê, quando e de onde.
Neste guia, abordaremos a integração do Authentik com o Wazuh em três frentes principais. Primeiro, configuraremos o SSO utilizando o protocolo SAML, permitindo que os usuários façam login no Wazuh através do Authentik. Em seguida, implementaremos o 2FA obrigatório via TOTP para garantir uma camada adicional de segurança. Por fim, exploraremos como coletar os logs de auditoria do Authentik diretamente no Wazuh, transformando seu sistema de monitoramento em um guardião de si mesmo, com regras prontas para análise. Este processo não só fortalece a segurança da sua infraestrutura, mas também simplifica drasticamente a administração de identidades e acessos, liberando tempo para focar em tarefas mais estratégicas.
Parte 1: Integração SSO - Authentik para Wazuh via SAML
A configuração do SSO entre Authentik e Wazuh envolve a configuração de ambos os lados para confiarem um no outro como provedores de identidade e de serviço, respectivamente. No Authentik, o processo começa com a criação de grupos para definir roles (como wazuh-administrators), e a configuração de "Property Mappings" para enviar esses roles como atributos SAML. Em seguida, um "SAML Provider" é criado, definindo os endpoints de comunicação (ACS URL) e o entity_id. É crucial definir se o fluxo será SP-initiated (iniciado pelo Wazuh) ou IdP-initiated (iniciado pelo Authentik), sendo este último preferível para um portal de aplicações unificado. Após a criação do provedor, uma "Application" é associada a ele, e os metadados do IdP (um arquivo XML) são baixados.
No lado do Wazuh Indexer, o arquivo config.yml do módulo opensearch-security é modificado para incluir o Authentik como um provedor SAML. É necessário configurar o idp_initiated (se aplicável), o caminho para o arquivo de metadados do IdP, o entity_id que deve corresponder ao configurado no Authentik, a URL do Kibana (agora Wazuh Dashboard), e a chave de roles (roles_key) que corresponde ao atributo SAML enviado pelo Authentik. Um exchange_key é gerado para assinar tokens JWT internos. É importante notar que, em um cluster Wazuh Indexer, essas configurações de arquivo devem ser replicadas em todas as nodes, e o comando securityadmin.sh deve ser executado para aplicar as mudanças. Adicionalmente, o arquivo roles_mapping.yml é ajustado para mapear os "backend roles" recebidos do Authentik (ex: wazuh-admin) para roles internos do Wazuh (ex: all_access), permitindo a aplicação do RBAC. No Wazuh Dashboard, a configuração opensearch_dashboards.yml é atualizada para habilitar o SAML como método de autenticação e adicionar os endpoints SAML à lista de permissões XSRF. A configuração session.keepalive: false é recomendada para evitar conflitos com o gerenciamento de sessão do Authentik.
Parte 2: Habilitando 2FA Obrigatório via TOTP
Para elevar o nível de segurança, a implementação de autenticação de dois fatores (2FA) é essencial. O Authentik facilita a imposição do 2FA, permitindo que ele seja obrigatório para todos os usuários. Isso é configurado diretamente nos "Flows" de autenticação do Authentik. Ao editar o fluxo de autenticação padrão (geralmente default-authentication-flow), adiciona-se ou configura-se um "Stage" de validação de MFA (Multi-Factor Authentication). O parâmetro chave aqui é definir a ação para "Force the user to configure an authenticator" (Forçar o usuário a configurar um autenticador). As "Device classes" podem ser configuradas para incluir TOTP, WebAuthn, ou outros métodos suportados. Este stage deve ser posicionado após a validação da senha, mas antes da finalização do login. Com essa configuração, cada tentativa de login no Authentik, e consequentemente nos serviços integrados como o Wazuh, exigirá um código de um aplicativo autenticador (como Google Authenticator ou Microsoft Authenticator). Na primeira vez que um usuário logar após essa configuração, ele será apresentado a um QR code para vincular seu dispositivo. Caso um usuário perca o acesso ao seu dispositivo ou aplicativo, um administrador pode remover o TOTP associado à conta do usuário diretamente na interface do Authentik, forçando uma nova configuração na próxima tentativa de login.
Parte 3: Coleta de Logs do Authentik no Wazuh
A integração final e mais poderosa é a capacidade do Wazuh de monitorar o próprio Authentik. Isso é realizado através da coleta dos logs de auditoria gerados pelo Authentik. Primeiro, um token de API é criado no Authentik (em Admin -> Directory -> Tokens and App Passwords) com permissões suficientes para acessar os eventos de auditoria. É recomendado criar um usuário de serviço dedicado para este token, em vez de usar a conta de administrador principal, para minimizar o impacto em caso de comprometimento do token. Em seguida, a retenção de eventos no Authentik pode ser ajustada (em Admin -> System -> Settings -> Event retention) para um período mais curto, já que os logs principais serão armazenados no Wazuh. Um script Python foi desenvolvido para buscar esses eventos via API do Authentik, desduplicá-los entre execuções usando um arquivo de estado e enviá-los para o Wazuh via API REST. Os logs são formatados em JSON, permitindo que o Wazuh os consuma nativamente sem a necessidade de decodificadores customizados. O script gerencia a paginação da API, lida com erros e pode opcionalmente escrever os eventos em um arquivo local para processamento posterior por outras ferramentas, como Filebeat, ou enviá-los diretamente para o endpoint /events do Wazuh. Este processo garante que todas as atividades dentro do Authentik, desde logins bem-sucedidos e falhos até alterações de configuração, sejam registradas e analisadas pelo Wazuh, proporcionando uma visibilidade completa sobre o controle de acesso da sua infraestrutura.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Simplificando o Gerenciamento de Acesso: SSO, 2FA e RBAC no Wazuh com Authentik
No universo DevSecOps, a gestão eficiente e segura do acesso a ferramentas de monitoramento é um desafio constante. A proliferação de serviços como Wazuh, Grafana, Portainer e Proxmox, cada um com seu próprio sistema de autenticação, cria um cenário caótico e propenso a falhas de segurança. Gerenciar senhas individuais, revogar acessos de ex-colaboradores e garantir a conformidade com políticas de segurança se tornam tarefas hercúleas. É nesse contexto que o Authentik, um Identity Provider (IdP) auto-hospedado, surge como uma solução robusta para centralizar e otimizar o controle de identidade e acesso.
O Authentik atua como um "Google pessoal" para sua infraestrutura, permitindo que você controle quem acessa o quê, sem depender de serviços de terceiros. Ele resolve problemas críticos como a necessidade de múltiplos logins e senhas, a complexidade na revogação de acessos e a dificuldade em implementar autenticação de dois fatores (2FA) de forma consistente. Com o Authentik, você pode implementar Single Sign-On (SSO), onde um único login dá acesso a todos os serviços integrados. A gestão de usuários é centralizada: um colaborador que deixa a equipe tem seu acesso a todos os sistemas revogado instantaneamente ao ter sua conta no Authentik desativada. Além disso, o 2FA, como TOTP (Time-based One-Time Password), é habilitado de forma nativa e se estende a todos os serviços conectados, eliminando a necessidade de configurações individuais. O Controle de Acesso Baseado em Roles (RBAC) permite granularidade, definindo permissões específicas para diferentes perfis de usuários, como desenvolvedores ou analistas de SOC, que são propagadas para o Wazuh via SAML. Finalmente, o Authentik oferece um registro completo de auditoria de todos os acessos, permitindo que você monitore quem acessou o quê, quando e de onde.
Neste guia, abordaremos a integração do Authentik com o Wazuh em três frentes principais. Primeiro, configuraremos o SSO utilizando o protocolo SAML, permitindo que os usuários façam login no Wazuh através do Authentik. Em seguida, implementaremos o 2FA obrigatório via TOTP para garantir uma camada adicional de segurança. Por fim, exploraremos como coletar os logs de auditoria do Authentik diretamente no Wazuh, transformando seu sistema de monitoramento em um guardião de si mesmo, com regras prontas para análise. Este processo não só fortalece a segurança da sua infraestrutura, mas também simplifica drasticamente a administração de identidades e acessos, liberando tempo para focar em tarefas mais estratégicas.
Parte 1: Integração SSO - Authentik para Wazuh via SAML
A configuração do SSO entre Authentik e Wazuh envolve a configuração de ambos os lados para confiarem um no outro como provedores de identidade e de serviço, respectivamente. No Authentik, o processo começa com a criação de grupos para definir roles (como wazuh-administrators), e a configuração de "Property Mappings" para enviar esses roles como atributos SAML. Em seguida, um "SAML Provider" é criado, definindo os endpoints de comunicação (ACS URL) e o entity_id. É crucial definir se o fluxo será SP-initiated (iniciado pelo Wazuh) ou IdP-initiated (iniciado pelo Authentik), sendo este último preferível para um portal de aplicações unificado. Após a criação do provedor, uma "Application" é associada a ele, e os metadados do IdP (um arquivo XML) são baixados.
No lado do Wazuh Indexer, o arquivo config.yml do módulo opensearch-security é modificado para incluir o Authentik como um provedor SAML. É necessário configurar o idp_initiated (se aplicável), o caminho para o arquivo de metadados do IdP, o entity_id que deve corresponder ao configurado no Authentik, a URL do Kibana (agora Wazuh Dashboard), e a chave de roles (roles_key) que corresponde ao atributo SAML enviado pelo Authentik. Um exchange_key é gerado para assinar tokens JWT internos. É importante notar que, em um cluster Wazuh Indexer, essas configurações de arquivo devem ser replicadas em todas as nodes, e o comando securityadmin.sh deve ser executado para aplicar as mudanças. Adicionalmente, o arquivo roles_mapping.yml é ajustado para mapear os "backend roles" recebidos do Authentik (ex: wazuh-admin) para roles internos do Wazuh (ex: all_access), permitindo a aplicação do RBAC. No Wazuh Dashboard, a configuração opensearch_dashboards.yml é atualizada para habilitar o SAML como método de autenticação e adicionar os endpoints SAML à lista de permissões XSRF. A configuração session.keepalive: false é recomendada para evitar conflitos com o gerenciamento de sessão do Authentik.
Parte 2: Habilitando 2FA Obrigatório via TOTP
Para elevar o nível de segurança, a implementação de autenticação de dois fatores (2FA) é essencial. O Authentik facilita a imposição do 2FA, permitindo que ele seja obrigatório para todos os usuários. Isso é configurado diretamente nos "Flows" de autenticação do Authentik. Ao editar o fluxo de autenticação padrão (geralmente default-authentication-flow), adiciona-se ou configura-se um "Stage" de validação de MFA (Multi-Factor Authentication). O parâmetro chave aqui é definir a ação para "Force the user to configure an authenticator" (Forçar o usuário a configurar um autenticador). As "Device classes" podem ser configuradas para incluir TOTP, WebAuthn, ou outros métodos suportados. Este stage deve ser posicionado após a validação da senha, mas antes da finalização do login. Com essa configuração, cada tentativa de login no Authentik, e consequentemente nos serviços integrados como o Wazuh, exigirá um código de um aplicativo autenticador (como Google Authenticator ou Microsoft Authenticator). Na primeira vez que um usuário logar após essa configuração, ele será apresentado a um QR code para vincular seu dispositivo. Caso um usuário perca o acesso ao seu dispositivo ou aplicativo, um administrador pode remover o TOTP associado à conta do usuário diretamente na interface do Authentik, forçando uma nova configuração na próxima tentativa de login.
Parte 3: Coleta de Logs do Authentik no Wazuh
A integração final e mais poderosa é a capacidade do Wazuh de monitorar o próprio Authentik. Isso é realizado através da coleta dos logs de auditoria gerados pelo Authentik. Primeiro, um token de API é criado no Authentik (em Admin -> Directory -> Tokens and App Passwords) com permissões suficientes para acessar os eventos de auditoria. É recomendado criar um usuário de serviço dedicado para este token, em vez de usar a conta de administrador principal, para minimizar o impacto em caso de comprometimento do token. Em seguida, a retenção de eventos no Authentik pode ser ajustada (em Admin -> System -> Settings -> Event retention) para um período mais curto, já que os logs principais serão armazenados no Wazuh. Um script Python foi desenvolvido para buscar esses eventos via API do Authentik, desduplicá-los entre execuções usando um arquivo de estado e enviá-los para o Wazuh via API REST. Os logs são formatados em JSON, permitindo que o Wazuh os consuma nativamente sem a necessidade de decodificadores customizados. O script gerencia a paginação da API, lida com erros e pode opcionalmente escrever os eventos em um arquivo local para processamento posterior por outras ferramentas, como Filebeat, ou enviá-los diretamente para o endpoint /events do Wazuh. Este processo garante que todas as atividades dentro do Authentik, desde logins bem-sucedidos e falhos até alterações de configuração, sejam registradas e analisadas pelo Wazuh, proporcionando uma visibilidade completa sobre o controle de acesso da sua infraestrutura.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.