Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Esse script irá gerar um novo certificado auto assinado para o Apache. Para evitar problemas sugiro que faça um backup do certificado, primeiro, antes de executa-lo. Os certificados do Apache você encontrar no seguinte caminho: /etc/ssl/private - chave-apache.key e /etc/ssl/certs - certificado-apache.crt. O script executa uma tarefa de remoção nestes diretórios por isso sugiro que faça o backup copiando os arquvios acima para outro diretório, por segurança.
Essa página contém todo material de suporte técnico criado por nossa comunidade federada, com a solução para as dúvidas mais frequentes de nosso clientes.
Seguir o passos abaixo:
Se tudo der certo, o novo certificado será gerado e já gravado no devido diretório.
Após finalizar com sucesso o script o novo certificado foi gravado no seu novo arquivo de metadado, acesse o diretório /opt/shibboleth-idp/metadata e copie o arquivo "idp-metadata.xml". Esse arquivo deve ser enviado para equipe técnica da CAFe RNP para a atualização na Federação CAFe.
Importante !
Antes de começar é recomendado que seja feito o backup do arquivo "ldap.properties" em seu IdP. O arquivo fica no caminho: /opt/shibboleth-idp/conf
Considerar em todo texto abaixo que, OpenLDAP é a referência usada para identificar a base de diretório usada para a consulta do Shibboleth em seu IdP. Toda essa configuração foi homologada em um ambiente com os seguintes requisitos: Idp → Ubuntu 20.04, Shibboleth 4.2.1, Apache2 e Jetty9
Na imagem acima temos o arquivo "ldap.properties" no padrão do template, no exemplo acima a autenticação do IdP está ocorrendo pelo atributo "uid" configurado para OpenLDAP. Lembrando que cada insituição pode personalizar qual atributo deseja que seja usado para a autenticação, mas os recomendados são: uid, sAMAccountName e mail. O atributo sAMAccountName é usado na configuração com Active Directory(AD).
Agora iremos alterar o valor da variável usada pelo shibboleth (idp.authn.LDAP.userFilter), para executar o critério de consulta no OpenLDAP. Linha 25 do bloco de código abaixo
Na imagem acima fiz a alteração do valor na variável (idp.authn.LDAP.userFilter). Usei o operador lógico & para adicionar mais um critério de consulta na base e mantive a primeira regra e em seguida adicionei mais um regra para a validação da consulta, no exemplo usei o atributo memberof, esse atributo permite que o Shibboleth agora apenas consulte as contas que estiverem como membros deste grupo no OpenLDAP → (&(uid={user})(memberof=cn=GRP_SRV_CAFE,ou=GRUPOS,dc=homolog,dc=rnp)). O valor deste atributo precisa estar com o distinguished name DN do grupo criado que no meu caso foi cn=GRP_SRV_CAFE,ou=GRUPOS,dc=homolog,dc=rnp desta forma é possível estabelecer mais criteriosamente quais contas da sua base de diretórios tem permissão para usarem os serviços federados.
Existem outras possibilidades de serem criados tipos de critérios para uma autenticação, seguindo os passos anteriores eu abaixo darei mais um exemplo de como filtrar a autenticação do usuário, liberando apenas os que possuem uid e mail.
Também podemos usar o operador lógico OU do xml ( | ). No próximo exemplo o Shibboleth irá autenticar aquelas contas que possuem o atributo UID ou o mail
Ao gerar o seu certificado ele pode ser apresentado no formato .cer para isso se dá necessário o ajuste do arquivo para o formato .crt, abaixo uma explicação de como deve ser feita essa conversão: *Os nomes abaixo são meramente ilustrativos afim de ajudar no entendimento do processo.
Importante
Todo o processo de configuração acima se baseia no fato de ser usado o mesmo nome do certificado apache que o IdP já identifica por padrão, caso queira alterar o nome é preciso que seja feita a correção deste nome do certificado no arquivo de configuração do IdP, que fica em: /etc/apache2/sites-available/01-idp.conf
Antes:
~# SSLCertificateKeyFile /etc/ssl/private/chave-apache.key ~# SSLCertificateFile /etc/ssl/certs/certificado-apache.crt
Depois:
~# SSLCertificateKeyFile /etc/ssl/private/outro-nome-certificado-valido.key ~# SSLCertificateFile /etc/ssl/certs/outro-nome-certificado-valido.crt
Esse roteiro tem como finalidade ajudar nossos clientes em como alterar o atributo principal de autenticação em seu IDP.
Em seu IDP, assim como em todo IDP, o mesmo possui um atributo chave que é usado como o atributo de autenticação principal. Em clientes que usam LDAP esse atributo é setado por padrão como sendo o "uid" e em clientes que usam o Microsoft AD esse atributo por padrão é setado como sendo o atributo "sAMAccountName".
Clientes nos perguntam se é possível alterar esse atributo principal de login na federação CAFe, e sim, é possível ! Abaixo eu descrevo os passos necessários para que façam esse ajusto em seus IDPs.
Será necessário apenas ajustar e alterar informações em um único arquivo do IDP, é o arquivo "ldap.properties". Sugiro que seja feito um backup do arquivo original antes de altera-lo.
sudo -i
cp -a /opt/shibboleth-idp/conf/ldap.properties /home/cafe/ldap.properties-original
Vamos ao procedimento de alteração, acesse o arquivo "ldap.properties" como root:
Faremos o exemplo usando um arquivo "ldap.properties" usando a configuração padrão de um LDAP, com isso o atributo principal será o "uid". Se você estiver usando um Microsoft AD esse atributo será o "sAMAccountName" não se preocupe basta fazer o mesmo procedimento.
As alterações irão ocorrer em apenas 4 linhas, tenha atenção nesse ponto.
Serão as linhas 25, 33, 40 e 55 procure pelas variáveis nesse ordem que segue:
Essas variáveis são as responsáveis por determinar qual atributo será usado para login em seu IDP, sendo assim em nosso exemplo o nosso atributo de autenticação no IDP está sendo o "uid". Porém houve a necessidade de se alterar esse atributo e a escolha do novo atributo para login, em nosso exemplo, será o atributo "mail". Como ficaria então essa nova configuração, veja:
Repare aonde mudamos os valores para as variáveis, veja como a estrutura deve ficar ao final:
Excelente ! Se o seu arquivo ficou conforme o final do processo anterior indica que você alterou o seu atributo principal de login, agora os usuários usarão o e-mail para logar em seu IDP.
Mas é agora ? Na tela de login a mensagem que aparece para os usuários ainda é a de inserir o "uid" ?
Sim, verdade ! Será necessário também customizar a frase da tela de login, afinal mudamos o meio de login do IDP e isso pode confundir os usuários. Então vamos lá !
Na imagem abaixo eu mostro como estava a minha frase na minha tela de login, veja:
Veja que a minha frase era "Seu nome.sobrenome" porque como os usuários usavam o "uid" para se logar, e em minha base o nosso "uid" é nome.sobrenome do usuário, mas eu alterei para o atributo "mail" conforme procedimento acima, então temos que alterar essa frase.
Para alterar a frase da tela de login do IDP vamos precisar mexer no arquivo "messages_pt_BR.properties". Sugiro que seja feito um backup desse arquivo original antes de altera-lo.
sudo -i
cp -a /opt/shibboleth-idp/messages/messages_ptBR.properties /home/cafe/messages_ptBR.properties-original
Agora vamos alterar a mensagem de login da tela do IDP. Edite o arquivo messages_ptBR.properties
Esse arquivo é muito grande não seria prático colocar todo ele aqui, então oriento você a procurar pela seguinte variável:
Essa é a mensagem que irá aparecer para os usuários do IDP, então altere como achar melhor para indicar aos seus usuários o que eles devem usar para se autenticar, no nosso exemplo usamos o atributo "mail" referente ao email, então nossa alteração será assim:
Salve o arquivo e vamos agora refazer o "build" do IDP:
Repare que na etapa de número (7) o script está lhe fazendo uma pergunta, aonde é o diretório instalado do seu IDP, como o nosso template usa o padrão, basta pressionar a tecla <enter> que o script irá seguir com o restante. Feito isso acabamos, agora vamos reiniciar o serviço do Jetty9
Veja como ficou agora a minha tela de login:
Pronto, você alterou o seu atributo de login prinicipal e alterou a frase da sua tela de login.
Antes de começar !
Esse roteiro foi preparado para ajudar as instituições clientes da CAFe RNP para executar a alteração do hostname e dominio de seu IdP em produção no serviço da CAFe. Esse roteiro foi homologado para o ambiente mais atualizado do IdP que possui a versão do sistema operacional Ubuntu 20.04 + Shibboleth 4.2.x.
É recomendando que o técnico que ira executar esse procedimento tenha conhecimento avançado ou seja familiarizado em sistemas operacionais Linux.
Importante !
É recomendado que se faça o backup dos arquivos que serão modificados durante o processo, caso algo de errado acontece poderemos restaura-los:
=================================================================================================
Backup do idp-metadata.xml:
sudo cp /opt/shibboleth-idp/metadata/idp-metadata.xml /home/cafe/idp-metadata.xml.bkp
Backup do idp.crt e idp.key:
sudo cp /opt/shibboleth-idp/credentials/idp.key /home/cafe/idp.key.bkp
sudo cp /opt/shibboleth-idp/credentials/idp.crt /home/cafe/idp.crt.bkp
Backup do arquivo hosts:
sudo cp /etc/hosts /home/cafe/hosts.bkp
Bakcup do arquivo idp.properties:
sudo cp /opt/shibboleth-idp/conf/idp.properties /home/cafe/idp.properties.bkp
Backup do arquivo 01-idp.conf:
sudo cp /etc/apache2/sites-available/01-idp.conf /home/cafe/01-idp.conf.bkp
===================================================================================================
Todos os arquivos foram copiados com a extensão .bkp para o diretorio home do usuário cafe, caso durante o processo ocorra um erro, para voltar o estado anterior do seu IdP basta copiar os arquivos para os devidos diretorios e retirar a extensão .bkp destes arquivos.
Vamos agora baixar o script de modificação e gerar novos arquivos com o novo hostname e novo dominio:
Baixar o script para o diretorio /tmp
Quando iniciar o script o mesmo irá te perguntar algumas informações, que precisam ser passadas para a exceução do script, tenha atenção neste etapa:
"Digite apenas o nome do host antigo: " Digitar aqui apenas o hostname antigo do seu IdP Ex: cafe-idp-antigo
"Digite apenas o dominio do host antigo: " Digitar aqui apenas o dominio antigo do seu IdP Ex: org.edu.antigo.br
"Digite apenas o nome do host novo: " Digitar aqui apenas o novo hostname do seu IdP Ex: cafe-idp-novo
"Digite apenas o dominio do host novo: " Digitar aqui apenas o novo dominio do seu IdP Ex: org.edu.novo.br
"Digite o nome do contato tecnico do servico (ex.: Joao da Silva): " Digitar o nome do contato técnico
"Digite o e-mail do contato tecnico do servico (ex.: joao.silva@instituicao.br): " Digitar o email do contato técnico
"Digite o nome da instituicao por exetenso (ex.: Rede Nacional de Ensino e Pesquisa): " Digitar por extenso o nome da instituição
"Digite a sigla da instituicao (ex.: RNP): " Digitar a SIGLA da instituição em maiusculo
"Digite o endereco do site da instituicao (ex.: www.instituicao.br):" Digitar a Url da instituição
"Digite o nome departamento da instituicao que eh responsavel por este servico (ex.: CPD): " Digitar o departamento resposável pelo IdP na instituição
"Digite o nome da cidade onde esta sediada a instituicao (ex.: Porto Alegre): " Digitar a cidade
"Digite por extenco o nome da Unidade Federativa onde esta sediada a instituicao (ex.: Rio Grande do Sul): " Digitar o nome da unidade federativa da instituição
Se tudo ocorrer sem problemas o script ira realizar as modificações necessárias e o seu IdP estará com o novo hostname e dominio configurados, porém no final do processo será necessário enviar para equipe técnica da CAFe RNP o novo "idp-metadado.xml" para o cadastro na CAFe produção. Esse arquivo você encontra no seguinte caminho:
Copiar o arquivo "idp-metadata.xml" e enviar o arquivo em anexo para equipe da RNP, para o cadastro do IdP com o novo hostname e dominio.
Importante !
Afinal deste processo o seu FQDN terá sido alterado por completo, logo será necessário que o DNS para o seu IdP seja também atualizado e esse novo DNS precisa permitir que as portas 80 e 443 estejam liberadas para o mundo, da mesma forma que estava antes. Ex: Antigo DNS cafe-idp-antigo.org.edu.antigo.br ; Novo DNS cafe-idp-novo.org.edu.novo.br
Sobre o roteiro
Esse processo foi homologado em ambiente com Ubuntu 20.04 + Shibboleth versão 4.2.1.
Esse script foi desenvolvido para os clientes da CAFe que fazem uso do nosso template de instalação do IDP. Não foi homologado em outros ambientes.
Abaixo as etapas para a instalação e configuração do Let's Encrypt no IdP da CAFe:
Primeiro baixar o script pelo nosso repositório:
Agora ajustar a permissão de execução do script:
Aplicar um update no repositório:
Executar o script:
Responda as perguntos do script
Apenas o nome do seu host, por exemplo, se o seu FQDN é "shibboleth-cafe.org.br" informe ao script somente "shibboleth-cafe".
Aqui digite apenas o domínio do seu FQDN, conforme exemplo acima "org.br".
Pronto! Agora só aguardar a execução do script e reniciar o serviço do Shibboleth.
Informe
Antes de iniciar qualquer ação deste roteiro primeiro verificar a versão do seu servidor Ubuntu.
Este roteiro so irá funcionar para aquelas instituições que já possuem a versão da VM IdP a partir da versão 20.04 do sistema operacional Ubuntu, com a versão 4.2.x do Shibboleth caso a sua instituição não esteja dentro deste requisito não realizar este operação e entrar em contato com o ServiceDesk da RNP, pois será necessário realizar a atualização do seu IdP.
Antes de começar !
Como a microsoft AD não implementa por padrão os atributos "schaDateOfBirth" e o "brPersonCPF" eles não são mapeados, com isso será necessário o uso de atributos que estejam vagos em seu AD para que os mesmos sejam mapeados para o Shibboleth em seu IdP. Nesse procedimento foi usado os seguintes atributos employeeNumber e employeeType
Nesse roteiro usamos o atributo employeeNumber para valores da Data de Nascimento e o atributo employeeType para valores do CPF
O shibboleth IDP em sua versão 4.2.x veio com algumas alterações na configuração de atributos, configurações essas que vieram para melhorar a manutenção e customização do IDP pelos responsáveis do serviço. Nessa versão tivemos a inlcusão de um novo recurso dentro do diretório /conf agora dentro desse diretório encontramos o sub diretório /attributes.
Esse sub diretório /attributes agora fica responsável por conter arquivos de configuração .xml que tratam sobre as especificações dos atributos suportados pelo IDP. Dentro desse diretório você verá os arquivos dividídos pelos seus respectivos schemas.
Para essa adequação do CPF e Data de Nascimento foi usado atributos que já estão mapeados pelo IDP dentro do schema .../conf/attributes/inetOrgPerson.xml e também já são atributos presentes no Microsoft AD.
Optamos por usar os atributos employeeNumber e employeeType
Dentro do seu Microsoft AD você precisa abrir o Editor de Atributos dos usuários e procurar pelos atributos employeeNumber e employeeType, veja figura abaixo:
Faça o preenchimento desses atributos seguindo a orientação de usar valores para Data de Nascimento em employeeNumber, sempre no formato AAAAMMDD e os valores para o CPF em employeeType, sempre no formato inteiro sem pontos e hífen.
Uma vez os valores populados em seu AD podemos agora configurar o shibboleth para que ele leia esse valores e entregue como se fosse o sachDateOfBirth e o brPersonCPF, passo a passo logo abaixo:
Abrir e editar o arquivo "attribute-resolver.xml", caminho: /opt/shibboleth-idp/conf e procure pelas entradas com id=brPersonCPF e id=schacDateOfBirth eles estão perto um do outro.
Vamos nesse momento alterar os valores de referencia desses dois atributos, temos que alterar a entrada da variável attributeNames="brPersonCPF" e attributeName="schacDateOfBirth" para os seguintes valores:
attributeNames="employeeType"
attributeNames="employeeNumber"
Procurar no arquivo de configuração na secção de Data Connectors a entrada <dc:ReturnAttributes>...</dc:ReturnAttributes>, ela faz referência aos atributos que serão retornados pelo seu IdP, essa configuração ainda deve ser feita no arquivo attribute-resolver.xml.
Informe
A inclusão do bloco de código deve estar contida dentro das tags "<resolver:AttributeResolver" e "</resolver:AttributeResolver>" que são as declarações de inicio e fim do arquivo attribute-filter.xml.
No exemplo citado estamos liberando os atributos CPF e Data de Nascimento apenas para o SP de teste da RNP e para os SPs dos serviços P1 e Pessoal do ICPEDU. Lembrando que os atributos devem existir no serviço de diretório da institução em forma de atributo do usuário.
Esse roteiro tem como objetivo auxiliar as instituições clientes que desejam remover o serviço "fail2ban" do seu servidor IdP.
Atenção !
Esse roteiro foi todo homologado e baseado em um IdP com a versão template do IdP com o Ubuntu 20.04 + Shibboleth 4.2.x + fail2ban 0.10.2-2
Seguir as etapas abaixo para a remoção do serviço fail2ban da execuação do seu servidor IdP.
Primeiro logar em seu Idp e se tornar "root"
Executar o comando "systemctl status" e verificar se o serviço fail2ban está iniciado.
Executar o comando "systemctl stop fail2ban.service" e parar o serviço. Você pode executar novamente o comando da etapa 1 e verificar se o serviço foi parado.
Agora vamos desabilitar o serviço na inicialização do servidor, assim quando o mesmo for reiniciado o serviço não voltará a subir novamente.
Executar o comando "systemctl disable fail2ban.service", isso irá tirar o serviço da inicialização automática do servidor.
Pronto! O fail2ban não será mais iniciado no servidor.
Esse artigo foi criado para ajudar aquelas instituições que já possuem um serviço de segurança mais robusto e o fail2ban não é necessário, caso não saiba ou não esteja certo de como sua infraestrutura esteja configurada nós não recomendamos o desligamento deste serviço do seu IdP.
Essa responsabilidade será toda da equipe responsável pelo IdP institucional, a RNP não se responsabiliza por qualquer dano ao serviço ou a instituição causada pela escolha do desligamento do fail2ban do servidor IdP institucional.
Esse procedimento visa alterar o nível do log do IdP para o modo DEBUG, com isso mais informações serão gravadas e informadas para uma melhor analise do problema.
Altere o nível do log para DEBUG. Abra o arquivo /opt/shibboleth-idp/conf/logback.xml e altere as linhas 24,25 e 28 abaixo:
Esse roteiro tem como objetivo auxiliar nossos clientes da CAFe em como ajustar as mensagens de login de acordo com suas necessidades institucionais.
Ajustar as mensagens na tela de login
Antes de começar !
Recomendado que seja criado um backup do arquivo "messages_pt_BR.properties" antes de começar as alterações abaixo.
Caminho para o arquivo: /opt/shibboleth-idp/messages
Qualquer problema após as modificações, basta retornar com o arquivo original.
Aviso
As mudanças realizadas abaixo foram homologadas em um ambiente com a VM template construída com o Sistema Operacional (Ubuntu 20.04 + Shibboleth 4.1.5). Os locais dos arquivos podem variar em outras versões do Template, ou se a instalação do seu IdP foi construído manualmente.
Esse roteiro ira ajudar na customização das mensagens da tela do login do seu IdP:
Todas as alterações serão feitas no arquivo messages_pt_BR.properties, para isso abra o arquivo com um editor de sua preferência, o caminho é /opt/shibboleth-idp/messages
Campo Username, alterando a mensagem:
Altere as entradas idp.login.username.label para alterar a mensagem do campos Username respectivamente, pode ser usado para informar aos clinetes que irão usar o seu IdP como devem proceder com o acesso a CAFe.
Para inserir uma nova mensagem basta apagar a mensagem atual em vermelho e escrever sua nova mensagem ao usuário, lembrando que a formatação deve ser respeitada, mantenha um espaço entre o valor = e o inicio da sua nova mensagem.
Feita a alteração basta salvar o arquivo com seu editor e executar o comando build.sh do shibboleth para que ele possa carregar as novas alterações. Para isso faça:
Nesse momento o script estará te perguntando em qual diretório padrão está a instalação do Shibboleth, por padrão é esse mesmo /opt/shibboleth-idp então basta apertar a tecla [Enter]
Aguarde a seguinte mensagem:
Essa mensagem indica que o rebuild ocorreu como esperado !
Agora vamos reinicar o shibboleth, faça:
Pronto ! Agora você pode verificar como ficou sua modificação, acesse o portal https://sp.rnp.br/chimarrao escolha sua instituição e clique em "Prosseguir" na próxima tela será apresentado a caixa de login e senha da sua instituição e se tudo deu certo a sua nova mesnagem estará aparecendo.