Autenticação LDAP em Instância Mastodon para Uso Corporativo: Configuração
🔍 WiseChecker

Autenticação LDAP em Instância Mastodon para Uso Corporativo: Configuração

Administradores de TI corporativos frequentemente precisam integrar o Mastodon com sistemas de gerenciamento de identidade existentes. Sem autenticação LDAP, os usuários precisam criar e gerenciar senhas separadas para o Mastodon. Isso aumenta a sobrecarga de suporte e enfraquece a segurança. Este artigo explica como configurar a autenticação LDAP em uma instância do Mastodon para ambientes corporativos.

Principais pontos: Configuração de Autenticação LDAP no Mastodon

  • Gem OmniAuth LDAP: Gem Ruby necessária para habilitar integração LDAP no Mastodon.
  • Variáveis de ambiente no .env.production: Armazene URL do servidor LDAP, base DN e credenciais de bind para configuração segura.
  • Painel admin do Mastodon > Autenticação: Ative LDAP como provedor de autenticação confiável após a configuração.

ADVERTISEMENT

O que a Autenticação LDAP Faz pelo Mastodon

A autenticação LDAP permite que o Mastodon valide credenciais de usuário contra um diretório corporativo como Active Directory ou OpenLDAP. Quando ativada, os usuários fazem login com seu nome de usuário e senha corporativos existentes. O Mastodon nunca armazena essas senhas. Em vez disso, envia as credenciais para o servidor LDAP para verificação. Essa configuração impõe políticas de senha centralizadas e possibilita o single sign-on em aplicações corporativas.

Antes de começar, confirme que você tem o seguinte:

  • Uma instância do Mastodon em execução com acesso administrativo via shell.
  • Um servidor LDAP acessível a partir do servidor Mastodon.
  • Uma conta de serviço ou usuário de bind com acesso de leitura ao diretório LDAP.
  • Familiaridade básica com arquivos de ambiente e gerenciamento de gems Ruby.

Como Funciona o Fluxo de Autenticação

O Mastodon usa o framework OmniAuth para lidar com autenticação externa. A gem omniauth-ldap atua como uma ponte. Quando um usuário clica em “Entrar com LDAP” na página de login do Mastodon, o servidor constrói uma requisição de bind LDAP usando o nome de usuário e senha fornecidos. O servidor LDAP responde com um código de sucesso ou falha. Em caso de sucesso, o Mastodon cria ou recupera uma conta de usuário local vinculada ao distinguished name do LDAP. Logins subsequentes pulam a etapa de criação e simplesmente autenticam contra o LDAP.

Passos para Configurar Autenticação LDAP em uma Instância Mastodon

  1. Instale a gem omniauth-ldap
    Conecte-se via SSH ao seu servidor Mastodon. Navegue até o diretório de instalação do Mastodon, geralmente /home/mastodon/live. Edite o arquivo Gemfile e adicione esta linha: gem ‘omniauth-ldap’, ‘~> 2.1’. Salve o arquivo. Execute bundle install como o usuário mastodon. Isso instala a gem e suas dependências.
  2. Configure as variáveis de ambiente
    Abra o arquivo .env.production no diretório do Mastodon. Adicione as seguintes variáveis com os detalhes do seu servidor LDAP. Substitua os valores de exemplo pela sua configuração real:
    LDAP_ENABLED=true
    LDAP_HOST=ldap.corporate.example.com
    LDAP_PORT=389
    LDAP_METHOD=plain
    LDAP_BASE=dc=corporate,dc=example,dc=com
    LDAP_UID=uid
    LDAP_BIND_DN=cn=admin,dc=corporate,dc=example,dc=com
    LDAP_PASSWORD=sua_senha_de_bind
    LDAP_FILTER=(objectClass=inetOrgPerson)
    Salve o arquivo.
  3. Reinicie os serviços do Mastodon
    Execute systemctl restart mastodon-web mastodon-sidekiq mastodon-streaming. Isso recarrega as variáveis de ambiente e ativa a estratégia LDAP.
  4. Ative o LDAP no painel admin
    Faça login no Mastodon como administrador. Vá em Preferências > Administração > Configurações do Servidor > Autenticação. Marque a caixa para LDAP em “Provedores de autenticação confiáveis”. Clique em Salvar Alterações.
  5. Teste o fluxo de login
    Abra uma janela de navegador privada. Navegue até sua instância Mastodon. Clique no botão “Entrar com LDAP”. Insira um nome de usuário e senha corporativos válidos. Se bem-sucedido, o Mastodon cria uma nova conta ou vincula a existente. Verifique se o usuário aparece na lista de usuários do admin.

ADVERTISEMENT

Problemas Comuns de Configuração LDAP e Correções

Bind LDAP Falha com “Credenciais Inválidas”

Esse erro geralmente significa que o bind DN ou a senha no .env.production estão incorretos. Verifique a sintaxe do bind DN. Para Active Directory, use o formato CN=Service Account,CN=Users,DC=corporate,DC=example,DC=com. Confirme que a conta de bind tem permissões de leitura no base DN. Use uma ferramenta de navegação LDAP para testar as credenciais fora do Mastodon.

Usuários Não Conseguem Entrar Após LDAP Ser Ativado

Se a autenticação LDAP aparecer na página de login, mas falhar para todos os usuários, o LDAP_FILTER pode estar muito restritivo. Comece com um filtro simples como (objectClass=*) para confirmar a conectividade. Gradualmente, restrinja o filtro. Também confirme que o atributo LDAP_UID corresponde ao campo que os usuários inserem como nome de usuário. Para Active Directory, defina LDAP_UID=sAMAccountName.

Usuários LDAP São Criados, Mas Não Podem Publicar ou Seguir

Novas contas autenticadas por LDAP herdam a função padrão das configurações do Mastodon. Por padrão, essa função é “Usuário” com permissões limitadas. Se você precisar que novos usuários tenham privilégios elevados, altere a função padrão em Preferências > Administração > Configurações do Servidor > Registros. Defina “Função padrão para novos usuários” como “Moderador” ou “Admin” conforme necessário. Tenha cuidado com essa configuração em produção.

Autenticação LDAP vs Autenticação Local para Mastodon Corporativo

Item Autenticação LDAP Autenticação Local
Armazenamento de senha Armazenada apenas no diretório corporativo Armazenada no banco de dados do Mastodon como hash
Aplicação de política de senha Herda as regras corporativas de senha Requer configuração manual de política
Ciclo de vida da conta Desabilitar no LDAP desabilita o acesso ao Mastodon Deve ser desabilitado separadamente no Mastodon
Complexidade de configuração Requer instalação de gem e variáveis de ambiente Funciona imediatamente
Experiência do usuário Single sign-on com credenciais corporativas Nome de usuário e senha separados para o Mastodon

A autenticação LDAP centraliza o gerenciamento de identidades e reduz o cansaço de senhas. A contrapartida é o esforço adicional de configuração e a dependência da disponibilidade do servidor LDAP. Se o servidor LDAP ficar offline, os usuários não poderão fazer login até que a conectividade seja restaurada.

Após concluir esta configuração, você pode aplicar autenticação multifator no nível LDAP em vez de configurá-la dentro do Mastodon. Para implantações avançadas, considere usar LDAPS na porta 636 para tráfego criptografado. Defina LDAP_METHOD=ssl e altere a porta no .env.production para 636. Teste a conexão criptografada com um cliente LDAP antes de disponibilizar para os usuários.

ADVERTISEMENT