Register- und Login-Security in Drupal
Carsten Logemann
Einleitung
- Allgemeiner Überblick zu Register/Login
Basiswissen und Sicherheitsreduktion
- Passwort-Hash, E-Mail Sicherheit und Passwort-Reset
- Gute Gründe für Sicherheitsreduktion
- Nur Username – keine E-Mail-Adresse (optional_mail.module)
- Nur E-Mail-Adresse – kein Username (email_registration.module)
- Mehr User pro E-Mail-Adresse (multiple_email.module)
- Login per IP-Adresse (ip_login.module)
- Nur Passwort-Login (Machbarkeitsstudie, kein Contrib Modul)
Strategien und externe Technologien
- Gute Gründe, die Sicherheit zu erhöhen
- E-Mail-Domain (Core) u. Register Codes (regcode.module)
- One Time Logins (Core o. login_one_time.module)
- Verschlüsselung (SSL oder encrypt_submissions.module)
- User-Daten History (user_revision.module)
- E-Mail Change Confimation (email_confirm.module)
- No Request new Password (noreqnewpass.module)
- Ext. Login: OpenID, BrowserID u.a. SSO (diverse Module)
- Regelmäßige Passwort-Abfrage (lock_session.module)
- SSH-Key Login (ssh_login.module)
- Certificats-Login und LDAP-Strategien (siehe Beispiel)
Beispiel 1: Ext. Plattformen u. Kurzzeit-Passwörter
- Drupal als SSO-Provider
- indirekt z.B. mit LDAP (LDAPcontrol.module)
- direkt z.B. per REST (services.module)
- Beispiel: Kurzeitpasswörter für Q-Online
Beispiel 2: Login mittels SSL-Client-Zertifikate
- Idee z.B. CAcert zu nutzen
- Abhängigkeit vom Server
- Login mit certificate.module
- Separate PHP-Datei mit Drupal-Bootsrap
- Zertifikats-Login erzwingen z.B. für Admins