Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
de:shibidp3monitoring [2020/10/14 12:52] – Silke Meyer | de:shibidp3monitoring [2020/10/14 15:45] – Silke Meyer | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Standardmäßig werden innerhalb der '' | Standardmäßig werden innerhalb der '' | ||
- | Wie Sie z.B. die Anzahl an Logins und weiterer Parameter ihres IdP 2.x auslesen und ins Monitoring aufnehmen können entnehmen Sie folgender Seite. | + | In der [[http:// |
- | + | - Anpassung des Log-Formates: Es fehlt ein abschließendes " | |
- | [[http:// | + | |
- | + | ||
- | Um das verwendete Analyse-Tool auch für den neuen IdP 3.x verwenden zu können müssen Sie jedoch | + | |
- | + | ||
- | Zum einen müssen Sie das Log-Format anpassen. Hier fehlt ein abschließendes " | + | |
- | + | ||
- | <file xml conf/ | + | |
<!-- ... --> | <!-- ... --> | ||
Zeile 20: | Zeile 13: | ||
<!-- ... --> | <!-- ... --> | ||
</ | </ | ||
- | + | - Anpassung des eigentlichen Analyse-Tools: Ersetzen Sie den Filter für einen Profil-Typ: <file python bin/ | |
- | Der zweite Punkt wäre die Anpassung des eigentlichen Analyse-Tools. Hier ersetzen wir den Filter für einen Profil-Typ. | + | |
- | + | ||
- | <file python bin/ | + | |
<!-- ... --> | <!-- ... --> | ||
Zeile 32: | Zeile 22: | ||
</ | </ | ||
- | ===== Prüfen des Alters von aus dem Web heruntergeladenen Metadaten ===== | + | ===== Alter der heruntergeladenen Metadaten ===== |
- | Hat man ein Monitoring-System, | + | Die Föderationsmetadaten |
- | Um nicht Gefahr zu laufen, dass aus dem Web heruntergeladene Metadaten veralten und ungültig werden, so finden Sie hier ein wirklich | + | Hier finden Sie in sehr einfaches |
- | Dieses Skript lässt sich z.B. via NRPE durch Nagios oder andere kompatible Monitoring-Systeme direkt auf dem Shibboleth IdP ausführen und warnt wenn die heruntergeladenen Dateien nicht existieren oder deren Zeitstempel zu weit in der Vergangenheit liegt. | + | <file bash check_metadata_time.sh> |
+ | #!/bin/bash | ||
- | {{ : | + | RC=3 |
+ | ERR=" | ||
- | Wie bereits erwähnt handelt es sich hierbei um ein sehr einfaches Skript, welches eher als Anreiz für eigene Überlegungen dienen soll.\\ | + | WARN=" |
- | Gern kann dieses mit Parametern versehen werden, um dynamisch die zu prüfenden Metadaten-Dateien zu bestimmen oder die Schwellwerte für Warnungen anzupassen. | + | CRIT=" |
+ | |||
+ | METAPATH="/ | ||
+ | METADATA=(" | ||
+ | |||
+ | CURTIME=$(date +%s) | ||
+ | MAX=0 | ||
+ | |||
+ | for i in " | ||
+ | do | ||
+ | FILE=" | ||
+ | MODTIME=$(stat | ||
+ | if [ -z " | ||
+ | echo " | ||
+ | exit 2 | ||
+ | else | ||
+ | DUR=$(( $CURTIME - $MODTIME )) | ||
+ | if [ $DUR -gt $MAX ]; then | ||
+ | MAX=$DUR | ||
+ | fi | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | if [ $MAX -lt $WARN ]; then | ||
+ | RC=0 | ||
+ | ERR=" | ||
+ | else | ||
+ | if [ $MAX -gt $CRIT ]; then | ||
+ | RC=2 | ||
+ | else | ||
+ | RC=1 | ||
+ | fi | ||
+ | ERR=" | ||
+ | fi | ||
- | ===== Prüfen ob der Login-Vorgang aus Sicht des Nutzers möglich ist (automatischer Test-Login) ===== | + | echo " |
+ | exit $RC | ||
+ | </ | ||
+ | |||
+ | Gern kann dieses mit Parametern versehen werden, um dynamisch die zu prüfenden Metadaten-Dateien zu bestimmen oder die Schwellwerte für Warnungen anzupassen. | ||
- | Um eine aussagefähige Antwort geben zu können, ob der Login am Shibboleth IdP möglich ist empfiehlt es sich nicht nur einzelne Bestandteile des IdP zu betrachten, sondern im Idealfall einen kompletten Login-Vorgang durch zu führen.\\ | + | ===== Automatischer Test-Login ===== |
- | Erst dann kann man aus Sicht des Nutzers sagen ob der Dienst wie gewünscht funktioniert. | + | |
- | Dazu finden | + | Um zu wissen, ob der Login am Shibboleth-IdP aus Sicht der Nutzer*innen möglich ist, empfiehlt es sich, einen kompletten Login-Vorgang durchzuführen. |
- | Dabei wird das Skript | + | Dazu können |
+ | Voraussetzungen: | ||
+ | * Der IdP muss [[https:// | ||
+ | * Das Python-Modul ' | ||
{{ : | {{ : | ||
- | Damit das Skript mit der eigenen | + | Folgende Stellen müssen Sie für Ihre Infrastruktur |
- | Der Test-Nutzer | + | |
+ | * der zum Login verwendete | ||
<file python check_shiblogin_v3.py> | <file python check_shiblogin_v3.py> | ||
Zeile 68: | Zeile 100: | ||
</ | </ | ||
- | Des weiteren ist es nötig, dass der IdP [[https:// | + | Das Skript |
- | + | * NormalLoginMode, | |
- | Und zu guter Letzt muss eventuell neben Python noch ein zusätzliches Modul Namens ' | + | * ShortLoginMode, endet nach der Eingabe der Zugangsdaten, |
- | + | * FullLoginMode, endet nach dem Besuch der Session-Seite am SP | |
- | Im Anschluss kann das Skript in 3 verschiedenen Modi ausgeführt werden.\\ | + | |
- | Defaultmäßig, ohne Angabe zusätzlicher Parameter, | + | |
< | < | ||
Zeile 88: | Zeile 118: | ||
===== Gültigkeitsdauer der Zertifikate lokaler Metadaten prüfen ===== | ===== Gültigkeitsdauer der Zertifikate lokaler Metadaten prüfen ===== | ||
- | Bindet man (außerhalb | + | Bindet man an der DFN-AAI |
- | Denn ist dieses einmal abgelaufen stellt der Shibboleth IdP die Verbindung zu diesen SPs ein. | + | |
- | Kommt noch erschwerend hinzu, dass es sich dabei eventuell nicht um PKI-Zertifikate handelt oder aus anderen Gründen vom Zertifikatsaussteller keine Benachrichtigungen verschickt werden oder diese an die falschen Adressen zugestellt werden, so empfiehlt sich hier eine automatische Überwachung. | + | Die folgenden |
- | + | ||
- | Die folgenden | + | |
{{ : | {{ : | ||
Zeile 99: | Zeile 126: | ||
{{ : | {{ : | ||
- | Dieses Skript wird genutzt um die Gültigkeit der Zertifikate zu prüfen, | + | Dieses Skript wird genutzt, um die Gültigkeit der Zertifikate zu prüfen, |
- | Es wurde speziell auf die Version 3.2.1 des Shibboleth Identity Providers zurecht geschnitten. | + | |
- | + | ||
- | Zunächst wird versucht die Datei / | + | |
- | Hierbei wird nach allen < | + | |
- | Berücksichtigt werden dabei jedoch nur Einträge mit dem Attribut type=" | + | |
- | Von den gefundenen Einträgen wird der Pfad zur Metadaten-Datei auf der Festplatte ausgelesen (metadataFile=" | + | Funktionsweise: |
- | Im Anschluss werden die genannten Dateien der Reihe nach untersucht.\\ | + | |
- | Es werden | + | Zunächst wird versucht die Datei ''/ |
- | Unterschreitet | + | Berücksichtigt werden dabei jedoch nur Einträge mit dem Attribut '' |
- | Nachdem alle Dateien durchlaufen wurden, | + | Nachdem alle Dateien durchlaufen wurden, wird eine Zusammenfassung im Nagios-Format ausgegeben. Mit Hilfe dieser Ausgabe kann im Centreon ein Check eingerichtet werden, wodurch vor ablaufenden SPs gewarnt wird. |
- | Mit Hilfe dieser Ausgabe kann im Centreon ein Check eingerichtet werden, wodurch vor ablaufenden SPs gewarnt wird. | + | |
- | Die Ausgabe enthält die entityIDs der betroffenen SPs und kann wie folgt aussehen:\\ | + | Die Ausgabe enthält die entityIDs der betroffenen SPs und kann wie folgt aussehen: |
< | < | ||
Zeile 158: | Zeile 178: | ||
</ | </ | ||
- | {{tag> | + | {{tag> |