Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Como Configurar o Traefik Dashboard Seguro no Rocky Linux 9

14 min de leitura  ·  Guia técnico

Como configurar Traefik Dashboard com autenticação segura no Rocky Linux 9 é o processo de publicar a interface administrativa do Traefik com senha, HTTPS e rota controlada, evitando que detalhes internos do proxy fiquem expostos. Para proteger o painel, siga estes passos:

  1. Confirme que o Traefik está instalado e que o domínio do dashboard aponta para o servidor.
  2. Crie a configuração estática com API habilitada sem modo inseguro.
  3. Gere um hash de senha com htpasswd para usar no Basic Auth.
  4. Crie a configuração dinâmica com roteador, middleware e serviço api@internal.
  5. Reinicie o Traefik, valide logs e teste o acesso por HTTPS.

Pré-requisitos para proteger o Traefik Dashboard no Rocky Linux 9

A configuração segura do Traefik Dashboard no Rocky Linux 9 exige acesso administrativo ao servidor e atenção ao DNS, porque o painel só deve responder por um hostname planejado, como painel.seudominio.com.br. Antes de editar arquivos, confirme se o Traefik já está instalado, se o serviço roda pelo systemd e se você consegue acessar o servidor por SSH. Se ainda estiver organizando o acesso ao ambiente, veja também Acessando servidores VPS Linux da AviraHost.

  • Acesso root ou usuário com sudo no Rocky Linux 9.
  • Traefik instalado e executável disponível, por exemplo em /usr/local/bin/traefik.
  • Domínio ou subdomínio apontando para o IP do servidor.
  • Portas 80 e 443 liberadas no firewall, quando o dashboard for publicado com HTTPS.
  • Pacote httpd-tools para gerar hash de senha com htpasswd.
  • Conhecimento básico de systemd, YAML e logs com journalctl.
sudo dnf install -y httpd-tools
Output esperado:
Pacotes resolvidos.
Instalado:
  httpd-tools
Concluído.

Configuração estática do Traefik Dashboard seguro

A configuração estática do Traefik define entryPoints, provedores e a API interna do dashboard. O ponto mais importante é não usar o modo inseguro da API, pois ele expõe o painel diretamente sem passar por um roteador protegido. Em vez disso, habilite apenas o dashboard e faça a publicação pela configuração dinâmica, onde serão aplicados o domínio, o HTTPS e o middleware de autenticação. Ao rodar este comando, você verá se o diretório principal de configuração existe e poderá criar a estrutura esperada.

sudo mkdir -p /etc/traefik/dynamic
sudo ls -ld /etc/traefik /etc/traefik/dynamic
Output esperado:
drwxr-xr-x. root root /etc/traefik
drwxr-xr-x. root root /etc/traefik/dynamic

Crie ou revise o arquivo estático em formato YAML. Ajuste o e-mail, o domínio e o nome do resolver conforme seu ambiente. O exemplo usa Let's Encrypt como CA com httpChallenge (TLS Challenge HTTP) para emissão automática de certificados, o que exige que a porta 80 esteja acessível durante a validação. Se você já usa outro método de certificados TLS, mantenha o entryPoint websecure e adapte somente a parte de certificados. Para entender melhor redirecionamentos de HTTP para HTTPS em sites, a base Como redirecionar um site http para https? ajuda a comparar a lógica aplicada em aplicações web tradicionais.

sudo tee /etc/traefik/traefik.yml
entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

api:
  dashboard: true

providers:
  file:
    directory: "/etc/traefik/dynamic"
    watch: true

certificatesResolvers:
  letsencrypt:
    acme:
      email: "[email protected]"
      storage: "/etc/traefik/acme.json"
      httpChallenge:
        entryPoint: web
Output esperado:
entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
...

Atenção: se o arquivo /etc/traefik/traefik.yml já contém rotas, entryPoints ou providers em produção, faça backup antes de sobrescrever. Uma substituição incorreta pode interromper aplicações que dependem do Traefik.

sudo cp /etc/traefik/traefik.yml /etc/traefik/traefik.yml.bak
sudo ls -l /etc/traefik/traefik.yml.bak
Output esperado:
-rw-r--r--. root root ... /etc/traefik/traefik.yml.bak

Configurando o Middleware Basic Auth no Traefik Dashboard

O Basic Auth no Traefik Dashboard funciona como um middleware aplicado antes do serviço interno api@internal. A senha não deve ser escrita em texto puro no arquivo dinâmico; gere um hash com htpasswd e use esse valor na configuração. Ao executar o comando abaixo, substitua SENHA_FORTE_AQUI por uma senha longa, única e armazenada em um gerenciador de senhas. O usuário admin é apenas um exemplo; em ambientes com equipe, use nomes individuais para facilitar auditoria.

htpasswd -nbB admin "SENHA_FORTE_AQUI"
Output esperado:
admin:$2y$05$HASH_GERADO_PELO_HTPASSWD

Agora crie a configuração dinâmica do dashboard. Troque painel.seudominio.com.br pelo subdomínio real. O roteador usa o entryPoint websecure, aplica TLS com o resolver Let's Encrypt configurado e entrega o tráfego ao serviço api@internal. O Middleware Traefik auth-dashboard exige usuário e senha antes de permitir acesso à interface.

sudo tee /etc/traefik/dynamic/dashboard.yml
http:
  routers:
    traefik-dashboard:
      rule: "Host(`painel.seudominio.com.br`)"
      entryPoints:
        - websecure
      service: api@internal
      tls:
        certResolver: letsencrypt
      middlewares:
        - auth-dashboard

  middlewares:
    auth-dashboard:
      basicAuth:
        users:
          - "admin:$2y$05$HASH_GERADO_PELO_HTPASSWD"
Output esperado:
http:
  routers:
    traefik-dashboard:
      rule: "Host(`painel.seudominio.com.br`)"
...

Em seguida, ajuste permissões básicas para evitar edição acidental por usuários sem privilégio. Essa etapa não substitui controle de acesso no sistema operacional, mas reduz exposição indevida de arquivos sensíveis. Ao rodar o comando, você verá o proprietário root e permissões restritas de escrita.

sudo chown -R root:root /etc/traefik
sudo chmod 600 /etc/traefik/dynamic/dashboard.yml
sudo ls -l /etc/traefik/dynamic/dashboard.yml
Output esperado:
-rw-------. root root ... /etc/traefik/dynamic/dashboard.yml

Publicação com HTTPS e validação do serviço Traefik

A publicação do dashboard com HTTPS evita que credenciais do Basic Auth trafeguem sem criptografia. No Rocky Linux 9, é comum controlar o Traefik pelo systemd, então a validação deve passar por três pontos: sintaxe da configuração, status do serviço e logs. Se o Traefik já estiver em produção, reinicie em janela de manutenção ou use reload quando sua instalação permitir, pois alterações em entryPoints e resolvers podem afetar rotas existentes.

sudo traefik check --configFile=/etc/traefik/traefik.yml
Output esperado:
Configuration loaded from file: /etc/traefik/traefik.yml

Depois da validação, reinicie o serviço. Ao rodar este comando, o systemd deve indicar que o Traefik está ativo. Se aparecer falha, não continue tentando acesso pelo navegador; leia os logs primeiro para encontrar erro de YAML, permissão, porta ocupada ou problema de certificado.

sudo systemctl restart traefik
sudo systemctl status traefik --no-pager
Output esperado:
Active: active (running)
sudo journalctl -u traefik -n 80 --no-pager
Output esperado:
Configuration loaded from file: /etc/traefik/traefik.yml
Provider connection established
Server configuration reloaded

Por fim, teste o hostname pelo navegador usando https://painel.seudominio.com.br. O resultado esperado é uma janela solicitando usuário e senha antes de exibir a interface do Traefik. Se o certificado ainda estiver sendo emitido pelo Let's Encrypt, aguarde alguns instantes e revise se o DNS já aponta para o IP correto. Para uma implantação mais rígida, combine a autenticação com restrição por IP ou acesso via VPN.

Restrição por IP para endurecer o acesso ao Dashboard Traefik

A allowlist de IP é uma camada adicional útil quando o dashboard será acessado apenas por administradores, escritório, VPN ou IP fixo. Ela não substitui senha nem HTTPS, mas reduz a superfície de ataque porque usuários fora da rede permitida nem chegam à tela de autenticação. Em conexões residenciais com IP dinâmico, essa abordagem pode bloquear administradores legítimos; nesse caso, avalie VPN ou um procedimento de atualização controlado.

Adicione um middleware de IP e encadeie com o Basic Auth. Substitua 203.0.113.10/32 pelo IP público autorizado ou por uma faixa de rede realmente usada pela administração. Não coloque faixas amplas sem necessidade, pois isso diminui o ganho de segurança.

sudo tee /etc/traefik/dynamic/dashboard.yml
http:
  routers:
    traefik-dashboard:
      rule: "Host(`painel.seudominio.com.br`)"
      entryPoints:
        - websecure
      service: api@internal
      tls:
        certResolver: letsencrypt
      middlewares:
        - ip-admin
        - auth-dashboard

  middlewares:
    ip-admin:
      ipAllowList:
        sourceRange:
          - "203.0.113.10/32"
    auth-dashboard:
      basicAuth:
        users:
          - "admin:$2y$05$HASH_GERADO_PELO_HTPASSWD"
Output esperado:
http:
  routers:
    traefik-dashboard:
      middlewares:
        - ip-admin
        - auth-dashboard
...
sudo systemctl restart traefik
sudo journalctl -u traefik -n 50 --no-pager
Output esperado:
Server configuration reloaded

Teste a partir do IP autorizado e, se possível, também de uma rede externa não autorizada. Do IP permitido, o navegador deve pedir usuário e senha. De fora da allowlist, o acesso deve ser negado antes da autenticação. Esse comportamento confirma que o dashboard está protegido por múltiplas camadas, uma prática importante quando o proxy reverso concentra rotas de aplicações internas.

Problemas comuns e como resolver

Sintoma: o Traefik Dashboard retorna erro 404

Causa: a regra Host pode não corresponder ao domínio acessado, o roteador pode estar apontando para o entryPoint errado ou a API do dashboard não foi habilitada na configuração estática. Solução: confira se o navegador usa exatamente o domínio definido em rule, valide se api.dashboard está true e leia os logs com journalctl para confirmar que o arquivo dinâmico foi carregado.

Sintoma: o navegador não pede senha

Causa: o middleware de Basic Auth não foi associado ao roteador, o arquivo dashboard.yml não foi recarregado ou há outra rota mais genérica respondendo antes. Solução: revise a lista middlewares no roteador traefik-dashboard, reinicie o serviço e confirme no log que a configuração dinâmica foi carregada sem erro.

Sintoma: o serviço Traefik não inicia após editar YAML

Causa: erro de indentação, caractere inválido, permissão incorreta no arquivo ou porta 80/443 já ocupada por outro serviço. Solução: rode traefik check com o arquivo estático, verifique journalctl -u traefik e confirme se não há Nginx, Apache ou outro processo escutando as mesmas portas.

Sintoma: HTTPS não emite certificado

Causa: DNS ainda não aponta para o servidor, porta 80 bloqueada ou resolver de certificado configurado com dados incorretos. Solução: valide o registro A do subdomínio, confirme liberação da porta 80 para o TLS Challenge HTTP do Let's Encrypt e revise o bloco certificatesResolvers antes de reiniciar o Traefik.

Perguntas frequentes sobre Traefik Dashboard seguro no Rocky Linux 9

O Traefik Dashboard deve ficar público na internet?

O Traefik Dashboard não deve ficar aberto sem autenticação, porque expõe informações sensíveis sobre roteadores, serviços e middlewares. O ideal é proteger o acesso com autenticação, HTTPS e, quando possível, restrição por IP ou VPN.

Como proteger o Traefik Dashboard com senha no Rocky Linux 9?

A forma mais comum é aplicar um middleware de Basic Auth ao roteador do dashboard. A senha deve ser gerada como hash e referenciada na configuração dinâmica do Traefik, evitando credenciais em texto puro sempre que possível.

Preciso de Docker para usar o Traefik Dashboard?

Não obrigatoriamente, mas o Traefik é muito usado com Docker por detectar containers e rotas automaticamente via labels. Em Rocky Linux 9, também é possível usar arquivo de configuração dinâmica, systemd e provedores estáticos, dependendo da arquitetura do servidor.

Por que o Traefik Dashboard retorna erro 404?

O erro 404 geralmente indica que a rota do dashboard não foi criada corretamente, que a regra Host não corresponde ao domínio acessado ou que o entryPoint não está associado ao roteador. Também é necessário confirmar se a API/dashboard foi habilitada na configuração estática.

É seguro usar Basic Auth no Traefik Dashboard?

Basic Auth é aceitável quando usado junto com HTTPS e senhas fortes, pois a criptografia TLS protege as credenciais em trânsito. Para ambientes mais restritos, combine Basic Auth com allowlist de IP, VPN ou outro mecanismo de autenticação mais robusto.

Conclusão

Um Traefik Dashboard seguro no Rocky Linux 9 depende de três decisões principais: não expor a API em modo inseguro, publicar o painel por uma rota HTTPS controlada e aplicar autenticação antes do serviço api@internal. A camada de allowlist por IP melhora ainda mais a proteção quando o acesso administrativo vem de redes previsíveis.

  • Revise se api.dashboard está habilitado sem api.insecure.
  • Use hash de senha no Basic Auth e mantenha o arquivo dinâmico com permissão restrita.
  • Monitore journalctl após cada alteração para detectar erros de rota, TLS ou YAML.

Leia também

Precisa de ajuda com Traefik Dashboard seguro?

Se você quer publicar aplicações com Traefik, HTTPS e autenticação em um ambiente Linux, uma base VPS bem configurada facilita a operação e reduz ajustes manuais repetitivos. Avalie recursos, acesso root e controle de rede conforme o tamanho do seu projeto.

Conheça os planos de Servidor VPS da AviraHost

  • 0 Os usuários acharam isso útil
  • Traefik, dashboard, rockylinux, docker, proxy-reverso, segurança, AviraHost
Esta resposta foi útil?

Artigos Relacionados

Instalando painel de gerenciamento de hospedagem VirtualMin.

O virtualmin é um painel de gerenciamento de hospedagem de sites gratuito, que é suportado por...

Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular

1. Pelo menu Iniciar, acesse os “Acessórios do Windows” e abra o “Conexão de Área de Trabalho...

Como acessar o painel de gerenciamento dos meus Serviços.

Para acessar o painel de gerenciamento do seu serviço basta seguir o passo á passo abaixo.   1....

Compreendendo o Servidor VPS: O que é e Como Funciona!

Um servidor VPS (Virtual Private Server) é uma solução de hospedagem na qual um servidor físico é...

Como trocar a senha do usuário root do servidor VPS ou Dedicado.

Para trocar a senha do usuário root em um servidor VPS da AviraHost, você pode seguir os...