Mudanças entre as edições de "Shibboleth"

De BrapciWiki
Ir para navegação Ir para pesquisar
 
(38 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
= Shibboleth Testes =
 +
 +
==DiscoFeed==
 +
 
= Shibboleth =
 
= Shibboleth =
 +
[[https://medium.com/@winma.15/shibboleth-sp-installation-in-ubuntu-d284b8d850da]]
 +
 +
[[https://samltest.id/download/ https://samltest.id/download/]]
 +
apt install shibboleth-sp-utils
 +
 +
Para testar
 +
shibd -t
 +
== Instalando o Apache2 ==
 +
 +
apt-get install libapache2-mod-shib2
 +
a2enmod shib
 +
 +
apt install mod_proxy
 +
a2enmod proxy_ajp
 +
 +
== Configurações do Apache2 ==
 +
<IfModule mod_ssl.c>
 +
<VirtualHost *:443>
 +
        ServerName vitrinedadosabertos.rnp.br
 +
        ServerAdmin renefgj@gmail.com
 +
#      ErrorLog ${APACHE_LOG_DIR}/error.log
 +
#      CustomLog ${APACHE_LOG_DIR}/access.log combined
 +
        DocumentRoot "/var/www/html/"
 +
#
 +
        ProxyPass /s1 !
 +
        ProxyPass /dataview !
 +
        ProxyPass /dvn !
 +
        ProxyPass /Shibboleth.sso !
 +
#      ProxyPass
 +
        <Directory "/var/www/dataverse/branding/">
 +
                Options Indexes FollowSymLinks MultiViews
 +
                AllowOverride None
 +
                Order allow,deny
 +
                allow from all
 +
                Require all granted
 +
        </Directory>
 +
#
 +
        SSLCertificateFile /etc/letsencrypt/live/vitrinedadosabertos-dev.rnp.br/fullchain.pem
 +
        SSLCertificateKeyFile /etc/letsencrypt/live/vitrinedadosabertos-dev.rnp.br/privkey.pem
 +
        Include /etc/letsencrypt/options-ssl-apache.conf
 +
#
 +
        # don't pass paths used by Shibboleth to Payara
 +
        ProxyPassMatch ^/Shibboleth.sso !
 +
        ProxyPassMatch ^/shibboleth-ds !
 +
        # pass everything else to Payara
 +
        ProxyPass / ajp://localhost:8009/
 +
        <Location /shib.xhtml>
 +
          AuthType shibboleth
 +
          ShibRequestSetting requireSession 1
 +
          require valid-user
 +
        </Location>
 +
</VirtualHost>
 +
</IfModule>
 +
 +
 +
Mods
 +
shib
 +
proxy
 +
proxy_ajp
 +
ssl
 +
 +
Veja o [[hostname]]
 +
 +
=== VirtualHost ===
 +
<pre>
 +
<IfModule mod_ssl.c>
 +
<VirtualHost *:443>
 +
        ServerName vitrinedadosabertos.rnp.br
 +
        ServerAdmin renefgj@gmail.com
 +
#      ErrorLog ${APACHE_LOG_DIR}/error.log
 +
#      CustomLog ${APACHE_LOG_DIR}/access.log combined
 +
        DocumentRoot "/var/www/html/"
 +
 +
        ProxyPass /s1 !
 +
        ProxyPass /dataview !
 +
        ProxyPass /dvn !
 +
        ProxyPass /Shibboleth.sso !
 +
#      ProxyPass
 +
 +
 +
        Alias "/s1/" "/var/www/html/s2"
 +
        Alias "/dataview/" "/data/DataView/public/"
 +
 +
        <Directory "/data/DataView/public/">
 +
                Options Indexes FollowSymLinks MultiViews
 +
                AllowOverride None
 +
                Order allow,deny
 +
                allow from all
 +
                Require all granted
 +
        </Directory>
 +
 +
        SSLCertificateKeyFile /etc/letsencrypt/live/vitrinedadosabertos.rnp.br/privkey.pem
 +
        Include /etc/letsencrypt/options-ssl-apache.conf
 +
 +
        # don't pass paths used by Shibboleth to Payara
 +
        ProxyPassMatch ^/Shibboleth.sso !
 +
        ProxyPassMatch ^/shibboleth-ds !
 +
        # pass everything else to Payara
 +
        ProxyPass / ajp://localhost:8009/
 +
 +
        <Location /shib.xhtml>
 +
          AuthType shibboleth
 +
          ShibRequestSetting requireSession 1
 +
          require valid-user
 +
        </Location>
 +
</VirtualHost>
 +
</IfModule>
 +
</pre>
  
 
== Instalando o Java ==
 
== Instalando o Java ==
Linha 5: Linha 117:
 
  java --version
 
  java --version
  
== ==  
+
==Download 4.1.4==  
  wget https://shibboleth.net/downloads/identity-provider/4.1.4/shibboleth-identity-provider-4.1.4.tar.gz
+
  wget https://shibboleth.net/downloads/identity-provider/4.2.1/shibboleth-identity-provider-4.2.1.tar.gz
  tar -xvzf shibboleth-identity-provider-4.1.4.tar.gz
+
  tar -xvzf shibboleth-identity-provider-4.2.1.tar.gz
  cd shibboleth-identity-provider-4.1.4/bin
+
  cd shibboleth-identity-provider-4.2.1/bin
 
  ./install.sh
 
  ./install.sh
 
  chown -R payara /opt/shibboleth-idp
 
  chown -R payara /opt/shibboleth-idp
 +
 +
== Ubuntu ==
 +
apt install shibd
 +
 +
== Install AJP ==
 +
$PAYARA/bin/asadmin create-network-listener --protocol http-listener-1 --listenerport 8009 --jkenabled true jk-connector
  
 
== Install ==
 
== Install ==
Linha 28: Linha 146:
 
Open the shibboleth SP configuration file.
 
Open the shibboleth SP configuration file.
 
  sudo nano /etc/shibboleth/shibboleth2.xml
 
  sudo nano /etc/shibboleth/shibboleth2.xml
 +
 +
== Gerar Certificado Local ==
 +
[[Arquivo:Keygen.zip]]
 +
 +
== Testar Erros ==
 +
shibd -t
 +
 +
== Ver os logs ==
 +
pico /var/log/shibboleth/shibd.log
 +
 +
== Schollar Ship - Atributos ==
 +
Arquivos do Dataverse Shibboleth Sp:
 +
/etc/shibboleth/shibboleth2.xml
 +
 +
Arquivos do Shibboleth IDP:
 +
/opt/shibboleth-idp/conf/attribute-filter.xml
 +
/opt/shibboleth-idp/conf/attribute-resolver.xml
 +
 +
=Atributos IDP=
 +
No arquivo
 +
attribute-map.xml
 +
é possível criar alias para variáveis não disponíveis, exemplos:
 +
 +
Cria um attributo givenName
 +
<Attribute name="urn:oid:2.5.4.3" id="cn" aliases="givenName"/>
 +
 +
Cria doisattributo givenName e cedap
 +
<Attribute name="urn:oid:2.5.4.3" id="cn" aliases="givenName cedap"/>
 +
 +
=Teste=
 +
Para ativar a visaulização das Sesões do Login deve-se ativar o paramentro "true" do showAttributeValues no arquivo '''shibboleth2.xml'''
 +
<Handler type="Session" Location="/Session" showAttributeValues="'''true'''"/>
 +
Para ver os atribuitos:
 +
[[https://vitrinedadosabertos-dev.rnp.br/Shibboleth.sso/Session https://vitrinedadosabertos-dev.rnp.br/Shibboleth.sso/Session]]
 +
 +
=Teste no Chimarrão RNP=
 +
Pode-se ver os atributos fornecidos pelos IdP
 +
[[https://ds.chimarrao.cafe.rnp.br/ https://ds.chimarrao.cafe.rnp.br/]]
 +
 +
 +
= Credential Resolver =
 +
 +
        <CredentialResolver type="File" use="signing"
 +
            key="cert/sp-key.pem" certificate="cert/sp-cert.pem"/>
 +
        <CredentialResolver type="File" use="encryption"
 +
            key="cert/sp-key.pem" certificate="cert/sp-cert.pem"/>
 +
 +
= Data Provider =
 +
Definindo o DataProvider para autenticação
 +
        <MetadataProvider type="XML" validate="true"
 +
                url="https://ds.cafe.rnp.br/metadata/cafe-metadata.xml"
 +
                backingFilePath="/etc/shibboleth/cache/CAFE.xml">
 +
        </MetadataProvider>
 +
 +
Para manter o arquivo sem cache (fixo) sem atualizar, alterar de '''backingFilePath''' para '''path'''
 +
        <MetadataProvider
 +
                type="XML"
 +
                '''path'''="/etc/shibboleth/chimarrao-unic.xml">
 +
        </MetadataProvider>
 +
 +
=IdP=
 +
* [https://cafe.sede.embrapa.br/idp/shibboleth Embrapa]
 +
* [https://idp.fiocruz.br/idp/shibboleth Fiocruz]
 +
 +
 +
* [https://shibboleth.ufg.br/idp/shibboleth UFG]
 +
* [https://ds.cafe.rnp.br/metadata/cafe-metadata.xml Metadata Cafe]
 +
* [https://idp-cafe.ufra.edu.br/idp/shibboleth UFRA]
 +
* [https://met.refeds.org/ Search IdP]
 +
* [https://idp.rnp.br/idp/shibboleth RNP]
 +
* [https://ds.chimarrao.cafe.rnp.br/metadata/chimarrao-metadata.xml RNP Chimarrão]

Edição atual tal como às 22h44min de 13 de março de 2024

Shibboleth Testes

DiscoFeed

Shibboleth

[[1]]

[https://samltest.id/download/]

apt install shibboleth-sp-utils

Para testar

shibd -t

Instalando o Apache2

apt-get install libapache2-mod-shib2
a2enmod shib
apt install mod_proxy
a2enmod proxy_ajp

Configurações do Apache2

<IfModule mod_ssl.c>
<VirtualHost *:443>
       ServerName vitrinedadosabertos.rnp.br
       ServerAdmin renefgj@gmail.com
#      ErrorLog ${APACHE_LOG_DIR}/error.log
#      CustomLog ${APACHE_LOG_DIR}/access.log combined
       DocumentRoot "/var/www/html/"
#
       ProxyPass /s1 !
       ProxyPass /dataview !
       ProxyPass /dvn !
       ProxyPass /Shibboleth.sso !
#      ProxyPass
       <Directory "/var/www/dataverse/branding/">
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
               Require all granted
       </Directory>
#
       SSLCertificateFile /etc/letsencrypt/live/vitrinedadosabertos-dev.rnp.br/fullchain.pem
       SSLCertificateKeyFile /etc/letsencrypt/live/vitrinedadosabertos-dev.rnp.br/privkey.pem
       Include /etc/letsencrypt/options-ssl-apache.conf
#
       # don't pass paths used by Shibboleth to Payara
       ProxyPassMatch ^/Shibboleth.sso !
       ProxyPassMatch ^/shibboleth-ds !
       # pass everything else to Payara
       ProxyPass / ajp://localhost:8009/
       <Location /shib.xhtml>
         AuthType shibboleth
         ShibRequestSetting requireSession 1
         require valid-user
       </Location>
</VirtualHost>
</IfModule>


Mods

shib
proxy
proxy_ajp
ssl

Veja o hostname

VirtualHost

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName vitrinedadosabertos.rnp.br
        ServerAdmin renefgj@gmail.com
#       ErrorLog ${APACHE_LOG_DIR}/error.log
#       CustomLog ${APACHE_LOG_DIR}/access.log combined
        DocumentRoot "/var/www/html/"

        ProxyPass /s1 !
        ProxyPass /dataview !
        ProxyPass /dvn !
        ProxyPass /Shibboleth.sso !
#       ProxyPass


        Alias "/s1/" "/var/www/html/s2"
        Alias "/dataview/" "/data/DataView/public/"

        <Directory "/data/DataView/public/">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                Require all granted
        </Directory>

        SSLCertificateKeyFile /etc/letsencrypt/live/vitrinedadosabertos.rnp.br/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

        # don't pass paths used by Shibboleth to Payara
        ProxyPassMatch ^/Shibboleth.sso !
        ProxyPassMatch ^/shibboleth-ds !
        # pass everything else to Payara
        ProxyPass / ajp://localhost:8009/

        <Location /shib.xhtml>
          AuthType shibboleth
          ShibRequestSetting requireSession 1
          require valid-user
        </Location>
</VirtualHost>
</IfModule>

Instalando o Java

apt-get install default-jdk -y
java --version

Download 4.1.4

wget https://shibboleth.net/downloads/identity-provider/4.2.1/shibboleth-identity-provider-4.2.1.tar.gz
tar -xvzf shibboleth-identity-provider-4.2.1.tar.gz
cd shibboleth-identity-provider-4.2.1/bin
./install.sh
chown -R payara /opt/shibboleth-idp

Ubuntu

apt install shibd

Install AJP

$PAYARA/bin/asadmin create-network-listener --protocol http-listener-1 --listenerport 8009 --jkenabled true jk-connector

Install

Create a self-signed certificate(SSL).

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

APT Install

sudo apt-get install libapache2-mod-shib2

Now set the shibboleth certificate using the following command.

sudo shib-keygen -h localhost
openssl x509 -text -noout -in /etc/shibboleth/sp-cert.pem

Open the shibboleth SP configuration file.

sudo nano /etc/shibboleth/shibboleth2.xml

Gerar Certificado Local

Arquivo:Keygen.zip

Testar Erros

shibd -t

Ver os logs

pico /var/log/shibboleth/shibd.log

Schollar Ship - Atributos

Arquivos do Dataverse Shibboleth Sp:

/etc/shibboleth/shibboleth2.xml

Arquivos do Shibboleth IDP:

/opt/shibboleth-idp/conf/attribute-filter.xml
/opt/shibboleth-idp/conf/attribute-resolver.xml

Atributos IDP

No arquivo

attribute-map.xml

é possível criar alias para variáveis não disponíveis, exemplos:

Cria um attributo givenName

<Attribute name="urn:oid:2.5.4.3" id="cn" aliases="givenName"/>

Cria doisattributo givenName e cedap

<Attribute name="urn:oid:2.5.4.3" id="cn" aliases="givenName cedap"/>

Teste

Para ativar a visaulização das Sesões do Login deve-se ativar o paramentro "true" do showAttributeValues no arquivo shibboleth2.xml

<Handler type="Session" Location="/Session" showAttributeValues="true"/>

Para ver os atribuitos:

[https://vitrinedadosabertos-dev.rnp.br/Shibboleth.sso/Session]

Teste no Chimarrão RNP

Pode-se ver os atributos fornecidos pelos IdP

[https://ds.chimarrao.cafe.rnp.br/]


Credential Resolver

       <CredentialResolver type="File" use="signing"
           key="cert/sp-key.pem" certificate="cert/sp-cert.pem"/>
       <CredentialResolver type="File" use="encryption"
           key="cert/sp-key.pem" certificate="cert/sp-cert.pem"/>

Data Provider

Definindo o DataProvider para autenticação

       <MetadataProvider type="XML" validate="true"
               url="https://ds.cafe.rnp.br/metadata/cafe-metadata.xml"
               backingFilePath="/etc/shibboleth/cache/CAFE.xml">
       </MetadataProvider>
Para manter o arquivo sem cache (fixo) sem atualizar, alterar de backingFilePath para path
       <MetadataProvider
               type="XML"
               path="/etc/shibboleth/chimarrao-unic.xml">
       </MetadataProvider>

IdP