Guia de Instalação Shibboleth SP (3.4)

Nota sobre Atualizações para o Shibboleth SP 3:

  • O Shibboleth SP v3 oferece suporte ao formato de configuração do SP v2, tornando os arquivos de configuração do SP v2 compatíveis com o SP v3.

  • Verifique o arquivo shibd.log para encontrar avisos de elementos de configuração obsoletos (deprecation warnings).

  • O guia de migração fornece instruções sobre como atualizar sua configuração para eliminar os avisos de elementos legados.

Introdução

Este guia descreve a instalação de um Shibboleth Service Provider (SP) 3.4 nos sistemas operacionais Linux/Unix, conforme suportado pelo Shibboleth Consortium. As instruções são genéricas e não específicas para federações.

Não testamos o SP em todas as versões de sistemas operacionais, então, por favor, relate qualquer problema que encontrar.

Se você usar uma distribuição Linux não listada acima que inclua um pacote Shibboleth SP atualizado, pode tentar instalar este.

Se o Service Provider já estiver instalado, continue para o Guia de Configuração do Switch Shibboleth Service Provider, específico para federações.

Nota para instalações Debian e Ubuntu que utilizavam o repositório antigo pkg.switch.ch: Conforme anunciado anteriormente, o repositório https://pkg.switch.ch/switchaai/ não está mais disponível. Use os pacotes dos canais de distribuição oficiais do Debian e Ubuntu.

Para remover o repositório SWITCHaai do sistema:

  • Desinstale os pacotes shibboleth e switchaai-apt-source.

  • Remova qualquer configuração APT restante para este repositório (se houver). Isso não desinstalará o Shibboleth SP, e os pacotes SWITCHaai SP instalados permanecerão até que uma versão mais recente esteja disponível no repositório oficial da distribuição.

Comandos sugeridos:

apt remove shibboleth  
apt-mark manual libapache2-mod-shib  
apt purge switchaai-apt-source  
rm /etc/apt/trusted.gpg.d/SWITCHaai-swdistrib.gpg /etc/apt/sources.list.d/SWITCHaai-swdistrib.list  
apt update

Recomendações

O projeto Shibboleth mantém seu próprio repositório, que fornece os binários oficiais do Shibboleth Service Provider e suas dependências para distribuições Linux baseadas em RPM. Este repositório sempre contém a versão mais atualizada do Shibboleth Service Provider. Portanto, é recomendável utilizar este repositório e seus pacotes, em vez dos pacotes fornecidos pela distribuição do sistema operacional.

Os seguintes softwares são opcionais, mas recomendados para a instalação e operação do Service Provider:

  • NTP: Os servidores que executam o Shibboleth precisam ter o horário do sistema sincronizado para evitar erros de diferença de relógio. Por isso, é recomendado ativar o ntp, chrony ou algum outro mecanismo de sincronização de tempo.

  • sudo: Recomenda-se instalar o sudo para comandos que exigem privilégios de root. O sudo pode ser instalado como usuário root utilizando:

    • Debian, Ubuntu:

      apt install sudo
    • Red Hat Enterprise Linux, CentOS:

      yum install sudo
    • Rocky Linux:

      dnf install sudo
  • curl: Para baixar softwares e arquivos de configuração, recomenda-se utilizar o curl. Caso prefira, você pode substituir os comandos do curl por outra ferramenta, como o wget. O curl pode ser instalado com:

    • Debian, Ubuntu:

      apt install curl
    • Red Hat Enterprise Linux, CentOS 7:

      sudo yum install curl
    • Rocky Linux 8/9:

      sudo dnf install curl
  • SSL habilitado para Apache: Recomenda-se fortemente habilitar e configurar o módulo SSL do Apache (mod_ssl) para suportar HTTPS (por exemplo, com sudo a2enmod ssl; sudo a2ensite default-ssl no Debian/Ubuntu). Por padrão, as mensagens do Shibboleth que contêm atributos de usuário são criptografadas. Embora possam ser enviadas por HTTP inseguro, qualquer acesso baseado em sessão via HTTP inseguro está sujeito a ataques de sequestro de sessão. Isso inclui sessões do Shibboleth. Usar HTTPS mitiga significativamente esse risco.

Antes de continuar para a próxima seção, certifique-se de que os requisitos acima foram atendidos no sistema onde o Shibboleth Service Provider será instalado.

Instalação

Instale o Shibboleth Service Provider.

Instalação do Shibboleth Service Provider Se uma versão anterior do Service Provider já estiver instalada no sistema, pode ser solicitado que você escolha entre manter os arquivos de configuração existentes ou substituí-los pelos arquivos padrão do pacote. Recomenda-se manter os arquivos de configuração antigos.

Você pode continuar usando os arquivos antigos na maioria dos casos. No entanto, é necessário atualizá-los para eliminar os avisos de elementos de configuração obsoletos. Geralmente, é recomendável realizar uma configuração limpa, conforme descrito no guia de configuração mencionado.

  • Para Debian e Ubuntu, instale o pacote Shibboleth com:

    sudo apt install libapache2-mod-shib
  • Para Red Hat, CentOS, Rocky Linux, Amazon Linux, obtenha o arquivo de repositório RPM apropriado e, em seguida, instale o pacote Shibboleth com:

    sudo yum install shibboleth

Se nenhuma das opções acima se aplicar, siga as instruções na Página Wiki do Shibboleth sobre Instalação em Linux para configurar o repositório Shibboleth ou instalar a partir do código-fonte e retorne aqui para continuar.

Após instalar o pacote, inicie e habilite o daemon shibd:

sudo systemctl start shibd.service
sudo systemctl enable shibd.service

O Shibboleth Consortium não oferece suporte ao SP em conjunto com o SELinux. Verifique o tópico sobre erros comuns no SELinux.

Configurações opcionais de proxy

O Shibboleth fará download automático de arquivos de metadados e CRL. Se a política da sua rede não permitir conexões de saída na porta 80 por padrão, é recomendável configurar um proxy HTTP para conexões de saída.

Adicione a seguinte linha em /etc/sysconfig/shibd:

export http_proxy=proxy.example.org:8080

Resultado

O Service Provider agora deve estar instalado no sistema. Os diretórios de interesse são:

  • /etc/shibboleth

  • Diretório de configuração do Shibboleth. O principal arquivo de configuração é o shibboleth2.xml.

  • /var/log/shibboleth

  • Diretório de logs onde os registros são gravados. O arquivo de log mais importante é o shibd.log, que deve ser consultado em caso de problemas.

  • /run/shibboleth

  • Diretório de runtime onde os arquivos de ID de processo e de soquete são armazenados.

  • /var/cache/shibboleth

  • Diretório de cache onde os backups de metadados e arquivos CRL são armazenados.

Teste Rápido

Após a instalação, um teste rápido pode verificar se o Service Provider foi instalado corretamente.

Verificação da Configuração do Shibboleth SP No terminal, execute o seguinte comando para verificar se o Shibboleth Service Provider pode carregar a configuração padrão:

  • Para Debian, Ubuntu, Rocky Linux, CentOS:

    sudo shibd -t
  • Para Red Hat Enterprise Linux:

    sudo LD_LIBRARY_PATH=/opt/shibboleth/lib64 shibd -t

A última linha da saída deve ser:

overall configuration is loadable, check console for non-fatal problems

Se houver entradas de log do tipo ERROR, é altamente recomendável investigar o problema. Mensagens com nível de log WARN geralmente não são problemáticas, mas é recomendável examinar suas causas.

Verificação da Configuração do Apache Teste também a configuração do Apache com o comando:

sudo apachectl configtest

A saída esperada para este comando é:

Syntax OK

Teste Rápido do Shibboleth (Re)inicie o servidor web e acesse a URL:

https://<seu-host>/Shibboleth.sso/Session

O servidor web (ou mais especificamente o daemon Shibboleth) deve retornar uma página com a mensagem:

A valid session was not found.

Essa mensagem indica que o módulo Shibboleth foi carregado pelo servidor web e está se comunicando com o processo shibd.

Configuração do Service Provider

Depois de os testes anteriores serem bem-sucedidos, continue para a configuração do Shibboleth SP.

Observe que os guias de configuração e migração são apenas para participantes do Switch edu-ID que configuram um Service Provider para a Federação Switch edu-ID (ou a Federação de Teste AAI). Em todos os outros casos, consulte as páginas de configuração no Wiki do Shibboleth.

Erros e Melhorias? Se você encontrar um erro ou um equívoco, ou se tiver sugestões de melhorias, informe-nos. Suas contribuições são muito apreciadas e ajudarão seus colegas.

Informações Adicionais

Referências:

Last updated

Was this helpful?