Zum Hauptinhalt springen

BlueMind

Dieser Leitfaden erklärt, wie man die Single Sign-On (SSO) Konfiguration zwischen SmartLink und BlueMind mit SAML 2.0 oder OpenID Connect einrichtet.

Voraussetzungen​

  • BlueMind Version 4.0 oder höher
  • Administratorzugriff auf BlueMind
  • Aktiviertes SSO BlueMind-Modul
  • Anwendung in SmartLink mit SAML2 oder OpenID Connect konfiguriert

Konfiguration mit SAML 2.0 (Empfohlen)​

1. Anwendung erstellen​

  1. Melden Sie sich als Administrator bei SmartLink an
  2. Gehen Sie zu Anwendungen → Hinzufügen
  3. Erstellen Sie eine neue Anwendung:
    • Name: BlueMind
    • URL: https://bluemind.example.com
    • Beschreibung: Vollständige kollaborative Messaging-Plattform
    • Symbol: Wählen Sie das BlueMind-Symbol aus

2. SAML2 konfigurieren​

  1. Im Authentifizierungs-Tab
  2. Wählen Sie SAML2
  3. Konfigurieren Sie die folgenden Parameter:
    • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
    • ACS URL: https://bluemind.example.com/saml2/SSO
    • Format NameID: emailAddress
    • App ID: [appid] (automatisch generierte eindeutige Kennung)

3. Metadaten abrufen​

Notieren Sie sich die folgenden URLs:

  • IdP Metadaten: https://[your-smartlink].link.vaultys.org/api/saml2/[appid]/metadata
  • SSO URL: https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid]
  • SLO URL: https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid]
  • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
  • X.509 Zertifikat: Herunterladen von SmartLink

Konfiguration in BlueMind​

1. Zugriff auf die Administrationskonsole​

  1. Melden Sie sich bei der BlueMind-Administrationskonsole an
  2. Gehen Sie zu Sicherheit → Authentifizierung
  3. Klicken Sie auf SAML-Konfiguration

2. Konfiguration des Identitätsanbieters​

Konfigurieren Sie die SAML-Parameter:

  • Entity ID: https://[your-smartlink].link.vaultys.org/[appid]
  • SSO URL: https://[your-smartlink].link.vaultys.org/api/saml2/sso/[appid]
  • SLO URL: https://[your-smartlink].link.vaultys.org/api/saml2/slo/[appid]
  • Öffentlicher Schlüssel: Importieren Sie das X.509 Zertifikat von SmartLink

3. Attributkonfiguration​

BlueMind AttributSAML AttributErforderlich
E-Mailemail✅
AnzeigenamedisplayName✅
VornamegivenName❌
Nachnamesn❌
GruppenmemberOf❌

Konfiguration mit OpenID Connect​

1. OpenID Connect konfigurieren​

  1. In der BlueMind-Anwendung
  2. Tab Authentifizierung → OpenID Connect
  3. Notieren Sie:
    • Client ID: bluemind-xxxxxx
    • Client Secret: secret-xxxxxx
    • App ID: [appid]

2. Weiterleitungs-URLs hinzufügen​

https://bluemind.example.com/auth/oidc/callback
https://bluemind.example.com/api/auth/oidc/callback

Konfiguration in BlueMind​

  1. In Sicherheit → Authentifizierung → OpenID Connect
  2. Konfigurieren Sie:
{
"provider": {
"issuer": "https://[your-smartlink].link.vaultys.org",
"discovery_url": "https://[your-smartlink].link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration",
"client_id": "bluemind-xxxxxx",
"client_secret": "secret-xxxxxx",
"scopes": ["openid", "profile", "email", "groups"]
}
}

Konfiguration von Domänen und Benutzern​

Multi-Domänen-Verwaltung​

domains:
- name: "example.com"
authentication: "sso"
default_quota: "10GB"
services:
- email
- calendar
- contacts
- chat

- name: "branch.example.com"
authentication: "sso"
default_quota: "5GB"
services:
- email
- calendar

Automatische Bereitstellung​

{
"provisioning": {
"enabled": true,
"create_on_first_login": true,
"default_settings": {
"mailbox_quota": "5368709120",
"calendar_enabled": true,
"contacts_enabled": true,
"im_enabled": true,
"videoconference_enabled": true
},
"group_mapping": {
"smartlink-admins": "bm_admins",
"smartlink-users": "bm_users",
"smartlink-external": "bm_external"
}
}
}

Konfiguration von BlueMind-Services​

Messaging​

mail_settings:
imap:
enabled: true
port: 143
ssl_port: 993

smtp:
enabled: true
port: 25
submission_port: 587
ssl_port: 465

webmail:
theme: "corporate"
default_view: "conversation"
compose_format: "html"

Kalender und Kontakte​

{
"calendar": {
"default_sharing": "free_busy",
"working_hours": {
"start": "09:00",
"end": "18:00",
"days": ["mon", "tue", "wed", "thu", "fri"]
}
},
"contacts": {
"corporate_directory": true,
"ldap_sync": false,
"carddav_enabled": true
}
}

Chat und Videokonferenz​

chat_settings:
xmpp:
enabled: true
domain: "chat.example.com"
conference_domain: "conference.chat.example.com"

video:
provider: "jitsi"
jitsi_url: "https://meet.example.com"
default_room_settings:
require_password: false
enable_lobby: true
record_enabled: false

Integration mit Clients​

Thunderbird-Konfiguration​

<!-- Autodiscover für Thunderbird -->
<clientConfig version="1.1">
<emailProvider id="bluemind.example.com">
<domain>example.com</domain>
<displayName>BlueMind - Beispiel</displayName>
<displayShortName>BlueMind</displayShortName>
<incomingServer type="imap">
<hostname>bluemind.example.com</hostname>
<port>993</port>
<socketType>SSL</socketType>
<authentication>OAuth2</authentication>
<username>%EMAILADDRESS%</username>
</incomingServer>
<outgoingServer type="smtp">
<hostname>bluemind.example.com</hostname>
<port>587</port>
<socketType>STARTTLS</socketType>
<authentication>OAuth2</authentication>
<username>%EMAILADDRESS%</username>
</outgoingServer>
</emailProvider>
</clientConfig>

Mobile Konfiguration (ActiveSync)​

{
"activesync": {
"enabled": true,
"url": "https://bluemind.example.com/Microsoft-Server-ActiveSync",
"require_ssl": true,
"device_policy": {
"require_password": true,
"min_password_length": 6,
"require_encryption": true,
"allow_simple_password": false,
"max_failed_attempts": 10,
"remote_wipe_enabled": true
}
}
}

BlueMind API mit SSO​

Client-API mit SSO-Authentifizierung​

import requests
from datetime import datetime

class BlueMindAPI:
def __init__(self, base_url, sso_token):
self.base_url = base_url
self.session = requests.Session()
self.session.headers.update({
'Authorization': f'Bearer {sso_token}',
'Content-Type': 'application/json'
})

def get_user_info(self, email):
"""Benutzerinformationen abrufen"""
response = self.session.get(
f'{self.base_url}/api/user/{email}'
)
return response.json()

def create_calendar_event(self, user_email, event_data):
"""Kalenderereignis erstellen"""
response = self.session.post(
f'{self.base_url}/api/calendar/{user_email}/events',
json=event_data
)
return response.json()

def send_email(self, email_data):
"""E-Mail über die API senden"""
response = self.session.post(
f'{self.base_url}/api/mail/send',
json=email_data
)
return response.json()

BlueMind-Webhooks​

// Endpunkt für BlueMind-Webhooks
app.post('/webhook/bluemind', async (req, res) => {
const { event, data } = req.body;

switch(event) {
case 'user.login':
await logUserAccess(data);
break;

case 'mail.received':
await processIncomingMail(data);
break;

case 'calendar.event.created':
await syncCalendarEvent(data);
break;

case 'contact.updated':
await updateContactInCRM(data);
break;
}

res.status(200).send('OK');
});

Konfigurationstest​

1. Web-Verbindungstest​

  1. Melden Sie sich von BlueMind ab
  2. Gehen Sie zu https://bluemind.example.com
  3. Klicken Sie auf SSO-Verbindung
  4. Authentifizieren Sie sich über SmartLink
  5. Überprüfen Sie den Zugriff auf das Messaging

2. IMAP/SMTP-Test mit SSO​

# IMAP-Test mit OAuth2
openssl s_client -connect bluemind.example.com:993 -crlf
A01 AUTHENTICATE XOAUTH2 [base64_encoded_token]

# SMTP-Test mit OAuth2
openssl s_client -connect bluemind.example.com:587 -starttls smtp
AUTH XOAUTH2 [base64_encoded_token]

3. Client-Tests​

  • Thunderbird: Automatische Konfiguration über Autodiscover
  • Outlook: Unterstützung von ActiveSync und OAuth2
  • Mobile: BlueMind iOS/Android-Apps mit SSO

Fehlerbehebung​

Fehler "SAML-Authentifizierung fehlgeschlagen"​

Problem: Die SAML-Authentifizierung schlägt fehl

Lösung:

  1. Überprüfen Sie, ob die Entity ID [appid] ist
  2. Überprüfen Sie das Format des X.509-Zertifikats
  3. Überprüfen Sie die Logs: /var/log/bluemind/core.log
  4. Testen Sie mit SAML-Tracer (Browser-Erweiterung)

Fehler "Benutzer nicht gefunden"​

Problem: Der SSO-Benutzer wird nicht gefunden

Lösung:

  1. Stellen Sie sicher, dass die automatische Bereitstellung aktiviert ist
  2. Stellen Sie sicher, dass die E-Mail der BlueMind-Domäne entspricht
  3. Überprüfen Sie das E-Mail-Attribut in der SAML-Assertion

Gruppensynchronisierungsproblem​

Problem: Gruppen werden nicht korrekt zugeordnet

Lösung:

<!-- Richtige Formatierung für SAML-Gruppen -->
<saml:Attribute Name="memberOf">
<saml:AttributeValue>CN=bluemind-admins,OU=Groups,DC=example,DC=com</saml:AttributeValue>
<saml:AttributeValue>CN=bluemind-users,OU=Groups,DC=example,DC=com</saml:AttributeValue>
</saml:Attribute>

ActiveSync-Fehler mit SSO​

Problem: ActiveSync funktioniert nicht mit SSO

Lösung:

  1. Generieren Sie ein Anwendungs-Passwort für ActiveSync
  2. Verwenden Sie OAuth2, wenn vom Client unterstützt
  3. Konfigurieren Sie moderne Authentifizierung in Exchange/ActiveSync

Sicherheit​

Empfohlene Konfiguration​

{
"security_settings": {
"enforce_sso": true,
"session_timeout": "8h",
"tls_version": "1.2",
"cipher_suites": [
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
],
"antivirus": {
"enabled": true,
"engine": "clamav",
"scan_on_receive": true
},
"antispam": {
"enabled": true,
"threshold": 5.0,
"quarantine": true
},
"audit": {
"log_authentication": true,
"log_email_access": true,
"retention": "365d"
}
}
}

Compliance​

  • GDPR: Konform mit Hosting in Frankreich
  • Verschlüsselung: TLS 1.2+ für Kommunikation
  • Gesetzliche Archivierung: Nativer Support
  • DLP: Datenverlustpräventionsregeln

Ressourcen​