Shibboleth IdP und keepalived. Eine einfache Lösung zur Hochverfügbarkeit

Ähnliche Dokumente
Ciphermail Galera Keepalived und HAProxy

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Hochverfügbarkeit und Lastverteilung am Beispiel von Apache. Stephan Wienczny

PUPPET 4 SOLARIS Thomas Rübensaal, Thorsten Schlump T-Systems International GmbH

HA-API der Oracle Clusterware 10gR2

WildFly Application Server Administration

Clustering und Failover mit Linux Markus Oswald

bedienerfreundlich plattformunabhängig Industrie 4.0 Web Viewer Smartphone-App kostenl. Hotline

Überwachung des Nagios-Servers. Stephan Schmidt 31. August 2007

MySQL HA Lösungen für Front- und Backend. Matthias Klein

Stand der Entwicklung von Shibboleth 2

NCP Secure Enterprise HA Server (Linux) Release Notes

Galera Cluster - Lessons learned Linux höchstpersönlich.

Bash-Skripting Linux-Kurs der Unix-AG

MariaDB und Galera. Chemnitzer Linux-Tage März Ralf Lang Linux Consultant & Developer B1 Systems GmbH

Migration von 2 9i-DBs auf 2*4-Knoten-RAC unter Unbreakable Linux mit ASM, RMAN, NetApp. Dagmar Förster Christian Trieb

Linux - a bit advanced

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35

Clustering und Failover mit Linux

Die Überwachung lokaler Server Parameter durch den Local Check erfordert die Installation eines Monitoring Agents auf dem überwachten Server.

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

Netzwerk Teil 1 Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG

VNUML Projektpraktikum

Bash-Scripting Linux-Kurs der Unix-AG

RADIUS Loadbalacing. 66. DFN Betriebstagung. mit Freeradius 3. Chemnitz 21. März 2017 Ronald Schmidt

Bootstrapping Ansible. Bengt Giger Informatikdienste ETH Zürich Client Delivery

DNS Replikation. Die XML-Grunddatei

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Release Notes. NCP Secure Enterprise HA Server. 1. Neue Leistungsmerkmale und Erweiterungen. 2. Fehlerbehebung und Änderungen

RADIUS. Moritz Blanke (KaWo1) TANAG 2017

Side Recovery Manager

GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

APEX (Hoch) Verfügbar? Ernst Leber

Netzwerk Teil 1 Linux-Kurs der Unix-AG

Erstellt bei Teris Cooper Freie Nutzung des PDF Dokuments

Default-Gateway Redundanz

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Server in Betrieb nehmen

Absichern eigener Anwendungen mit Oracle 10gR2 Clusterware. Daniel Schulz Opitz Consulting Gummersbach GmbH

2.Härten von UNIX-Systemen

Praxis Linux-Administration

Shell-Scripting Linux-Kurs der Unix-AG

Grundlagen zu VirtualBox. am Beispiel von VirtualBox 5 von Dirk Burkert

Lösung von Übungsblatt 11. (Virtualisierung und Emulation)

Shell-Scripting Linux-Kurs der Unix-AG

1. DNSSEC Monitoring 2. DNSSEC Monitoring Tests 3. externe Monitoring Programme 2. 1

Vorlesung Unix-Praktikum

Handbuch der Routing-Protokolle

ConSol* Monitoring-Tools Ein Überblick - Mit Praxisbeispielen zum Einsatz bei Lidl -

Linux High Availability out of the Box

Anleitung VM-Installation Ubuntu

Intrexx Hochverfügbarkeit

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Erweiterung der DHCP Admin -Datenbank zur Bestimmung des IPv4 Nutzungsgrades. Seminarvortrag von Philipp Tomazin

Inhaltsübersicht. Vorwort I Installation RAID- und LVM-Grundlagen Ubuntu-Server-Installation Erste Schritte...

Eine hochverfügbare Firewall mit Linux-HA, iptables und fwbuilder

Projektierung und Betrieb von Rechnernetzen

Computer & GNU/Linux Einführung Teil 4

Inhaltsübersicht. Vorwort 13. I Installation 15 1 RAID- und LVM-Grundlagen 17 2 Ubuntu-Server-Installation 37 3 Erste Schritte 57

Middleware - Cloud Computing Übung

Inhaltsverzeichnis Erste Schritte Grundprinzipien in Linux

DK Doku.de. Neu VM. (Specials Documentation von: DK Doku.de, )

Rapid Deployment von OS, Virtualisierung und Applikation

AVMultimedia 2019 Linux-Desktop für Beruf und Freizeit. 18. Augsburger Linux-Infotag 6. April 2019, Urs Pfister

Shell-Scripting Linux-Kurs der Unix-AG

Inhalt. Was ist Nagios? Installation Konfiguration Demo

RAC-Tests: Welche sind notwendig? Welche sind durchführbar?

2

Hochverfügbarkeit mit Data Guard Möglichkeiten und Grenzen

IdP Cluster Strukturen und zentrales Logging

OpenBSD Gateway Cluster

Den Websurfer absichern

Klaus Eckstein, Daniel Hillinger Cloud Control - hochverfügbar von Kopf bis Fuß

BSA LAMP-Installation unter Debian-Edge

Grundkurs Routing im Internet mit Übungen

bintec Workshop Automatisches Router-Backup (Redundanz) mit BRRP Copyright 20. Februar 2006 Funkwerk Enterprise Communications GmbH Version 1.

Shibboleth Infrastruktur an der RWTH Aachen

Funktion USG 100 USG 200. Anzahl MAC Adressen 5 6. Flash size DRAM size Max. Anzahl VLAN Interface 32 32

Oracle und Hochverfügbarkeit Verschiedene Ansätze im Vergleich. Dierk Lenz Herrmann & Lenz Services GmbH DOAG Regio München/Südbayern 14.

SIP-Telefonie im HAMNET

Installation. Schulfilter Plus Installationsanleitung Ubuntu und Ubuntu 16.04

Bibliografische Informationen digitalisiert durch

FirstSpirit HighAvailability FirstSpirit Version 5.2

Nexinto Business Cloud - HAProxy Anleitung zum Aufsetzen eines HAProxy Images. Version: 1.0

T H E P O W E R O F B U I L D I N G A N D M A N A G I N G N E T W O R K S. Operations

Containerplattform. Lego für DevOps. Dr. Jonas Trüstedt

Leitfaden für die Installation der freien Virtual Machine. C-MOR Videoüberwachung auf einem VMware ESX Server

TSM luster. Hochverfügbarkeit für TSM Server auf UNIX. März Version 6.1

Zend Server Cluster Manager

Installations- und Update-Anleitung für TransportControl

Unterbrechungsfreies Reporting

Hochverfügbare Lizenzerzeugung

NETx KNX OPC Server. Standard OPC Lösung für KNX Projekte von unterschiedlicher Größe. Funktionen Versionen Systemvoraussetzungen Bestellhinweise

SOLARIS 11 DEPLOYMENT MIT PUPPET Thomas Rübensaal T-Systems International GmbH

Continuous Integration mit TravisCI u.a. Jan Steemann

LXCCU / CCU2 Backup Script

Automatisierung, Virtualisierung & Management Es muss nicht immer VMware sein

Installationsanleitung der ansitel VM (60-Tage Testversion) am Beispiel Oracle VirtualBox

Packet Tracer - Anschließen eines Routers an ein LAN

Transkript:

Shibboleth IdP und keepalived Eine einfache Lösung zur Hochverfügbarkeit Thorsten Michels RHRK 28. September 2016 Thorsten Michels Shibboleth IdP und keepalived 1/ 16

Ausgangssituation 1 IdP eine einzelne virtuelle Maschine Vorteile für IdP-Admins: keine Sorgen wegen Ausfallsicherheit der Hardware keine Sorgen wegen Erreichbarkeit im Internet (Netzwerkinfrastruktur) Snapshots einfache Anpassung von Prozessorkernen, Festplattengröße,... Aber noch keine Absicherung gegen Ausfälle z. B. bei Updates oder Konfigurationsänderungen. Thorsten Michels Shibboleth IdP und keepalived 2/ 16

Ausgangssituation 2 Zwei virtuelle Maschinen + Service-IP-Adresse VMs laufen immer auf getrennten ESX-Hosts (Distributed Resource Scheduling per Affinitätsregel) Beide VMs haben identische Apache-, Tomcat- und IdP-Konfiguration auf Name bzw. IP der Service-IP-Adresse Keine Unterschiede bei Wartung; Skripte und Konfigurationsdateien können ohne Änderung zwischen VMs kopiert werden. Die VMs können sich also gegenseitig ersetzen. Fehlt: Mechanismus, der das im Notfall automatisch macht. Thorsten Michels Shibboleth IdP und keepalived 3/ 16

keepalived Implementierung eines Hot-Standby-Protokolls (VRRP: Virtual Router Redundancy Protocol, RFC 5798) Healthcheck Framework: Überwachung von TCP-Verbindung, http/https-get oder beliebiges Skript Loadbalancing Framework: benutzt Linux Virtual Machine Kernelmodul, ipvsadm Homepage: http://www.keepalived.org Thorsten Michels Shibboleth IdP und keepalived 4/ 16

keepalived Dokumentation: https://www.keepalived.org/pdf/userguide.pdf man keepalived.conf https://github.com/acassen/keepalived/blob/master/doc/ keepalived.conf.synopsis Google und hoffen Thorsten Michels Shibboleth IdP und keepalived 5/ 16

1. Szenario: Failover mit IdP V2 keepalived annonciert die Service-IP-Adresse, falls es keine andere Instanz mit höherer Priorität macht. Überprüfbar mit ip addr. Auf beiden VMs läuft eine Instanz von keepalived: apt-get install keepalived vim /etc/keepalived/keepalived.conf service keepalived start/stop Logs in /var/log/messages In unserer Konfiguration: Es gibt keinen dezidierten Masterknoten. Knoten 2 übernimmt die IP-Adresse, wenn Knoten 1 ausfällt, z. B. bei Shutdown oder kontrolliertem Abschalten des Dienstes, und behält sie dann, auch wenn Knoten 1 wieder hochfährt. Thorsten Michels Shibboleth IdP und keepalived 6/ 16

keepalived.conf vrrp_instance VI_1 { state BACKUP nopreempt interface eth0 virtual_router_id 53 priority 100 # Kommentar advert_int 1 authentication { auth_type PASS auth_pass JOSHUA } virtual_ipaddress { 93.184.216.34/28 2606:2800:220:1:248:1893:25c8:1946/64 } } Thorsten Michels Shibboleth IdP und keepalived 7/ 16

1. Szenario: Failover mit IdP V2 Vorteile: + einfache Lösung, leicht umzusetzen + leichtes Fallback bei Updates und Konfigurationsänderungen + keine Probleme mit Verteilung einer Sessions auf verschiedene Knoten durch Loadbalancing Nachteile: kein Loadbalancing (Ist das nötig?) Sessionverlust beim Schwenk funktioniert nicht bei scheintoten Maschinen Weitere nötige Zusatzarbeiten: DB und LDAP müssen auch hochverfügbar sein. Ab V3: Cookie Encryption Key Rollover Thorsten Michels Shibboleth IdP und keepalived 8/ 16

Cookie Encryption Key Rollover #!/bin/bash IPS= ip addr IP_IDP= dig +short idp.example.org egrep ^[0-9\.]*$ MASTER= echo $IPS grep $IP_IDP wc -l if [ $MASTER -ge 1 ] then # Ich bin Master. java -cp "$IDP_HOME/webapp/WEB-INF/lib/*" \ net.shibboleth.utilities.java.support.security.basickeystorekeystrategytool \ --storefile $IDP_HOME/credentials/sealer.jks \ --versionfile $IDP_HOME/credentials/sealer.kver \ --alias secret \ --storepass \ "$(grep ^idp.sealer.storepassword $IDP_HOME/credentials/credentials.properties cut -d -f 2)" cd $IDP_HOME/credentials scp sealer.jks sealer.kver root@knoten1:$idp_home/credentials/ scp sealer.jks sealer.kver root@knoten2:$idp_home/credentials/ fi Thorsten Michels Shibboleth IdP und keepalived 9/ 16

2. Szenario: IdP V3 und Postgres Master-/Slave-Replikation zwischen Postgres-Knoten Mit neuer IdP-V3-Option idp.session.storageservice = shibboleth.jpastorageservice Kein Sessionverlust bei Schwenk (außer während eines Flows). Dazu nötig: Kommandos an Postgres zum Wechsel zwischen Master- und Slave-Rolle. Lösung: Notify-Skripte. Thorsten Michels Shibboleth IdP und keepalived 10/ 16

keepalived.conf }... } # notify_master "/pfad/zu/ichbinmaster.sh" # notify_slave "/pfad/zu/ichbinslave.sh" # notify_fault "/pfad/zu/ichbinfault.sh" notify "/pfad/zu/notify.sh" notify_stop "/pfad/zu/ichbinslave.sh" notify master und notify slave werden nur bei Zustandsänderungen ausgeführt, nicht beim Start von keepalived. Deshalb Verwendung von notify. Thorsten Michels Shibboleth IdP und keepalived 11/ 16

notify.sh #!/bin/bash TYPE=$1 NAME=$2 STATE=$3 # GROUP oder INSTANCE # Name der GROUP bzw. INSTANCE # Neuer Zustand case $STATE in "MASTER") /pfad/zu/ichbinmaster.sh exit 0 ;; "BACKUP") /pfad/zu/ichbinslave.sh exit 0 ;; "FAULT") /pfad/zu/ichbinfault.sh exit 0 ;; *) echo "Unknown State in keepalived-notify script" exit 1 ;; esac Thorsten Michels Shibboleth IdP und keepalived 12/ 16

3. Szenario: Besserer Statuscheck Statt nur Existenz des keepalived von gegenüber zu überprüfen: Laufen Apache, Tomcat und IdP? Test auf Auslieferung der eigenen Status-Seite. statuscheck.sh: #!/bin/bash wget -T 4 -q http://localhost/idp/status -O /dev/null if [ $? -eq 0 ] then exit 0 # erfolgreich else exit 1 # irgendein Fehler fi Thorsten Michels Shibboleth IdP und keepalived 13/ 16

keepalived.conf vrrp_script statuscheck { script "/pfad/zu/statuscheck.sh" weight 50 interval 5 timeout 5 } vrrp_instance VI_1 { state EQUAL... priority 100 # nopreempt... track_script { statuscheck } } Thorsten Michels Shibboleth IdP und keepalived 14/ 16

Ausblick Noch genauere Überprüfung? Inhalt der Statusseite? Funktioniert ein Login am IdP? Test durch Monitoring-System (OMD). Thorsten Michels Shibboleth IdP und keepalived 15/ 16

Vielen Dank für die Aufmerksamkeit und an die Kollegen. Thorsten Michels Shibboleth IdP und keepalived 16/ 16