SECTOR NORD AG Tipp des Monats


[SNAG-View] Nextcloud + ADFS

In diesem Tipp erläutern wir Ihnen wie Sie den Zugriff auf NextCloud über AD FS (Active Directory Federation Services) konfigurieren müssen.

Durch AD FS und die Möglichkeit, sich gegenüber externen Services per Single Sign-on zu authentifizieren, ergeben sie zahlreiche Vorteile. User benötigen nur noch eine einzige Kennung und müssen sich für alle in der täglichen Arbeit benötigten Dienste nur einmalig authentifizieren.

Systemvoraussetzung

  • Nextcloud
  • AD FS Server

 

Für die Verwendung eines AD FS Servers in der Nextcloud sollte der AD FS Server und die Nextcloud bereits funktionieren.

 

Vorarbeit

 

Der mcrypt Support in php ist nicht zwingend erforderlich, aber von mir empfohlen.

php --info |grep mcrypt
--> Keine Rückmeldung, mcrypt ist nicht installier.
pecl install –nodeps mcrypt-snapshot

 

Im PHP "conf.d" Verzeichnis muss eine mcrypt.ini mit folgendem Inhalt erstellt werden

extension=mcrypt.so

 

Das Nextcloud Plugin SSO & SAML sollte in der Version >5 vorhanden sein.

 

DNS und Zertifikate


Der Nextcloud Server und AD FS / WAP Server sollten alle eindeutige DNS Namen und gültige Zertifikate haben.

openssl s_client -showcerts -connect adfs.sectornord.com:443
openssl s_client -showcerts -connect cloud.sectornord.com:443
curl https://adfs.sectornord.com
curl https://cloud.sectornord.com

 

AD FS

Einrichten der Authentifizierungsmethoden

Wir benötigen die Formularauthentifizierung.

 

Vertrauensstellung für die Nextcloud einrichten

 

Neue Vertrauensstellung generieren

cli(powershell)
Add-AdfsRelyingPartyTrust -Name nextcloud -Identifier nextcloud -ProtocolProfile SAML
Set-AdfsRelyingPartyTrust -Targetname nextcloud -EncryptionCertificateRevocationCheck none -SigningCertificateRevocationCheck none

 

Im neuen Objekt wird der Bezeichner gepflegt:

URL: https://cloud.sectornord.com/apps/user_saml/saml/metadata

 

Unter Endpunkt

 

Achtung die Bindung muss "POST" sein.

URL: https://cloud.sectornord.com/apps/user_saml/saml/acs

 

Mehr muss nicht  in der Vertrauensstellung "nextcloud" konfiguriert werden.

 

Zugriffsrichtlinie

 

Anspruchsausstellungsrichtinie

Wir benötigen nun zwei Anspruchsausstellungsrichtlinien.

Login (SAMACCOUNTNAME)

 

Attribute

 
Given-Name Angegebener Name
Surname Nachname
SAM-Account-Name sAMAccountName
E-Mail-Addresses E-Mail-Adresse
Display-Name Common Name

 

Konfiguration Nextcloud

Anlegen einer Identität

Als Attribute für das Login sind in der Austellungstransformationsregel "SAMAAccountName" und das Feld "UID" zu hinterlegen.

In der zweiten Spalte geben wir einen passenden Namen ein SSO/SAML oder einfach die Firma. Erlauben Sie die Verwendung von mehreren Backends für die Anmeldung.

 

 

 

Öffnen Sie jetzt den Chrome Browser und öffnen Sie ihre Nextcloud im privaten Modus mit aktivierten Developer-Tools

 

Aktivieren Sie unbedingt "Preserve log" und öffnen Sie ihre SAML Anmeldung ("Sector Nord AG" in unserem Fall) und melden Sie sich an.

 

 

 

Als nächstes kommt eine Meldung, dass das Konto nicht bereitgestellt (Account not provisioned) ist und kein Zugriff möglich ist. Das ist völlig in Ordnung, jetzt müssen wir in der Entwickler Konsole den Namen "acs" mit der URL "https://cloud.sectornord.com/apps/user_saml/saml/acs" suchen und den Payload anzeigen:

 

 

Diesen Payload ist Base64 encodiert und muss nach UTF8 konvertiert werden. z.B. bei https://www.base64decode.org/

 

 

Im konvertierten Code suchen wir das Zertifikat zwischen "<ds:X509Certificate>"xysz"</ds:X509Certificate>".

Das Zertifikat muss unter "Identitätsanbieter" eingefügt werden

 

 

 

Jetzt sollte die Anmeldung funktionieren.

 

:-)

Zurück