SP juhend SimpleSAMLphp paigaldamiseks, seadistamiseks ja ühendamiseks TAATiga.
- Laadige alla SimpleSAMLphp lehelt http://simplesamlphp.org/download ning pakkige arhiiv lahti oma veebiserverisse.
- Veenduge, et serveri konfiguratsioon (vhost) võimaldaks võimaldaks ligipääsu installatsioonikausta. Kui on kasutusel Suhosin, siis on vaja see seadistada lubama pikemaid GET parameetrite väärtuseid. Debiani puhul failis /etc/php5/apache2/conf.d/suhosin.ini
suhosin.get.max_value_length = 2048 - Navigeerige installatsioonikausta ja kopeerige kaustast config-templates/ failid config.php ja authsources.php kausta config/ ning metadata-templates/ kaustast fail saml20-idp-hosted.php kausta metadata/ :
cp config-templates/config.php config-templates/authsources.php config
cp metadata-templates/saml20-idp-hosted.php metadata
- Muutke failis config/config.php järgmised read:
// juurkataloogi puhul tuleb installatsioonikaustaks määrata '/' 'baseurlpath' => 'minuinstallatsioonikaust/', // sümbolijada genereerimiseks võib kasutada SimpleSAMLphp koodi kommentaarides olevat juhendit või sisestada see ise 'secretsalt' => 'suvalinesümbolijada', // lisage administratiivandmed 'auth.adminpassword' => 'administraatoriparool', 'technicalcontact_name' => 'tehnilise kontaktisiku nimi', 'technicalcontact_email' => 'tehnilise kontaktisiku e-postiaadress', // määrake ajatsoon 'timezone' => 'Europe/Tallinn',
- Leidke samas failis authproc.idp plokk (kõige all), veenduge, et selles oleks rida
10 => array( ‘class’ => ‘core:AttributeMap’, ‘name2urn’), - Failis authsources.php muutke default-sp nimi vastavaks oma teenuse nimega ning lisage read:
‘certificate’ => ‘server.crt’,
‘privatekey’ => ‘server.pem’,
‘redirect.sign’ => TRUE, // sign authn requests, logout requestsand responses sent from this SP
‘redirect.validate’ => TRUE, // validate signature of authn requests, logout requests and responses sent to this SP
‘sign.authnrequest’ => TRUE, // sign authentication requests sent from this SP
‘sign.logout’ => TRUE, // sign logout messages sent from this SP
‘validate.logout’ => TRUE, // validate signature of logout messages sent to this SP - Kaustas cert/ peab olema kehtiv sertifikaat. Self-signed sertifikaadi saab genereerida nii:
rm server*
openssl req -nodes -new -keyout server.pem -newkey rsa:2048 > server.csr
openssl x509 -req -days 1095 -in server.csr -signkey server.pem -out server.crt
chgrp www-data server.*
chmod o-r server.pem
TAAT-i jaoturitega ühendamine
- Aktiveerige järgnevad moodulid:
- cron
- metarefresh
Croni moodul käivitab etteantud töid perioodiliselt.
Metarefresh moodul laeb alla ja parsib metaandmed ning salvestab need lokaalselt vahemällu.
Esmalt kopeerige config-templates failide seast ülalpool mainitud moodulid globaalsesse config/ kausta.
[root@simplesamlphp] cd /var/simplesamlphp [root@simplesamlphp simplesamlphp] touch modules/cron/enable [root@simplesamlphp simplesamlphp] cp modules/cron/config-templates/*.php config/ [root@simplesamlphp simplesamlphp] touch modules/metarefresh/enable [root@simplesamlphp simplesamlphp] cp modules/metarefresh/config-templates/*.php config/
Metarefresh konfiguratsiooni täiendused
Muutke config/config-metarefresh.php faili vastavalt sellele, kas soovite ühendada test või produktsiooni jaoturi külge:
<?php $config = array( 'sets' => array( // TAAT produktsiooni jaotur teenusepakkujale 'taat-prod' => array( 'cron' => array('hourly'), 'sources' => array( array( 'src' => 'https://taeva.taat.edu.ee/metadata/metadata.taat+hub+prod+idp.xml', 'validateFingerprint' => 'E8:9A:5C:BB:05:BD:E4:16:F7:6F:47:E8:F6:1E:94:EE:7C:FC:29:0C', 'template' => array( 'tags' => array('taat-prod'), 'validate.authnrequest' => FALSE, 'validate.logout' => FALSE, ), ), ), 'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. 'outputDir' => 'metadata/taat-prod/', 'outputFormat' => 'flatfile', ), // TAAT test jaotur teenusepakkujale 'taat-test' => array( 'cron' => array('hourly'), 'sources' => array( array( 'src' => 'https://taeva.taat.edu.ee/metadata/metadata.taat+hub+test+idp.xml', 'validateFingerprint' => 'E8:9A:5C:BB:05:BD:E4:16:F7:6F:47:E8:F6:1E:94:EE:7C:FC:29:0C', 'template' => array( 'tags' => array('taat-test'), 'validate.authnrequest' => FALSE, 'validate.logout' => FALSE, ), ), ), 'expireAfter' => 60*60*24*4, // Maximum 4 days cache time. 'outputDir' => 'metadata/taat-test/', 'outputFormat' => 'flatfile', ), ), );
- Tehke TAAT-i hubi metadata jaoks eraldi kaust ning andke veebiserverile sinna kirjutamisõigus:
mkdir -p metadata/taat-prod chmod go+rw metadata/taat-prod/ mkdir -p metadata/taat-test chmod go+rw metadata/taat-test/
- Lisage config/config.php faili jaoturi metadata asukoht:
# ... rest of the file # # Find 'metadata.sources' section and make it to reflect: 'metadata.sources' => array( array('type' => 'flatfile', 'directory' => 'metadata'), array('type' => 'flatfile', 'directory' => 'metadata/taat-prod'), array('type' => 'flatfile', 'directory' => 'metadata/taat-test'), ), # ... rest of the file
- Kindlasti on vaja seada croni jaoks parool (märgitud failides RANDOM_KEY-iga), sest muidu saab igaüks tulla ja taske käivitada.
<?php /* * Configuration for the Cron module. * * $Id: $ */ $config = array ( 'key' => 'RANDOM_KEY', 'allowed_tags' => array('daily', 'hourly', 'frequent'), 'debug_message' => false, 'sendemail' => false, ); ?>
- Lisage croni töö:
Näiteks simplesamlphp_cron fail:# Run SimpleSAMLphp Hourly tasks at every second minute of an hour 2 * * * * apache curl --silent "https://SERVER/simplesaml/module.php/cron/cron.php?key=RANDOM_KEY&tag=hourly" > /dev/null 2>&1
NB! Juhul kui uuendasite SSP eelmist seadistust metarefreshi peale, siis on vajalik kustutada või väljakommenteerida vanas juhendis (punktis 8) loodud metadata/saml20-idp-remote.php failis reos.taat.edu.ee ja/või sarvik.taat.edu.ee metaandmed.
JANUS (uue ühenduse loomiseks)
- Tehke kasutaja JANUSesse aadressil https://taeva.taat.edu.ee/module.php/janus/index.php
- Lisage JANUSesse uus ühendus („Create connection“), kus ID on „entity id“, mis on leitav teie oma SimpleSAMLphp installatsioonilehel menüüst „Federation“ ning ühenduse tüübiks on „SAML 2.0 SP“. XML-i ei ole vaja kopeerida.
- Valige loodud ühendus ja minge lehele „Import metadata“. Kopeerige oma metaandmete XML või link, mille leiate oma SimpleSAMLphp installatsioonilehet „Federation“ vahelehelt „show metadata“ klõpsates.
- Vahelehel „Metadata“ lisage metaandmed, mis on nõutud TAAT Tehnoloogilises profiilis ( https://taat.edu.ee/main/dokumendid/ ).
- Vahelehel “Connection” valige endale ARP ehk atribuutide väljastamise poliitika.
Tõenäoliselt on teil vaja luua uus “New”. Nimetage oma ARP nii, et nimi sisaldaks teie
asutuse domeeninime ja ARP lisamise/muutmise kuupäeva ning valige atribuudid, mida
soovite TAATi kaudu vastu võtta. Atribuudid peavad klappima hiljem sõlmitud lepingus
oleva atribuutide nimistuga. Ärge unustage ka muudatusi salvestada. - Testige sisselogimist TAAT test-idp andmetega, mille leiate lehelt https://eitja.taat.edu.ee/
NB! Jaoturite andmeid uuendatakse kord 5 min jooksul. Kui teie ühendus kohe ei toimi,
oodake 5 minutit ja proovige uuesti.