Shibboleth SP asennus RHEL

Last modified by Jukka Karvonen on 2024/02/26 14:33

1. Repositorion lisääminen ja asennus

HY mirroroi Shibboleth SP:n paketit omalle palvelimelleen. Saat ne käyttöön seuraavasti:

  • Kirjaudu palvelimelle sudo-oikeuksilla
  • Siirry hakemistoon: cd /etc/yum.repos.d/
  • Luo tiedosto shibboleth.repo ja lisää siihen järjestelmäversiosta riippuen seuraavat rivit:

Huom. HY:n palvelimilla kannattaa käyttää sisäitä repoa, mutta ulkopuolelta tähän ei ole pääsyä, jolloin baseurl:n tilalle tulee vaihtaa pois kommentoitu mirrorlist-parametri.

RHEL 9

Käytetään Rocky Linux 9 repoa.

[shibboleth]
name=Shibboleth (rockylinux9)
type=rpm-md
baseurl=https://paket.it.helsinki.fi/local-repo-mirrors/shibboleth/rockylinux9
# mirrorlist=https://shibboleth.net/cgi-bin/mirrorlist.cgi/rockylinux9
gpgcheck=1
gpgkey=https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
       https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
enabled=1

RHEL 8 / CentOS 8

RHEL8 käytetään CentOS 8 repoa.

[shibboleth]
name=Shibboleth (CentOS_8)
type=rpm-md
baseurl=https://paket.it.helsinki.fi/local-repo-mirrors/shibboleth/CentOS_8
# mirrorlist=https://shibboleth.net/cgi-bin/mirrorlist.cgi/CentOS_8
gpgcheck=1
gpgkey=https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
       https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
enabled=1

RHEL 7 / CentOS 7

[shibboleth]
name=Shibboleth (CentOS_7)
type=rpm-md
baseurl=https://paket.it.helsinki.fi/local-repo-mirrors/shibboleth/CentOS_7
# mirrorlist=https://shibboleth.net/cgi-bin/mirrorlist.cgi/CentOS_7
gpgcheck=1
gpgkey=https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
       https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
enabled=1
  • Asenna Shibboleth SP komennolla: yum install shibboleth
    • Hyväksy asennus ja GPG-avainten asennus. Shibd-prosessi

Paketti asentaa automaattisesti myös Apache2-moduulin.

2. Konfigurointi

Shibbolethin konfigurointi on kuvattu erillisellä ohjeella.

Apachessa tehtävät suojaukset on myös kuvattu erillisellä ohjeella: suojaukset apachessa

Varmista, että koneella on ntp ajossa (linux-palvelinylläpidon asentamilla tämä on oletuksena). Palvelimen ja IdP:n poikkeavat aikaleimat estävät kirjautumisen.

SELinux

Jos palvelimella ajetaan SELinuxia, täytyy Apachen (mod_shib-moduuli) ja Shibboleth SP:n (shibd-prosessi) välinen kommunikaatio sallia erikseen.

RHEL 9

Luo tiedosto nimeltä mod_shib-to-shibd.te sisällöllä:
 

module mod_shib-to-shibd 1.0;

require {
        type unconfined_service_t;
        type var_run_t;
        type httpd_t;
        class sock_file write;
        class unix_stream_socket connectto;
}

#============= httpd_t ==============
allow httpd_t unconfined_service_t:unix_stream_socket connectto;
allow httpd_t var_run_t:sock_file write;

Paketoi politiikka ja lataa moduuliksi:

checkmodule -m -M -o mod_shib-to-shibd.mod mod_shib-to-shibd.te 
semodule_package -o mod_shib-to-shibd.pp -m mod_shib-to-shibd.mod
semodule -i mod_shib-to-shibd.pp 

RHEL 8 ja vanhemmat

    • ====

RHEL 7 saattaa toimia oletuspolitiikoilla, RHEL 8 ja 6 vaativat alla olevat muutokset.

Luo tiedosto nimeltä mod_shib-to-shibd.te sisällöllä:

module mod_shib-to-shibd 1.0;

require {
        type var_run_t;
        type httpd_t;
        type initrc_t;
        class sock_file write;
        class unix_stream_socket connectto;
}

#============= httpd_t ==============
allow httpd_t initrc_t:unix_stream_socket connectto;
allow httpd_t var_run_t:sock_file write;

Paketoi politiikka ja lataa moduuliksi:

checkmodule -m -M -o mod_shib-to-shibd.mod mod_shib-to-shibd.te 
semodule_package -o mod_shib-to-shibd.pp -m mod_shib-to-shibd.mod
semodule -i mod_shib-to-shibd.pp 

3. Palvelun käynnistäminen

  • Lisätään shibboleth systemd:lle, jotta automaattinen käynnistys toimii:
    • systemctl enable shibd
  • Käynnistetään shibboleth:
    • systemctl start shibd
  • Varmistetaan, että Apache löytää shibbolethin konfiguraation lataamalla uudelleen konfiguraatiot:
    • apachectl graceful

4. Virheet ym.

Shibboleth kirjoittaa lokia /var/log/shibboleth -polkuun. Katso täältä shibd-lokista, ettei käynnistyksen aikana tule virheitä tai varoituksia.