Contao Konferenz 2017

authProvider & ibanu


Alternative Anmeldemoeglichkeiten in Contao

Stefan Lindecke (@lindesbs)

  • Stefan Lindecke

    @lindesbs
  • Hobbyentwickler, Sonderentwicklungen

    Datenschutz

    Projektmanagement und MockupMan

  • #einfachmaldankesagen

    2.02m, 125 kg, 50/51
lindesbs

Wortwahl

Die Authentisierung einer Entität bezüglich der behaupteten Eigenschaft der Authentizität, die beispielsweise Einräumen einer „bestehenden Zugangsberechtigung“ oder „Echtheit“ sein kann, erlaubt der authentifizierten Entität weitere Aktionen. Die Entität gilt dann als authentisch.
Quelle: https://de.wikipedia.org/wiki/Authentifizierung

  • Authentisieren

    Die Authentisierung stellt den Nachweis einer Person dar, dass sie tatsächlich diejenige Person ist, die sie vorgibt zu sein. Eine Person legt also Nachweise vor, die ihre Identität bestätigen sollen.

  • Authentifizieren

    Die Authentifizierung stellt eine Prüfung der behaupteten Authentisierung dar. Bei der Authentifizierung ist nun der Prüfer an der Reihe. Er überprüft die Angaben auf ihre Echtheit. Zeitlich betrachtet findet eine „Authentifizierung“ also nach einer „Authentisierung“ statt.

Quelle: https://www.datenschutzbeauftragter-info.de/authentisierung-authentifizierung-und-autorisierung/

Uebersicht

  1. Authentisierung:
    Eingabe von Login-Daten in einem EDV-System (Behauptung einer Identität)
  2. Authentifizierung:
    Überprüfung der Behauptung durch das EDV-Systems inkl. Ergebnis der Prüfung (Verifizierung der Behauptung aus 1.)
  3. Autorisierung:
    Prüfung der Rechte und Konsequenz (Einräumung oder Verweigerung von Rechten).

Ready to Start?

Authentifizierungsarten

Jegliche Authentifizierungsart basiert auf mindestens einem der folgenden Bereiche:

  • Wissen
  • Besitz
  • Sein

Authentifizierung mittels Wissen

Daten

  • Passwoerter
  • PIN
  • Sicherheitsfrage

Authentifizierung mittels Besitz

Objekte

  • "KeyCard" (Chipkarte, Magnetkarte, RFID-Token, Schluessel)
  • Zertifikat
  • TAN
  • USB-Stick

Authentifizierung mittels dem Sein

Biometrische Informationen

  • Fingerabdruck, Iris, Hand
  • Handschrift, Tippverhalten
  • Stimmenerkennung
  • DNS

Klassicher Weg

allg. bekannt als SFA

Single Factor Authentication

DB, systemeigen, extern

Local auth

htaccess / htpasswd

Objektschutz mittels Apache


                            admin_sha:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
admin_crypt:0n0LLS2sPIn.w
admin_bcrypt:$2y$05$B8i1.7M8TtM9RlyTvOFNqe6f2tTuPLXx6Ldn3zZT6M15QtZYW1jBS
admin_md5:$apr1$mbFa8o7F$cwItO7v6bfMezYVRe2ceq.

$GLOBALS

Feste Admins

			
$GLOBALS['TL_USER']['BE']['admin'] = 'password';
$GLOBALS['TL_USER']['FE']['horst'] = 'eugen';

pam

Pluggable Authentication Modules

Entwickelt 1995 und seitdem kaum veraendert.
Lokalen Dienste einen Authentisierungsmoeglichkeit bieten.
rfc86.0
http://linuxwiki.de/PAM
https://de.wikipedia.org/wiki/Pluggable_Authentication_Modules

PIN

personal identification numbers – kurze numerische Passwörter

10n Moeglichkeiten.
d.h. 4 stellige PIN -> 10.000 Moeglichkeiten.

OTP

Einmalpassworte

  1. Zeitgesteuerte Generatoren
  2. Ereignisgesteuerte Generatoren
  3. Challenge-Response-gesteuerte Generatoren

Token, QRCode

  • Beispiel: WhatsApp Web: Zugang ueber QRCode, kann aber auch als 2FA gewertet werden.
  • Hard- & SoftwareToken

LDAP

Lightweight Directory Access Protocol(Leichtgewichtiges Verzeichniszugriffsprotokoll)

LDAP-Server koennen auch fuer die Authentifizierung genutzt werden.

LDAP ≠ AD

SSO

Single Sign-on, Einmalanmeldung

lokale Anmeldung an einem Dienst, viele weitere Dienste von der selben Maschine nutzen.

  • OpenID
  • Kerberos

2FA, MultiFactor

Implementierung als Modul

Eigenschaften

Benutzerbezogen

  • AP_USER_CREATE Benutzer erstellen ?
  • AP_USER_CHANGE Benutzer aendern ?
  • AP_USER_DELETE Benutzer loeschen ?
  • AP_USER_DETAILS Benutzerdetails abfragen ? ?
  • AP_USER_ACTIVATION Benutzer aktivieren/deaktivieren ?

Eigenschaften

Gruppenbezogen

  • AP_USER_LIST Benutzerliste moeglich ?
  • AP_USER_COUNT Benutzeranzahl in Gruppe ?
  • AP_PASSWORD_CHANGE Benutzer kann Passwort aendern ?
  • AP_GROUP_LIST Gruppenliste moeglich ?

Hooks

Welche Hooks werden genutzt

  • importUser
  • checkCredentials
  • activateAccount
  • closeAccount
  • createNewUser
  • updatePersonalData

Gefahren

https://www.heise.de/newsticker/meldung/Einbruch-bei-Passwort-Manager-OneLogin-3733572.html onelogin onelogin

Gefahren

"Während ein TV5-Monde-Journalist über den Hacker-Angriff auf den Sender spricht, sind im Hintergrund Passwörter für YouTube, Twitter und Instagram zu sehen." tv5

ibanu


Loginversuche ueberwachen

ibanu

lindesbs

#einfachmaldankesagen


@lindesbs