Shibboleth IDPv3 - HA Starta med en fungerande IDP installerad med install-scriptet Installera en till nod med install-scriptet med samma install-conf.

Slides:



Advertisements
Liknande presentationer
Databaser & databasdesign
Advertisements

Nyinstallerad Webinfo •I Central parameters skapa parametern Statlogger och ge value 1 Logga endast vissa sidor genom att skapa parametern i PageId.
DATABASHANTERING för programmerare
2I1070 Lektion 2 KTH-MI Peter Mozelius Servlets och databaskopplingar.
2007 Microsoft Office System - Klienten Pontus Haglund Mid Market Solutions Specialist Microsoft AB.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
DNSSEC Linux - BIND Torbjörn Eklöv Interlan. Hidden master Slave Hidden master Slave Notify Zone-transfer.
Intrång i en IdP – vad hände :01:27 idp. X.se börjar skicka ut phisingmail :59:08 skickas det sista mailet från servern, totalt.
15% av inneliggande patienter på svenska sjukhus är intagna på grund av felmedicinering ofta orsakad av ej identifierad njurfunktionsnedsättning dvs nedsatt.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
OSD LIT/ZTI – Bending the rules Johan Arwidmark och Mikael Nyström.
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Databashantering Do it Max-style!. SELECT SELECT vad FROM tabellnamn Exempel: ◦ SELECT * FROM stralin_max  * = Välj allt som finns i tabellen ◦ SELECT.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Det är inte vad som händer dig som räknas – utan hur du reagerar på det. ” - Epiktetos.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Exercitatio artem parat ” (Övning ger färdighet) - Tacitus, Germania 24.
Java servlets och databaskopplingar
Namnrum, räckvidd och rekursion Linda Mannila
IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML XSLT nikos dimitrakas Rum 8522 Läsanvisningar.
Windows Vista: Administration Maria Johansson 10 nyheter som gör livet som administratör lättare.
Arkitektrollen. Ansvar och uppgifter Architecture notebook Mycket intensivt elaboration – inception Mål: en stabil arkitektur i slutet på elaboration.
OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 10 – Vecka INNEHÅLL  Säkra nätverksförbindelser  SSH (Secure Shell)  SSL (Secure Sockets Layer)
Agenda TechNet Klienten Sharepoint Sharepoint Exchange På ytan Säkerhet
Navision och SQL Server 2005
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
© 2007 Pearson Prentice Hall This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their.
Windows Vista: Utrullning Maria Johansson Windows Imaging WIM-filer Flera images per WIM-fil Filbaserat Hårdvaruoberoende Komprimerade Fånga systemläget.
© Gunnar Wettergren1 IV1021 Project models Gunnar Wettergren
DA7351 Programmering 1 Databas SQL Föreläsning 24.
Shannon dekomposition
William Sandqvist Några experiment med XPortPro.
Farofyllda vägar Annika Winsth Economic Research September 2015.
CHI-TSONG CHEN KAPITEL 2- Systems Kortfattade läsanvisningar Läs hela kapitlet utom 2.9 och 2.10.
IDPv3 Migrering Entitetskategorier. IDPv3 Dags att sätta upp en testmiljö för IDPv3 snarast Uppdateringar till IDPv2 kommer att upphöra Kritiska.
Bildbehandla med gratis programvaror Picasa, Gimp och Polarr editor.
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
Sång, Do re mi Love is all around, Ackord D Em G A Gitarr öva i grupper Instrument, instrumentgrupper lyssna Instrumentbingo Välkomna till musiken.
Oroligt och riskfyllt 1. Hygglig tillväxt trots allt 2.
THINGS TO CONSIDER WHILE PLANNING A PARTY Planning an event can take an immense amount of time and planning. Even then, the biggest problem that arises.
Advice from Bronx Best Real Estate Attorney. Jagiani Law office of New York has been successfully working as divorce attorney & Real estate attorney for.
Digitization and Management Consulting
Why you should consider hiring a real estate attorney!
Law abiding grounds of filing a divorce Jagianilaw.com.
Annika Winsth April 2017.
Mathematics 1 /Matematik 1
Jimmy Hedman South Pole AB Linuxkonsult sedan -00
Hoppas det här går hem ! Bildspelet vecka 3 5 BE ® BrucElvis
Lycka till med din dator! Fler guider på Good Luck!
How to Buy Engagement Rings for Women Online?. Buying engagement rings for women or tiffany celebration rings from the online market could be a bit challenging.
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
Vad gör jag om jag vill forska med SPORs data?
KaU - Datavetenskap - DAV B04
مینا نوروزی راد – محمد آرشی
Reporting of indicators i Sweden step by step
Publish your presentations online we present SLIDEPLAYER.SI.
Publish your presentations online we present SLIDEPLAYER.RS.
Publish your presentations online we present SLIDEPLAYER.IN.
Publish your presentations online we present SLIDEPLAYER.VN.
Publish your presentations online we present SLIDEPLAYER.RO.
Publish your presentations online we present SLIDEPLAYER.EE.
Publish your presentations online we present SLIDEPLAYER.CO.IL.
Publish your presentations online we present SLIDEPLAYER.AE.
Publish your presentations online we present SLIDEPLAYER.BG.
Publish your presentations online we present SLIDEPLAYER.AFRICA.
Publish your presentations online we present SLIDEPLAYER.MX.
Publish your presentations online we present SLIDEPLAYER.LT.
Publish your presentations online we present SLIDEPLAYER.LV.
Publish your presentations online we present SLIDEPLAYER.SK.
Presentationens avskrift:

Shibboleth IDPv3 - HA Starta med en fungerande IDP installerad med install-scriptet Installera en till nod med install-scriptet med samma install-conf som tidigare nod JPAStorage Sätt upp MASTER-MASTER replikering i MySQL Alternativt använd en fristående redundant databas Används en annan databas än MySQL behöver drivern ändras i confen Sync av sealer.jks

Depends för JPAStorage Bonecp http://repo1.maven.org/maven2/com/jolbox/bonecp/0.8.0.RELEASE/bonecp-0.8.0.RELEASE.jar HikariCP http://search.maven.org/remotecontent?filepath=com/zaxxer/HikariCP/2.4.3/HikariCP-2.4.3.jar Tomcat-jdbc http://apache.mirrors.spacedump.net/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz apache-tomcat-7.0.68/lib/tomcat-jdbc.jar orm.xml https://www.switch.ch/aai/guides/idp/installation/orm.xml

Lägga till depends Lägg till följande beans mot slutet av global.xml Uppdatera lösenordet för databasanvändaren på sista raden <bean id="shibboleth.JPAStorageService" class="org.opensaml.storage.impl.JPAStorageService" p:cleanupInterval="%{idp.storage.cleanupInterval:PT10M}" c:factory-ref="shibboleth.JPAStorageService.EntityManagerFactory" /> <bean id="shibboleth.JPAStorageService.EntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="storageservice" /> <property name="packagesToScan" value="org.opensaml.storage.impl" /> <property name="dataSource" ref="shibboleth.JPAStorageService.DataSource" /> <property name="jpaVendorAdapter" ref="shibboleth.JPAStorageService.JPAVendorAdapter" /> <property name="jpaDialect"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" /> </property> </bean> <bean id="shibboleth.JPAStorageService.JPAVendorAdapter” class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="database" value="MYSQL" /> <bean id="shibboleth.JPAStorageService.DataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close" lazy-init="true" p:driverClassName="com.mysql.jdbc.Driver” p:jdbcUrl="jdbc:mysql://127.0.0.1:3306/shibboleth?autoReconnect=true&localSocketAddress=127.0.0.1&connectTimeout=1800&initialTimeout=2&logSlowQueries=true&autoReconnectForPools=true” p:username="shibboleth" p:password="p@ssw0rd" /> Lösenordet som ska användas finns i global.xml i bönan ”MyGlobalDataSource”

Lägga till depends Lägg de nerladdade jar-filerna i följande katalog /opt/shibboleth-idp/edit-webapp/WEB-INF/lib/ Skapa följande katalog och lägg orm.xml där /opt/shibboleth-idp/edit-webapp/WEB-INF/classes/META-INF Lägg in följande rader i idp.properties idp.session.StorageService = shibboleth.JPAStorageService idp.replayCache.StorageService = shibboleth.JPAStorageService idp.artifact.StorageService = shibboleth.JPAStorageService

Lägga till depends Lägg in en av dessa rader i idp.properties on ni använder CAS eller consent idp.cas.idp.session.StorageService = shibboleth.JPAStorageService idp.consent.StorageService = shibboleth.JPAStorageService Kör detta kommando för att bygga om WAR-filen /opt/shibboleth-idp/bin/build.sh -Didp.target.dir=/opt/shibboleth-idp

Skapa en ny tabell i databasen shibboleth CREATE TABLE `StorageRecords` ( `context` varchar(255) NOT NULL, `id` varchar(255) NOT NULL, `expires` bigint(20) DEFAULT NULL, `value` longtext NOT NULL, `version` bigint(20) NOT NULL, PRIMARY KEY (`context`,`id`), KEY `storagerecords_expires_index` (`expires`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; GRANT ALL PRIVILEGES ON `shibboleth`.`StorageRecords` TO 'shibboleth'@'localhost';

MASTER-MASTER replikering i MySQL Se t.ex. http://www.ryadel.com/en/mysql-master-master-replication-setup-in-5-easy-steps/ Hela databasen ”shibboleth” behöver replikeras

Conf En nod bör vara master Uppdatera följande lösenord på slavarna Gör alla förändringar på denna nod, bygg war-fil, och kopiera allt till övriga noder Kopiera conf och creds till den nya noden, tänk på att kopiera detta igen när konfigurationen har förändrats conf/, credentials/, metadata/, ssl/, views/ & war/ Uppdatera följande lösenord på slavarna I filen /opt/jetty/jetty-base/start.d/idp.ini jetty.backchannel.keystore.password jetty.browser.keystore.password Tänk på att uppdatera lösenordet på shibboleth-användaren i MySQL Man kan även ändra root lösenordet på noderna så att man har samma

sealer.jks Måste vara samma mellan alla noder och roteras dagligen Se: /opt/idp-installer/bin/dailytasks.sh En nod bör generera den och pusha ut den till övriga noder SSH-nycklar behöver skapas för att pusha sealer.* till slavar

/opt/idp-installer/bin/dailytasks.sh – ett förslag #!/bin/bash # # Daily IdP housekeeping tasks # A shell script to handle daily housekeeping tasks for the IdP # Installation location: /opt/idp-installer/bin # Expected crontab to roll key at 11pm localtime daily: # "0 23 * * * /opt/idp-installer/bin/dailytasks.sh > /dev/null 2>&1" # Functions: # perform Shib v3 secret Key roll over # see: https://wiki.shibboleth.net/confluence/display/IDP30/SecretKeyManagement # ${APPROOT}/conf/ha.master should hold master name if any # ${APPROOT}/conf/ha.slaves should hold slave names if any export JAVA_HOME=/usr/java/default APPROOT="/opt/idp-installer" APPBIN="${APPROOT}/bin" LOGFILE="${APPROOT}/status.log" ECHO="echo -e " HOSTNAME=`hostname -s` SLAVE=no IDP_HOME="/opt/shibboleth-idp" # Maximum age in hours MAXAGE=2 ${ECHO} `date` "$$:==================BEGIN=========" &> >(tee -a ${LOGFILE}) if [ -r ${LOGFILE} ] && [ $(date +%w) -eq 0 ]; then ${ECHO} `date` "$$:Rotating ${LOGFILE}" &> >(tee -a ${LOGFILE}) mv ${LOGFILE} ${LOGFILE}.old fi # Assume I am a slave if there is a master whose name is not mine. if [ -r "${APPROOT}/conf/ha.master" ] && [ ! $(cat "${APPROOT}/conf/ha.master" | sed 's/\..*//') = "${HOSTNAME}" ]; then SLAVE=yes # Only regenerate if a master or secret key is missing or old if [ "${SLAVE}" = "no" ] || [ ! -r "${IDP_HOME}/credentials/sealer.jks" ] || \ [ $(( $(stat --printf="%Y\n" "${IDP_HOME}/credentials/sealer.jks" ) + $((60 * 60 * ${MAXAGE})) )) -lt $(date +%s) ]; then ${ECHO} `date` "$$:Function 1/1:Doing Secret Key Rollover" &> >(tee -a ${LOGFILE}) # trick: the pivot for the awk parsing is on the 'd=' in 'Password=' to preserve things if '=' is the last character (or not) STORE_PASS="$(cat ${IDP_HOME}/conf/idp.properties|grep idp.sealer.storePassword |awk -F'd=' '{print $2}'| tr -d '[[:space:]]')" ${ECHO} `date` "$$: Step 1/2:Make Backup of credentials/sealer.jks" &> >(tee -a ${LOGFILE}) CMDF1S1="cp -p ${IDP_HOME}/credentials/sealer.jks ${IDP_HOME}/credentials/sealer.jks.recentPreviousVersion" eval ${CMDF1S1} &> >(tee -a ${LOGFILE}) ${ECHO} `date` "$$: Step 2/2:Perform Update" &> >(tee -a ${LOGFILE}) CMDF1S2='${IDP_HOME}/bin/seckeygen.sh --storefile ${IDP_HOME}/credentials/sealer.jks --storepass "${STORE_PASS}" --versionfile ${IDP_HOME}/credentials/sealer.kver --alias secret' eval ${CMDF1S2} &> >(tee -a ${LOGFILE}) # Copy the regenerated key to all known slaves. if [ "${SLAVE}" = "no" ] && [ -r "${APPROOT}/conf/ha.slaves" ] && [ $(wc -l <"${APPROOT}/conf/ha.slaves") -gt 0 ]; then for HOST in $(cat "${APPROOT}/conf/ha.slaves"); do if [ ! ${HOSTNAME} = ${HOST} ] && $(ping -c 1 -q ${HOST} >/dev/null 2>&1); then scp -p -q "${IDP_HOME}"/credentials/sealer.* ${HOST}:"${IDP_HOME}/credentials/" && \ ${ECHO} `date` "$$:Copy Secret Key to ${HOST}" &> >(tee -a ${LOGFILE}) done else ${ECHO} `date` "$$:I am a slave, passing by" &> >(tee -a ${LOGFILE}) ${ECHO} `date` "$$:==================END=========" &> >(tee -a ${LOGFILE})

opt/idp-installer/bin/dailytasks.sh – ett förslag Skapa följande katalog /opt/idp-installer/conf Skapa följande filer /opt/idp-installer/conf/ha.master Ska innehålla hostname på master-noden /opt/idp-installer/conf/ha.slaves Ska innehålla hostname på alla slav-noder, en per rad Ändra på cron-jobbet för dailytasks.sh på samtliga slav-noder så att det körs 23:30