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.
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:
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):
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:
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.