Gostaria de aprender a configurar a autenticação Radius do Dashboard Kubernetes com Freeradius? Neste tutorial, vamos mostrar como autenticar os usuários do Kubernetes Dashboard usando o protocolo Radius e o serviço Freeradius em um computador executando o Ubuntu Linux.
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
Este tutorial instalará um nó mestre Kubernetes.
Em nosso exemplo, o endereço IP do nó mestre Kubernetes é 192.168.15.200.
Em nosso exemplo, o endereço IP do servidor Radius é 192.168.15.10.
Kubernetes – Tutoriais
Nesta página, oferecemos acesso rápido a uma lista de tutoriais relacionados a Kubernetes.
Tutorial – Instalação do servidor FreeRadius no Ubuntu Linux
• IP – 192.168.15.10
• Sistema Operacional – Ubuntu 20
• Nome do host – FREERADIUS
Na console do Linux, use os seguintes comandos para instalar o serviço FreeRadius.
Agora, precisamos adicionar clientes FreeRadius ao arquivo clients.conf.
Localize e edite o arquivo chamado clients.conf.
Adicione as seguintes linhas no final do arquivo clients.conf.
Em nosso exemplo, estamos adicionando 1 dispositivo cliente:
O dispositivo foi chamado KUBERNETES e tem o endereço IP 192.168.15.200.
Em nosso exemplo, definimos o segredo: KAMISAMA123.
Agora, precisamos adicionar usuários freeradius ao arquivo de configuração chaamado USERS.
Encontre e edite o arquivo de configuração do usuário Freeradius.
Adicione as seguintes linhas no final do arquivo
Em nosso exemplo, criamos uma conta de usuário chamada ADMIN.
Reinicie o servidor Freeradius.
Teste seu arquivo de configuração do servidor Radius.
Você terminou a instalação do Freeradius no Ubuntu Linux.
Tutorial Kubernetes – Instalação do Master Node
Instale a lista de pacotes necessários.
Instale o serviço Docker.
Habilite o serviço Docker durante a inicialização.
Edite o arquivo de configuração do serviço Docker.
Adicione a seguinte configuração no final do item nomeado: EXECSTART
Aqui está o arquivo antes de nossa configuração.
Aqui está o arquivo após nossa configuração.
Crie um arquivo de configuração do sistema.
Aqui está o conteúdo do arquivo.
Habilite o arquivo de configuração do sistema.
Edite o arquivo de configuração nomeado: MODULES.CONF
Adicione a seguinte configuração no final deste arquivo.
Edite o arquivo de configuração FSTAB e desabilite o uso da memória Swap.
Aqui está o arquivo antes de nossa configuração.
Aqui está o arquivo após nossa configuração.
Defina um nome de host único.
Crie um arquivo para configurar as variáveis de ambiente necessárias.
Aqui está o conteúdo do arquivo.
Reinicie o computador.
Baixe e instale a chave do repositório Kubernetes.
Adicione o repositório oficial do pacote Kubernetes.
Instale os pacotes Kubernetes.
Baixe as imagens necessárias de Kubernetes.
Aqui está a saída de comando.
Inicialize o cluster Kubernetes.
Aqui está a saída de comando.
Tome nota do comando para adicionar nós ao cluster Kubernetes.
Defina a permissão de arquivo correta no arquivo de configuração do Kubernetes.
Instale a configuração de rede necessária.
Por padrão, um node master Kubernetes não pode executar PODS.
Opcionalmente, habilite o mestre Kubernetes para executar PODS.
Em nosso exemplo, estamos usando um cluster Kubernetes de um nó único.
Tutorial – Instalação do Kubernetes Dashboard
Instale a lista de pacotes necessários.
Baixe o arquivo YAML necessário.
Instale o Kubernetes Dashboard.
Aqui está a saída de comando.
Crie uma conta de serviço para o Dashboard.
Configure a função administrador do Cluster na conta de serviço do Dashboard.
Crie uma conta de serviço para o proxy Apache.
Configure a função de administrador do Cluster para a conta proxy Apache.
Liste o segredo Apache disponível no servidor Kubernetes.
Aqui está a saída de comando.
Note que o nome do seu segredo não será o mesmo que o nosso.
Pegue o valor do símbolo secreto apache.
Aqui está a saída de comando.
Tome nota do valor do token Apache.
Em nosso exemplo, este é o valor do token:
Liste o endereço IP do cluster do serviço do Dashboard.
Aqui está a saída de comando.
Tome nota do endereço IP do cluster e da porta TCP.
Em nosso exemplo, o cluster Dashboard está usando a porta TCP 443 e o endereço IP 10.107.55.24.
Você terminou a configuração necessária do Dashboard.
Kubernetes Proxy – Autenticação Radius usando Apache
No node master, instale o servidor Apache.
Habilite os módulos Apache necessários.
Edite o arquivo de configuração do Apache.
Adicione as seguintes linhas ao final deste arquivo.
Crie uma chave e certificado privados usando o comando OpenSSL.
Insira as informações solicitadas.
Na opção nomeada COMMON_NAME, você deve inserir o endereço IP ou o nome do host.
Em nosso exemplo, usamos o endereço IP: 192.168.15.200
Converta seu certificado de proxy Kubernetes existente e a chave para um único arquivo no formato PEM.
Edite o arquivo de configuração Apache para o site padrão.
Aqui está o arquivo, antes de nossa configuração.
Aqui está o arquivo, depois de nossa configuração.
Altere o endereço IP do item de configuração chamado ADDRADIUSAUTH para o endereço IP do servidor Radius.
Altere o endereço IP dos itens de configuração chamados PROXYPASS e PROXYPASSREVERSE para o endereço IP do cluster Dashboard.
Altere o valor do token do CI chamado REQUESTHEADER para o valor do token secreto Apache criado anteriormente.
Em nosso exemplo, habilitamos o uso de HTTPS através de certificados auto-assinados.
Em nosso exemplo, configuramos o uso da autenticação RADIUS.
O Apache representará a comunicação HTTPS entre o usuário e o endereço IP do cluster Dashboard.
O Apache usará um certificado e uma chave criados automaticamente durante a instalação do servidor Kubernetes para executar a autenticação TLS mútua no Painel.
O servidor Apache adicionará um cabeçalho a todos os pacotes enviados ao Painel.
Este cabeçalho é chamado DE PORTADOR DE AUTORIZAÇÃO e contém o token secreto criado anteriormente no proxy Apache.
O Apache também redirecionará os usuários HTTP para a versão HTTPS da URL solicitada.
Reinicie o serviço Apache.
Abra seu navegador e acesse a versão HTTPS do endereço IP do servidor Apache.
Em nosso exemplo, a seguinte URL foi inserida no navegador:
• https://192.168.15.200
O servidor Apache exigirá que você execute a autenticação do usuário.
Após um login bem-sucedido, o Dashboard do Kubernetes deve ser apresentado.
O proxy Apache autenticará automaticamente no Painel Kubernetes usando o recurso chamado: AUTH HEADER.
Você completou com sucesso a configuração do Apache como um proxy para o Painel Kubernetes.