Roteiro para instalação de um IDP Shibv4.2.1

Página destinada para orientar os clientes da CAFe com a instalação do IDP versão 4

Introdução

Com a finalidade de facilitar e tornar mais ágil a instalação de Provedores de Identidade (IdP) na Federação CAFe, a RNP disponibiliza a vm-idp que é uma pre-instalação de um IdP em forma de máquina virtual.

Este tutorial apresenta a sequência de passos necessários para que o usuário faça a configuração inicial da vm-idp.

Informações de acesso à máquina virtual:

usuário: cafe

senha: 0p9o*I&U6y5t

Pré Requisitos para instalação

IMPORTANTE

Máquina para IDP deve ter IP válido, pode se usar NAT desde que esse esteja corretamente apontado para um endereço público.

DNS direto e reverso devem estar configurados (sug: shibboleth.[inst].edu.br)

O nome do seu host IDP ficará visível para todos durante o acesso ao IDP, escolha o nome com cuidado. Após escolher um nome e realizar todo o procedimento ficará mais complicado alterar o nome do seu host posteriormente.

Firewall: Liberar no firewall da instituição e do servidor IDP a comunicação entre o servidor IDP e o host da RNP conforme abaixo:

Portas 80 e 443 <TCP> liberadas no firewall local (IdP) e no instituicional para o mundo.

Estatísticas: Origem: (Host-RNP - 200.133.59.169) - Destino: (Servidor IDP) - Porta: TCP 5044

Guia Passo a Passo:

Primeira execução da vm-idp

No primeiro boot da vm-idp será carregado um script que é responsável por fazer a configuração do IdP. Tal script fará uma sequência de questões que deverão ser respondidas corretamente pelo usuário. O script irá iniciar assim que você alterar para o usuário root.

Mude o usuário atual para um usuário root:

sudo -i

password: 0p9o*I&U6y5t

Caso queria cancelar a execução do script use o comando:

ctrl+c

Escolha "s"

Para executar o script posteriormente durante a mesma sessão em que cancelou faça como o comando abaixo:

/usr/local/sbin/firstboot.sh
chmod +x firstboot.sh
./firstboot.sh

DICA:

1. A cada pergunta realizada pelo script será solicitada uma confirmação de resposta. Pressione "s" para confirmar a resposta e "n" para corrigir o valor digitado.

2. O script de instalação pode ser finalizado a qualquer momento pressionando-se as teclas CTRL+C. Caso isto seja feito, as configurações feitas até tal momento serão descartadas e a vm-idp executará o script novamente na inicialização seguinte.

A seguir serão apresentadas as questões presentes no script e sua devida explicação:

  • Esta é a primeira tela exibida após a inicialização da máquina virtual. Pressione "Enter" para prosseguir com a configuração.

------------------------------------------------------------
          RNP - Rede Nacional de Ensino e Pesquisa
            CAFe - Comunidade Acadêmica Federada
------------------------------------------------------------
Script: firstboot.sh                  Versao: 4.0 02/05/2021
------------------------------------------------------------

ATENCAO: Voce pode interromper este script a qualquer momen-
         to pressionando as teclas CTRL+C

Antes de iniciar este processo de instalação, certifique-se
que possui as seguintes informações:

- Denominação da máquina (hostname e dominio);
- Configuração de rede (IP, mascara de rede, gateway e DNS);
- Dados para acesso ao diretório (tipo de diretório, endere-
  ço, porta, uso de SSL, DN para consulta, DN do usuário de
  leitura e senha do usuário de leitura);
- Dados de contato da instituição (nome e e-mail dos conta-
  tos técnico e administrativo);
- Dados da instituição (nome da instituição, sigla, endere-
  ço do website, dominio da instituição, departamento res-
  ponsável pelo IDP, cidade/estado sede da instituição).

Para cancelar o processo de instalação precione CTRL+C, para
continuar precione ENTER

1. Inicialmente serão solicitadas informações referentes ao hostname e domínio. O hostname deve ser preenchido apenas com o nome que será atribuído à máquina (ex.: idp-cafe). O hostname não deverá conter o domínio.

2. O domínio deve conter as informações para o domínio externo de sua instituição (ex.: cafe.rnp.br).

Digite o hostname (somente o nome da maquina):
Digite o dominio (ex.: instituicao.br):

3. A seguir são cobradas informações referentes a configuração de endereçamento IP. Tal etapa presume a utilização de IP estático na vm-idp. A utilização de IP estático é uma boa prática uma vez que gera independência do servidor de DHCP. O script identificada a placa de rede de sua máquina e a opção de escolha será fornecida como mostra o exemplo abaixo:

Este servidor possui as seguintes interfaces de rede:
1 - ens33
2 - lo
Após a escolha, é necessário que entre com os valores corretos de sua rede IP.
Digite o endereco IP:
Digite a mascara (utilizar formato CDIR):
Digite o gateway:
Digite o IP do DNS (ex.: 8.8.8.8):

Uma simulação de respostas às questões acima é apresentada nas linhas abaixo.

Digite o endereco IP: 123.123.123.123

Digite a mascara: 24

Digite o gateway: 123.123.123.1

Digite o IP do DNS: 123.200.113.11

Após inserir o primeiro servidor DNS o script irá perguntar que gostaria de configurar um segundo servidor DNS, digite "1" para prosseguir com a configuração do segundo DNS ou apenas "2" para deixar somente um servidor DNS configurado.

Quanto ao uso de DNS secundário:
1 - Configurar
2 - Não configurar
Qual a opção escolhida?

4. Leitura de váriaveis e geração de chaves RSA para o SSH

Após realizar o termino da configuração inicial, hostname e IP o script irá iniciar as etapas seguintes, que precisam de acesso a internet para continuar. Se tudo der certo você verá a seguinte saída:

### FIRSTBOOT - INFORMACOES DE DEBUG ###

Variáveis lidas:

HN               = idp-cafe
HN_DOMAIN        = cafe.rnp.br
INTERFACE        = ens160
IP               = 200.130.75.31
MASK             = 24
GATEWAY          = 200.130.75.1
DNS1             = 200.130.77.11
USODNS2          = 1
DNS2             = 200.130.77.69
Gerando novas chaves para o Servidor SSH...
Creating SSH2 RSA key; this may take some time ...
3072 SHA256:RUHu8mfka2J3fglkRtcB2F8oz/xTKTiR/ZYsFCbMh5M root@idp-cafe.cafe.rnp.br (RSA)
Creating SSH2 ECDSA key; this may take some time ...
256 SHA256:eiYPEh7FidmHruYEE/q1d8PPxUUyBTv6V2nE0hsXGuI root@idp-cafe.cafe.rnp.br (ECDSA)
Creating SSH2 ED25519 key; this may take some time ...
256 SHA256:019Qhx5rJQ03SHzVEIQBqY4/gtGDd0OqIbtCl4rjKmc root@idp-cafe.cafe.rnp.br (ED25519)
rescue-ssh.target is a disabled or a static unit, not starting it.

Geracao de chaves finalizada

Nesse momento o script conseguiu gerar as chaves a partir das informações inseridas, aproveite para verificar as variáveis e se todas as informações estão corretas. Caso perceba algo errado, espere o script terminar sua execução e na próxima tela de pergunta digite "ctrl+c" para sair e iniciar o script novamente.

5. apt update e apt upgrade

Agora que o script possui acesso a rede ele irá iniciar a tarefa de atualização do sistema operacional. Fará de forma automática e executará um apt update + apt upgrade, apenas aguarde.

Aplicando configurações de rede...
Hit:1 https://apt.corretto.aws stable InRelease
Hit:2 http://br.archive.ubuntu.com/ubuntu focal InRelease
Get:3 http://br.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:4 http://br.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:5 http://br.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:6 http://br.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [1,510 kB]
Get:7 http://br.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [296 kB]
Get:8 http://br.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [14.7 kB]
Get:9 http://br.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [894 kB]
Get:10 http://br.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [196 kB]
Get:11 http://br.archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [20.0 kB]
Get:12 http://br.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [1,178 kB]
Get:13 http://br.archive.ubuntu.com/ubuntu focal-security/main Translation-en [210 kB]
Get:14 http://br.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [9,132 B]
Get:15 http://br.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [677 kB]
Get:16 http://br.archive.ubuntu.com/ubuntu focal-security/universe Translation-en [115 kB]
Get:17 http://br.archive.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [13.0 kB]
Fetched 5,469 kB in 2s (2,611 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
4 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  vim vim-common vim-runtime xxd
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 standard security updates
Need to get 0 B/7,247 kB of archives.
After this operation, 4,096 B of additional disk space will be used.
(Reading database ... 80240 files and directories currently installed.)
Preparing to unpack .../vim_2%3a8.1.2269-1ubuntu5.6_amd64.deb ...
Unpacking vim (2:8.1.2269-1ubuntu5.6) over (2:8.1.2269-1ubuntu5.4) ...
Preparing to unpack .../vim-runtime_2%3a8.1.2269-1ubuntu5.6_all.deb ...
Unpacking vim-runtime (2:8.1.2269-1ubuntu5.6) over (2:8.1.2269-1ubuntu5.4) ...
Preparing to unpack .../xxd_2%3a8.1.2269-1ubuntu5.6_amd64.deb ...
Unpacking xxd (2:8.1.2269-1ubuntu5.6) over (2:8.1.2269-1ubuntu5.4) ...
Preparing to unpack .../vim-common_2%3a8.1.2269-1ubuntu5.6_all.deb ...
Unpacking vim-common (2:8.1.2269-1ubuntu5.6) over (2:8.1.2269-1ubuntu5.4) ...
Setting up xxd (2:8.1.2269-1ubuntu5.6) ...
Setting up vim-common (2:8.1.2269-1ubuntu5.6) ...
Setting up vim-runtime (2:8.1.2269-1ubuntu5.6) ...
Setting up vim (2:8.1.2269-1ubuntu5.6) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...

6. Baixando o script fristboot-complement.sh

Nesse momento o script irá acessar o repositório da CAFe para baixar o script que fará a segunda etapa de configuração do IDP.

--2022-01-21 23:28:53--  https://raw.githubusercontent.com/frqtech/idp-ubnt-2004/main/firstboot-complement.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39941 (39K) [text/plain]
Saving to: ‘/usr/local/sbin/firstboot-complement.sh’

/usr/local/sbin/firstboot-complement.sh          100%[========================================================================================================>]  39.00K  --.-KB/s    in 0.006s

2022-01-21 23:28:53 (6.77 MB/s) - ‘/usr/local/sbin/firstboot-complement.sh’ saved [39941/39941]

--2022-01-21 23:28:53--  https://raw.githubusercontent.com/frqtech/idp-ubnt-2004/main/firstboot-complement.md5
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.108.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 57 [text/plain]
Saving to: ‘/usr/local/sbin/firstboot-complement.md5’

/usr/local/sbin/firstboot-complement.md5         100%[========================================================================================================>]      57  --.-KB/s    in 0s

2022-01-21 23:28:54 (2.03 MB/s) - ‘/usr/local/sbin/firstboot-complement.md5’ saved [57/57]

firstboot-complement.sh: OK

7. Configuração do acesso e comunicação com diretório (AD / LDAP)

Este instalador suporta dois tipos de servidor de diretório:
1 - AD
2 - LDAP
Qual o diretório utilizado pela instituição?

8. As opções a seguir devem ser escolhidas de acordo com o tipo de diretório da instituição, as questões seguintes tratam sobre o acesso ao diretório da instituição. Presume-se que tal diretório está adequadamente configurado

Digite o dominio AD que será utilizado (ex.: ad.local ou ldap1.local):
Digite o endereco do servidor de diretório (ex.: dc01.ad.local ou ldap1.local):
Digite a porta do servidor de diretório (ex.: 389):
As opções abaixo tratam da configuração de SSL do servidor de diretório
Escolha uma das opões com relação a configuração de SSL do servidor de diretório:
1 - Utiliza SSL
2 - Não utiliza SSL
O diretório indicado utiliza SSL?

Aonde é perguntado o domínio do seu AD ou LDAP inserir o seu domínio local.

Endereço do servidor digitar o nome ou ip do seu diretório.

Digitar porta, inserir porta de comunicação com seu diretório, normalmente 389 e 636.

Dizer para o script se o seu diretório usa SSL ou não.

9. O bloco seguinte se refere às definições da base de usuários da instituição:

Digite o DN para consulta no servidor de diretório (ex.: CN=Users,DC=instituicao,DC=br e ou=People,dc=instituicao,dc=br):
Digite o DN do usuários de leitura no servidor de diretório (ex.: conta_servico@instituicao.br ou cn=leitor-shib,dc=instituicao,dc=br):
Digite a senha do usuário de leitura do servidor de diretório:

Digitar o Base DN aonde deve ocorrer a consulta do Shibboleth para validar os seus usuários.

Digitar o DN da conta que fará a consulta no Base DN inserido acima.

DIgitar a senha da conta informada acima.

10. Preencha as informações referentes aos responsáveis pelo serviço na instituição:

HAVERÁ UM MOMENTO EM QUE SERÁ PERGUNTADO PELA SIGLA DE SEU ESTADO, DIGITE NO FORMATO "BR", Ex: RJ, ES, RS, PE, AM, etc...

ESSE PONTO É IMPORTANTE PARA A CORRETA CONFIGURAÇÃO DO MONITORAMENTO.

Digite o nome do contato tecnico do servico (ex.: Joao da Silva):
Digite o e-mail do contato tecnico do servico (ex.: joao.silva@instituicao.br):
Digite o nome da instituicao por exetenso (ex.: Rede Nacional de Ensino e Pesquisa):
Digite a sigla da instituicao (ex.: RNP):
Digite o endereco do site da instituicao (ex.: www.instituicao.br):
Digite o dominio da instituicao (ex.: instituicao.br):
Digite o nome departamento da instituicao que eh responsavel por este servico (ex.: CPD):
Digite o nome da cidade onde esta sediada a instituicao (ex.: Porto Alegre):
Digite a sigla da Unidade Federativa onde esta sediada a instituicao (ex.: RS para Rio Grande do Sul):
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):
Link de recuperação de senha (ex.: https://urlpaginarecuperacaodesenha.instituicao.br):
1 - SIM
2 - NAO
A instituicao possui uma pagina para recuperacao de senha?

11. Após o preenchimento das configurações acima, o sistema irá proceder com a configuração automática do IDP. Esta configuração pode levar alguns minutos.

12. Por fim é solicitada a criação de uma nova senha para o usuário cafe. Lembre-se que é importante a criação de um senha complexa para garantir a segurança de seu servidor:

Digite uma nova senha para o usuario cafe:
New password:

Também será solciitado uma senha para o usuário root.

Digite uma nova senha para o usuario root:
New password:

13. Após confirmação da senha de root, o sistema será reiniciado

14. Visualização de logs:

Caso você deseje visualizar os logs gerados pela Shibboleth é possível utilizar o seguinte comando (já possui um filtro para mostrar apenas mensagens com WARN ou ERROR):

DICA

tail -f -n3000 /opt/shibboleth-idp/logs/idp-process.log | egrep "(WARN|ERROR)" -A4

Homologação parcial

1. Para garantir que os passos descritos acima foram corretamente seguidos é necessário a execução de um script de homologação. Para fazer download desde script utilize a linha de comando abaixo:

wget --no-check-certificate https://svn.cafe.rnp.br/repos/CAFe/scripts/cafe-idp-validador.sh -O /tmp/cafe-idp-validador.sh
chmod +x /tmp/cafe-idp-validador.sh

2. Após fazer download, execute este script com permissão de root.

./cafe-idp-validador.sh

3. Se todas as checagens forem bem sucedidas você deverá receber a mensagem abaixo. Envie o arquivo de log gerado pelo script para o Service Desk e aguarde instruções para continuidade do processo de adesão.

OK - Nao foram encontrados pontos impeditivos para o processo de adesao.

Envie o arquivo de log gerado (XYZ.log) para o Service

Desk da RNP para dar continuidade ao atendimento.

4. Se ocorrer alguma falha na checagem você deverá receber a mensagem abaixo. Identifique qual/quais checagem não foram bem sucedidas e faça a devida correção. Em caso de dúvidas entre em contato com o Service Desk.

ERRO - Foram encontrados pontos impeditivos para o processo de adesao.

Verifique e corrija os erros e então execute novamente este script.

Last updated