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.

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.

Copy to Clipboard

Agora, precisamos adicionar clientes FreeRadius ao arquivo clients.conf.

Localize e edite o arquivo chamado clients.conf.

Copy to Clipboard

Adicione as seguintes linhas no final do arquivo clients.conf.

Copy to Clipboard

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.

Copy to Clipboard

Adicione as seguintes linhas no final do arquivo

Copy to Clipboard

Em nosso exemplo, criamos uma conta de usuário chamada ADMIN.

Reinicie o servidor Freeradius.

Copy to Clipboard

Teste seu arquivo de configuração do servidor Radius.

Copy to Clipboard

Você terminou a instalação do Freeradius no Ubuntu Linux.

Tutorial Kubernetes – Instalação do Master Node

Instale a lista de pacotes necessários.

Copy to Clipboard

Instale o serviço Docker.

Copy to Clipboard

Habilite o serviço Docker durante a inicialização.

Copy to Clipboard

Edite o arquivo de configuração do serviço Docker.

Copy to Clipboard

Adicione a seguinte configuração no final do item nomeado: EXECSTART

Copy to Clipboard

Aqui está o arquivo antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo após nossa configuração.

Copy to Clipboard

Crie um arquivo de configuração do sistema.

Copy to Clipboard

Aqui está o conteúdo do arquivo.

Copy to Clipboard

Habilite o arquivo de configuração do sistema.

Copy to Clipboard

Edite o arquivo de configuração nomeado: MODULES.CONF

Copy to Clipboard

Adicione a seguinte configuração no final deste arquivo.

Copy to Clipboard

Edite o arquivo de configuração FSTAB e desabilite o uso da memória Swap.

Copy to Clipboard

Aqui está o arquivo antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo após nossa configuração.

Copy to Clipboard

Defina um nome de host único.

Copy to Clipboard

Crie um arquivo para configurar as variáveis de ambiente necessárias.

Copy to Clipboard

Aqui está o conteúdo do arquivo.

Copy to Clipboard

Reinicie o computador.

Copy to Clipboard

Baixe e instale a chave do repositório Kubernetes.

Copy to Clipboard

Adicione o repositório oficial do pacote Kubernetes.

Copy to Clipboard

Instale os pacotes Kubernetes.

Copy to Clipboard

Baixe as imagens necessárias de Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Inicialize o cluster Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Tome nota do comando para adicionar nós ao cluster Kubernetes.

Copy to Clipboard

Defina a permissão de arquivo correta no arquivo de configuração do Kubernetes.

Copy to Clipboard

Instale a configuração de rede necessária.

Copy to Clipboard

Por padrão, um node master Kubernetes não pode executar PODS.

Opcionalmente, habilite o mestre Kubernetes para executar PODS.

Copy to Clipboard

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.

Copy to Clipboard

Baixe o arquivo YAML necessário.

Copy to Clipboard

Instale o Kubernetes Dashboard.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Crie uma conta de serviço para o Dashboard.

Copy to Clipboard

Configure a função administrador do Cluster na conta de serviço do Dashboard.

Copy to Clipboard

Crie uma conta de serviço para o proxy Apache.

Copy to Clipboard

Configure a função de administrador do Cluster para a conta proxy Apache.

Copy to Clipboard

Liste o segredo Apache disponível no servidor Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Note que o nome do seu segredo não será o mesmo que o nosso.

Pegue o valor do símbolo secreto apache.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Tome nota do valor do token Apache.

Em nosso exemplo, este é o valor do token:

Copy to Clipboard

Liste o endereço IP do cluster do serviço do Dashboard.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

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.

Copy to Clipboard

Habilite os módulos Apache necessários.

Copy to Clipboard

Edite o arquivo de configuração do Apache.

Copy to Clipboard

Adicione as seguintes linhas ao final deste arquivo.

Copy to Clipboard

Crie uma chave e certificado privados usando o comando OpenSSL.

Copy to Clipboard

Insira as informações solicitadas.

Copy to Clipboard

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.

Copy to Clipboard

Edite o arquivo de configuração Apache para o site padrão.

Copy to Clipboard

Aqui está o arquivo, antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo, depois de nossa configuração.

Copy to Clipboard

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.

Copy to Clipboard

Em nosso exemplo, configuramos o uso da autenticação RADIUS.

Copy to Clipboard

O Apache representará a comunicação HTTPS entre o usuário e o endereço IP do cluster Dashboard.

Copy to Clipboard

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.

Copy to Clipboard

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.

Copy to Clipboard

O Apache também redirecionará os usuários HTTP para a versão HTTPS da URL solicitada.

Copy to Clipboard

Reinicie o serviço Apache.

Copy to Clipboard

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.

Kubernetes Dashboard Proxy Authentication

Após um login bem-sucedido, o Dashboard do Kubernetes deve ser apresentado.

Kubernetes Dashboard

O proxy Apache autenticará automaticamente no Painel Kubernetes usando o recurso chamado: AUTH HEADER.

Kubernetes dashboard Authorization bearer

Você completou com sucesso a configuração do Apache como um proxy para o Painel Kubernetes.