compugo
Goto Top

Keine Benutzeranmeldung im SLOX / Open Xchange möglich / nur cyrus kann sich anmelden

Bei verschiedenen Vorgängen im Administrationsbereich des SLOX erhält man die Fehlermeldung: Error checking sessionID

SLOX - keine User-Anmeldung möglich

Symptome:

Anmeldung ist nur noch mit cyrus möglich, keine User-Anmeldung mehr möglich, es erscheint sofort wieder das Login-Fenster.

Wenn man sich mit cyrus anmeldet, und in der Dienste-Steuerung nachsieht, sind alle Dienste auf Status gestoppt. Beim Versuch Dienste zu aktivieren kommt die Meldung: "Error checking SessionID". Gleiches erhält man beim Versuch, auf Hilfsmittel -> Lizenz zu klicken.

Trotzdem ist es möglich, sich per IMAP mit dem Server zu verbinden und Mails zu senden / zu empfangen. Es scheint also nur eine Darstellungs-Sache im SLOX / Dienstesteuerung zu sein.


Ursache:
Die Zertifikate unter /etc/sessiond/certs/ sind abgelaufen / nicht mehr / noch nicht gültig.

Mit dem Befehl
openssl x509 -text -in /etc/sessiond/certs/groupwarecert.pem | grep -E 'Not Before'
bzw.
openssl x509 -text -in /etc/sessiond/certs/groupwarecert.pem | grep -E 'Not After'

Kann man sich die Gültigkeit der einzelnen Zertifikate anzeigen lassen. Bei SuSE SLOX sind dabei folgende Dateien von Bedeutung:
groupwarecert.pem
sessiondcert.pem
SuSEWebcert.pem
suadcert.pem

Sollte das System-Datum (Befehl date) nicht innerhalb der Gültigkeit liegen, treten oben beschriebene Probleme auf.

Nebenbei: In der Datei /etc/sessiond/openssl.cfg ist als default_days der Wert 2000 eingetragen, was in unserem Fall genau der Gültigkeit nach Installation entspricht - ca. 5,5 Jahre. Diese waren nun vergangen und nichts ging mehr.

Lösung: Man benötigt neue Zertifikatsdateien.
Am besten, man erstellt sich selbst eine CA (Certificate Authority).

Hier die Vorgehensweise lt. Gentoo-wiki, welche an SuSE etwas angepasst werden musste (pfade etc.):

If you compiled Open-Xchange with SSL-flag turned on your server-components will communicate in a secure way.

Attention. This has nothing to do with the encryption between your browser and the web-server (e.g. apache).

The problem is, you have to provide the key-files and a certificate-files which are used for communication of the components and a ca-file.

A Certificate Authority (CA) signes your certificate-file this is usefull for authentication purposes. CAs are independend, they check your idendity and sign your certificate. Third parties can now check whether you are you or not by using the ca-certificate to check against your certificate.

1. The problem is you have to pay for this service.
2. Or join the http://cacert.org community, which is movement for the freedom of privacy/security and get free certificates there
3. But you can also be your own CA.

The key-file for the session-server: /etc/sessiond/certs/sessiondkey.pem
The certificate-file session-server: /etc/sessiond/certs/sessiondcert.pem
The key-file for the groupware: /etc/sessiond/certs/groupwarekey.pem
The certificate-file groupware: /etc/sessiond/certs/groupwarecert.pem


und die Dateien

SuSEWebcert.pem
suadcert.pem
SuSEWebkey.pem
suadkey.pem

im gleichen Verzeichnis.


and at last the ca-certificate: /etc/sessiond/cacert.pem


HowTo Create Certs and Keys

create a directory of your choice:
mkdir /tmp/ox_ssl

cd /tmp/ox_ssl


At first we create our CA:

/usr/share/ssl/misc/CA.pl -newca

Enter the password (1) for your CA. Answer the informations like you want or just press enter using the defaults.

Now we will create the request for our Open-Xchange itself.


/usr/share/ssl/misc/CA.pl -newreq

Remember the password (2) for this key we need it later.

/usr/share/ssl/misc/CA.pl -sign

You will be asked for password, enter the password (1) of the CA.

Now, we need to remove password from the keyfile, or Open-Xchange wont work, because it can not enter the password.

openssl rsa < newreq.pem >newkey.pem

You will be asked for password, enter the password (2) of the key.

Now after we have generated everything, we will put the files into the right place.

cp demoCA/cacert.pem /etc/sessiond/cacert.pem
cp newkey.pem /etc/sessiond/certs/groupwarekey.pem
cp newkey.pem /etc/sessiond/certs/sessiondkey.pem
cp newcert.pem /etc/sessiond/certs/groupwarecert.pem
cp newcert.pem /etc/sessiond/certs/sessiondcert.pem
cp newcert.pem /etc/sessiond/certs/SuSEWebcert.pem
cp newcert.pem /etc/sessiond/certs/suadcert.pem
cp newkey.pem /etc/sessiond/certs/SuSEWebkey.pem
cp newkey.pem /etc/sessiond/certs/suadkey.pem

Now you should remove the temporary directory.

After that restart Open-Xchange - it should work.

Content-Key: 55531

Url: https://administrator.de/contentid/55531

Ausgedruckt am: 28.03.2024 um 08:03 Uhr

Mitglied: helge99
helge99 10.09.2009 um 19:21:29 Uhr
Goto Top
There's a better way to accomplish this:

- backup or remove the directory /etc/sessiond - e.g. mv /etc/sessiond /etc/sessiond.bak

- restart the following services by issuing:

rcsessiond restart
rcsuad restart
rcgroupware restart
rchttpd restart

During that all cerificates will be recreated and everything should be fine.