Configurações do MFA
Diversas informações ou algumas outras funcionalidades são configuráveis. Recomendamos que ajuste os arquivos de configuração para uma maior experiência de seu usuário.
Uma das configurações recomendadas de serem realizadas, são as informações associadas a envio de e-mail.
Para isso, edite o arquivo “/opt/dashboard/mfa.properties” configurando as propriedades indicadas a seguir:
Outra informação sugerida a ser configurada é “institution.site.Esta informação é exibida no e-mail enviado para os usuários.
Configure caso deseje que alguma URL institucional seja exibida junto ao e-mail.
Em ambientes com redundância, as configurações em questão só precisam ser acertadas no arquivo de propriedades do Painel de Segurança do servidor principal.
Não altere nenhuma outra informação do arquivo em questão, a menos que adequadamente instruído.
O CAPTCHA por padrão vem desabilitado. Para habilitá-lo, devem ser configuradas as suas chaves.
As configurações devem ser realizadas no arquivo “/opt/shibboleth-idp/conf/idp.properties”.
Devem ser configuradas as informações indicadas a seguir:
Deixe os valores vazio caso não deseje habilitar o CAPTCHA.
Para obter os valores a serem preenchidos, deve ser realizado o procedimento de cadastro da junto ao Google.
Os procedimentos de cadastro podem ser encontrados em: https://www.google.com/recaptcha/admin/create
No processo de cadastro, selecione a opção “reCAPTCHA v2”.
ATENÇÃO
Ao cadastrar o domínio, certifique-se que cadastrou o FDQN do servidor IDP de sua instituição. Lembre também de configurar os dados tanto no servidor principal como nos secundários (em caso de ambiente redundante).
Requisitos de instalação do MFA na CAFe versão 4.2.1
Antes de seguir com esta seção é importante a leitura integral das seções anteriores e da documentação de apoio gerada. Consulte as documentações de apoio indicadas ao final deste documento.
Antes de seguir com a instalação do MFA no seu IDP, efetue o backup de TODO SEU SERVIDOR. Em especial:
Garanta que efetuou o backup de toda a instalação do IDP (pasta padrão /opt/shibboleth-idp;
Garanta que efetuou o backup das configurações do servidor apache (pasta padrão /etc/apache2)
Garanta que efetuou backup dos certificados configurados no servidor apache (são os arquivos de certificado - geralmente .crt e .key referenciados dentro dos arquivos de configuração do apache em /etc/apache2/sites-enabled/)
Certifique-se que seu servidor tem os recursos necessários. Recomendamos ao menos:
4GB de RAM;
20GB de espaço em disco livre disponível.
Conforme o nível de uso do seu IDP, pode ser necessário mais recursos. Recomendamos monitorar o nível de uso dos recursos computacionais para verificar se o mesmo está operando em níveis aceitáveis.
Outros requisitos considerados são:
IDP Shibboleth 4.2.1 instalado na pasta padrão (/opt/shibboleth-idp)
Servidor Ubuntu 20.04.5 LTS
Seu IDP faz uso de certificados VÁLIDOS no APACHE (em caso de certificados auto assinados - como ambiente de testes - é necessário procedimentos adicionais manuais para a instalação do MFA).
Seu SP MFA fará uso obrigatório do recurso SMTP. Para isso será necessário que a instituição tenha disponível uma conta SMTP(host SMTP, usuário e senha) para envios de mensagens geradas pelo MFA.
Páginas destinadas a ajudar na etapa de configuração do MFA na CAFe versão 4.2.1
Objetivo
O escopo deste documento é detalhar os procedimentos associados à instalação do MFA nos IDPs.
Necessário ter o IDP 4.2.1 instalado (última versão homologada)
Recomendamos também a leitura da documentação geral do MFA, para um melhor entendimento deste documento. Ou seja, NÃO é escopo deste documento descrever o processo de instalação do IDP, mas sim, somente a instalação dos componentes adicionais associados a suporte de MFA.
A instalação do MFA no seu IDP envolve a instalação dos seguintes componentes:
Banco de Dados: é instalado um banco de dados no seu IDP. O banco de dados é utilizado para armazenar os dados associados aos MFA dos usuários. O banco de dados é acessado tanto pelo IDP como pelo painel de Segurança. Caso o mesmo fique indisponível irá acarretar também na indisponibilização dos mesmos;
Plugins MFA: envolve uma série de componentes adicionados à instalação do seu IDP. Compreende bibliotecas Java, novas páginas, novos arquivos de configuração, etc. Na instalação dos plugins também é necessário alterar alguns arquivos de configuração existentes no seu IDP;
Painel de Segurança: painel de segurança MFA ou Dashboard MFA. Estes dois termos podem ser utilizados para referenciar esta aplicação. Se trata de uma aplicação java que é instalada também no seu servidor IDP.
A figura a seguir ilustra os componentes citados.
Atente que as requisições sempre chegam no Apache, que por sua vez, encaminha para o IDP ou para o Painel de Segurança, conforme ação realizada pelo usuário.
Os seguintes fatores de autenticação são suportados atualmente:
Senha Descartável: Senha Descartável ou OTP (One Time Password). Valor que altera ao longo do tempo. Mesmo que o valor seja roubado, ele não poderá ser reutilizado posteriormente, garantindo assim maior segurança no processo de autenticação;
Código de Emergência: Código de Emergência ou Backup Code. Consiste de um conjunto de senhas que podem ser utilizadas uma única vez. Como não podem ser reutilizadas, também possibilitam maior segurança no acesso.
Outros mecanismos de proteção e facilidades suportadas:
CAPTCHA: além de suporte a fatores de autenticação adicionais para aprimorar a segurança do acesso, os plugins instalados no seu IDP permitem a ativação do CAPTCHA. O CAPTCHA é um mecanismo que tenta proteger contra ataques de força bruta, que é quando robôs são criados para tentar descobrir a senha do usuário tentando realizar o acesso múltiplas vezes, cada vez, tentando uma combinação diferente até descobrir a senha do usuário. O CAPTCHA que foi integrado é o do Google. A ativação do CAPTCHA é opcional e envolve etapa adicional manual detalhada posteriormente em outra seção deste documento.
Dispositivos Confiáveis: a solicitação de outros fatores de autenticação podem gerar um incômodo nos usuários, uma vez que eles terão que realizar passos adicionais para se autenticar. Para minimizar este problema, o usuário pode através do painel de segurança configurar um dispositivo como confiável. Assim, caso o usuário marque seu computador pessoal como confiável, o IDP somente irá verificar o usuário e senha. Logicamente o usuário NÃO deve marcar um dispositivo de uso público/compartilhado como confiável. Um aspecto importante que precisa ficar claro, é que apesar do nome “Dispositivo Confiável”, na prática, armazenamos a informação do browser do usuário. Assim, se o usuário navega na Internet pois mais de um Browser, ele terá que adicionar cada um dos Browsers como confiável. Por questões de segurança o tempo que um browser é marcado como confiável expira após um tempo e precisa ser configurado novamente pelo usuário como confiável. O processo de guardar a informação dos dispositivos confiáveis envolve também guardar um cookie no browser marcado como confiável. Assim, a limpeza de cookies pode também fazer com que o mesmo deixe de ser considerado confiável. A qualquer momento, através do painel de segurança o usuário pode marcar os dispositivos como não sendo mais confiáveis.
O script de instalação foi concebido considerando uma instalação padrão do IDP Shibboleth 4.2.1.
NÃO PROSSIGA com a instalação caso tenha realizado customizações adicionais no seu IDP ou caso o mesmo não esteja instalado no local padrão.
Para maiores informações sobre o Painel de Segurança do MFA, favor acessar o procedimento de ajuda neste link.
Caso ainda ocorram duvidas, favor entrar em contato com a RNP através do e-mail: atendimento@rnp.br
Termos | Conceito |
---|---|
MFA (Multiplo Fator de Autenticação)
É quando é solicitado ao usuário mais de uma forma de autenticação, de forma a aprimorar a segurança, certificando-se que quem está fazendo o login é realmente o usuário e não uma pessoa se passando pela mesma. Por exemplo, após o usuário digitar o usuário e senha, é solicitada uma informação adicional que só o usuário tenha. Assim, mesmo que a senha do usuário seja roubada, o atacante não irá conseguir autenticar se fazendo passar pelo usuário;
Plugins MFA
Componentes adicionados à instalação do IDP para que o mesmo passe a suportar MFA;
Painel de Segurança MFA
Aplicação na qual o usuário gerencia seus fatores de autenticação adicionais. É através do Painel de Segurança, por exemplo, que o usuário indica que ele quer ativar novos fatores de autenticação na sua conta. É através do Painel também que a instituição irá administrar o serviço de MFA. Usuários podem receber permissões de administrador e operador no painel. Estes usuários poderão ter acesso a funcionalidades.
Procedimento de instalação do MFA na CAFe versão 4.2.1
Quando a instalação é iniciada, uma série de informações é solicitada. Assim, ANTES de iniciar o processo de instalação, tenha em mãos as seguintes informações:
Digite o FQDN da maquina (exemplo: idp.instituicao.br): se trata do FQDN do seu servidor IDP. Exemplo: “idp.instituicao.br”
Digite o texto a ser exibido para o usuário de forma que ele saiba o que deve preencher para se autenticar (ex.: Seu email @rnp.br): cada instituição utiliza uma informação diferente para se autenticar, seja o número de matrícula, um email, etc. Neste campo você personaliza o texto que deve ser exibido ao usuário na tela de usuário e senha.
Link de recuperação de senha (ex.: https://urlpaginarecuperacaodesenha.instituicao.br): informação opcional. Recomendamos fortemente que preencha esta informação caso tenha uma url que os usuários possam acessar para recuperar a senha.
Você está utilizando um ambiente de alta disponibilidade: esta informação se aplica para as instituições que possuem mais de um servidor IDP e que estes servidores operem de forma concomitante, ou seja, em que os servidores estejam ativos ao mesmo tempo. Caso este seja o caso da sua instituição, recomendamos que entre em contato com a equipe da CAfe para realizar uma instalação monitorada, uma vez que a instalação envolve alguns passos adicionais e pontos de atenção adicionais. Caso seja um ambiente de alta disponibilidade, será perguntado as seguintes informações adicionais:
Se o servidor que está sendo instalado é o primário/principal ou se é o servidor secundário: se sua instituição tiver uma instalação com redundância, um dos servidores servidores precisará ser definido como servidor principal. Todos os demais servidores serão considerados como secundários. Assim um ambiente com redundância terá um servidor principal e um ou mais servidores secundários. Recomendamos a leitura da seção que detalha pontos importantes associados a ambientes com redundância.
Digite o endereço IP do servidor primário: deve ser o IP do servidor definido como servidor principal
Digite o endereço IP do servidor secundário: informação solicitada SOMENTE caso esteja instalando o servidor secundário. deve ser o IP do servidor secundário que está sendo instalado. ATENÇÃO, só instale o servidor secundário caso o servidor já tenha sido instalado.
Digite o nome do usuário administrador (ex.: Joao da Silva). Será criada uma conta inicial de administrador para o usuário em questão: quando o painel de segurança é instalado, é cadastrado automaticamente um usuário inicial que receberá permissão de administrador. Será este usuário que irá atribuir permissões de administrador e operador a outros usuários. Certifique que todos os dados do usuário administrador inicial foi cadastrado corretamente
Digite o e-mail do usuário administrador (deve ser o mesmo cadastrado no IDP): associado ao cadastro do administrador. Deve ser o MESMO e-mail que o usuário tem cadastrado no IDP da instituição.
Digite o EPPN do usuario administrador (somente o valor antes do @). Exemplo, se valor de eppn for abc@instituicao.br, deve ser cadastrado somente abc: associado também ao cadastro do administrador. O EPPN na maior parte das instituições é o MD5 do username. Em caso de dúvidas do valor, peça para o usuário administrador acessar a url https://sp.rnp.br/ e se autenticar. Após a autenticação, será exibida a informação eduPerson-eduPersonPrincipalName. Pegue a informação que vem antes do @. Exemplo, se foi retornado “698dc19d489c4e4db73e28a713eab07b@instituicao.br”, o valor que deve ser copiado é somente “698dc19d489c4e4db73e28a713eab07b”
Somente após ter as informações indicadas em mãos, inicie os passos de instalação indicados na próxima seção.
Toda a instalação é realizada através de um script. Este script faz diversos procedimentos, sendo:
Download dos arquivos necessários para a instalação;
Cópias dos arquivos baixados para os locais de instalação;
Geração de chaves de criptografia adicionais necessários;
Instalação da base de dados;
Solicita as informações necessárias para a instalação (atenção à seção anterior);
Realiza a instalação.
ATENCÃO
Antes de iniciar a instalação certifique-se que o servidor está acessando adequadamente a Internet e que não terá nenhuma regra de firewall impedindo que o mesmo baixe o pacote de instalação associados. O script deve ser executado com um usuário com permissões de root.
Baixe o script de instalação na pasta /tmp;
Dê permissão de execução para o script: chmod +x mfa-install-v1.sh
Execute o script: /tmp/mfa-install-v1.sh
Após finalizar a instalação, alguns passos manuais são necessários serem executados.
Siga os passos indicados a seguir. Caso se trate de ambiente com redundância, veja os procedimentos descritos na seção “Ambiente com Redundância”.
Editar o arquivo “/opt/shibboleth-idp/conf/attribute-filter.xml”: é necessário editar o arquivo em questão para que o painel de segurança receba as credenciais do IDP. Para isso adicione a linha a seguir, substituindo [FQDN] pelo FQDN do servidor:
<Rule value="https://[FQDN]/sp/saml2/service-provider-metadata/dashboard" xsi:type="Requester" />
Supondo que o FQDN seja idp.instituicao.br, ficaria algo como a seguir:
Editar o arquivo “/opt/shibboleth-idp/conf/metadata-providers.xml”. É necessário adicionar neste arquivo uma entrada para que o IDP reconheça o Painel de Segurança como uma aplicação confiável.
Para isso adicione a linha a seguir, substituindo [FQDN] pelo FQDN do servidor. A linha em questão deve ser adicionada ao final do arquivo, antes de “</MetadataProvider>”.
Editar o arquivo “/etc/apache2/sites-available/01-idp.conf”: a alteração é necessária para que o apache redirecione adequadamente os acessos ao painel de segurança.
Adicionar as linhas a seguir antes de “</VirtualHost>":
ATENÇÃO, caso o arquivo já possua alguma entrada de Redirect para "/", remover a entrada em questão antes de adicionar as configurações acima.
Procedimento para auxilio em ambientes com redundância para o MFA da CAFe versão 4.2.1
Em instalações com redundância, existem alguns passos manuais adicionais que devem ser executados. Verifique atentamente cada um dos pontos apresentados.
Uma questão importante em relação a ambientes redundantes, é que a instalação é realizada de forma diferente nos servidores secundários. Ou seja, NÃO se deve clonar a instalação do servidor principal e achar que automaticamente o servidor clonado irá operar adequadamente como secundário.
Isso acontece porque os dados precisam estar sincronizados entre as base de dados. Para garantir a sincronização de forma segura, evitando qualquer inconsistência nos dados, somente a base de dados do servidor principal opera em modo escrita.
A Figura apresenta ilustra o cenário. A base de dados no servidor secundário opera em modo somente leitura. Toda vez que o usuário está no servidor secundário e realiza alguma operação que envolve escrita na base de dados, o servidor secundário se comunica com o primário e pede para o primário realizar a escrita. Tudo que é escrito/alterado no banco de dados do servidor principal é então replicado para o banco de dados secundário.
Seguem etapas adicionais a serem realizadas após a execução dos procedimentos já descritos anteriormente.
Cópia de chaves de segurança
No servidor principal, em /opt/shibboleth-idp/credentials, copie os arquivos a seguir para a mesma pasta no servidor secundário (sobrescrevendo no secundário os arquivos existentes):
cafesealer.kver
cafesealer.jks
Acerto de /etc/hosts
Em ambientes redundantes, precisamos garantir que os componentes em cada servidor comuniquem entre si de forma adequada.
Como as configurações são realizadas através da definição do FQDN, caso o DNS resolva um IP diferente a cada vez, isso pode ser um problema.
Assim é necessário editar o arquivo /etc/hosts de cada servidor para forçar que o servidor sempre resolva para o próprio IP.
Exemplo: Suponha IDP redundante de FQDN idp.instituicao.br que tem o servidor principal com IP 1.1.1.1 e o IP do servidor secundário seja 2.2.2.2.
Para este caso hipotético, teremos:
Servidor principal - /etc/hosts terá uma entrada como:
1.1.1.1 idp.instituicao.br
Servidor secundário - /etc/hosts terá uma entrada como:
2.2.2.2 idp.instituicao.br
Nos casos em que o servidor secundário se comunica com o primário, excepcionalmente o apontamento é realizado diretamente via IP.
Por conta deste requisito, é necessário que o certificado do servidor IDP contenha no alternative names uma entrada para 1.1.1.1 (no exemplo que estamos considerando como cenário).
O exemplo a seguir como deveria ser o arquivo de configuração do certificado a ser gerado com a informação do IP no alternative names para o cenário que estamos considerando como exemplo.
Gerenciando o serviço do painel de segurança
systemctl stop mfa.service: para o serviço
systemctl status mfa.service: verifica o status do serviço
systemctl start mfa.service: inicia o serviço
Verificando os logs
Painel de segurança: /opt/dashboard/logs
Shibboleth: /opt/shibboleth-idp/logs/mfa-plugins.log (onde são logados dados específicos associados ao MFA)
Ocorreu um erro durante a execução do script, o que devo fazer?
Copie o texto de erro (copiar tudo que apareceu na tela) e encaminhe para o e-mail atendimento@rnp.br para análise do erro.