|
From: Niko W. <n.w...@ui...> - 2017-01-17 14:11:48
|
Sehr geehrte opsi-Anwenderinnen und -Anwender,
wir wurden durch Simon Bieber, Penetration Tester bei secuvera GmbH
(Deutschland), auf eine Privilege Escalation in opsi aufmerksam gemacht.
# Problem
Falls ein Angreifer administrative Rechte auf einem opsi-Client erlangt,
ist es möglich an die Zugangsdaten des Clients zu gelangen.
Diese Zugangsdaten erlaubten Zugriff auf das Webinterface des
zugehörigen opsi-Servers.
Durch die Verwendung von `hostControl`- oder `hostControlSafe`-Methoden
ist es möglich Zugriff auf andere opsi Clients zu erlangen und beliebige
Befehle auf diesen Maschinen auszuführen.
Unsere internen Untersuchungen haben zusätzliche
Missbrauchsmöglichkeiten aufgezeigt.
Betroffen sind alle Server-Instanzen, welche eine Version von
python-opsi kleiner als 4.0.7.28-4 mit der Standard ACL-Konfiguration
einsetzen.
Wir sind außerdem einem möglichen Problem mit IP-Verifizierung in
opsiconfd nachgegangen und konnten ein Problem in der Verifizierung
entdecken, durch welches ein Zugriff möglich war, obwohl er nicht
möglich sein sollte.
Betroffen sind Server-Instanzen, welche eine Version von opsiconfd
kleiner als 4.0.7.4.1-1 mit aktivem "verify ip" einsetzen.
# Lösung
Das Problem einer zu freizgügig gefassten ACL-Konfiguration kann durch
restriktiveren Zugriff für opsi-Clients über die ACL-Konfiguration
verhindert werden.
Machen Sie ein Backup ihrer Konfiguration, bevor irgendeine Änderung an
der Datei `/etc/opsi/backendManager/acl.conf` vorgenommen wird!
Um das Problem zu beheben empfehlen wir stark die folgenden Zeilen in
Ihre `/etc/opsi/backendManager/acl.conf` über der Zeile beginnend mit
`backend_.*` einzufügen:
backend_deleteBase : sys_group(opsiadmin)
hostControl.* : sys_group(opsiadmin); opsi_depotserver
Im Falle einer umgebungsspezifischen acl.conf empfehlen wir diese Zeilen
über alle anderen Statements zu stellen.
In einer Multi-Depot-Umgebung sollte diese Anpassung an jedem Depot
vorgenommen werden.
Wir veröffentlichten python-opsi 4.0.7.28-5, welches eine aktualisierte
acl.conf.default mit den vorgeschlagenen Änderungen beinhaltet.
Dieses Paket wird in Kürze in den opsi-Repositories bereitstehen.
Wir haben zusätzliche, noch enger gefasste ACL-Konfigurationen vorbereitet.
Bitte beachten Sie, dass diese möglicherweise Probleme mit
kundenspezifischen Werkzeugen bereiten, welche auf die Webservice-API
zugreifen.
Falls der Zugriff auf eine Methode verhindert wird, wird ein String im
Stile von *Access to method 'methodname' denied for user* geloggt -
wobei *methodname* der Name der aufgerufenen Methode ist.
Die komplette Datei kann unter
http://download.uib.de/opsi4.0/misc/acl/acl.conf-strict gefunden werden.
Für den Fall, dass die Erweiterungen local-image oder WAN verwendet
werden, empfehlen wir die Verwendung der folgenden Konfiguration, welche
einige benötigte Ausnahmen hinzufügt:
http://download.uib.de/opsi4.0/misc/acl/acl.conf-with_wan_and_local-image
Falls aus irgendeinem Grund auf die alte acl.conf.default zurück
gewechselt werden soll, so ist diese unter
https://github.com/opsi-org/python-opsi/blob/4.0.7.28-3/data/backendManager/acl.conf.default
zu finden.
Das wird nicht empfohlen!
Um das Problem mit der IP-Verifikation zu beheben, haben wir opsiconfd
4.0.7.4.1-1 veröffentlicht. Darin enthalten sind aktualisierte Module.
Dieses Paket wird in Kürze in den opsi-Repositories bereitstehen.
# Erwartete Downtime
Die Änderung der ACL-Konfigurationsdatei wird sofort für neue Sessions
umgesetzt. Ein Neustart von opsiconfd ist nicht zwingend nötig, aber
wird dringend empfohlen, um den Missbrauch bestehender Sessions zu
verhindern.
Wenn gleichzeitig auch der opsiconfd mit aktualisiert wird sollte der
Dienst bei der Aktualisierung automatisch neustarten. Um sicher zu gehen
kann man den opsiconfd Dienst auch mit folgendem Befehl manuell neu starten:
service opsiconfd restart
In einer Multi-Depot-Umgebung empfehlen wir den Neustart des Dienstes
auf allen Depots sobald möglich.
# Referenzen
* secuvera security advisory 2017-01 -
https://www.secuvera.de/advisories/secuvera-SA-2017-01.txt (wird nach
ausreichender Zeit zum Installieren der aktualisierten Version
veröffentlicht, frühestens ab 2017-01-30)
Mit freundlichen Grüßen
Niko Wenselowski
--
Treffen Sie uib gmbh:
Univention Summit am 26. und 27.01.2017 in Bremen
www.univention-summit.de
Bildungsmesse didacta 2017 vom 14.02.–18.02.2017 in Stuttgart
www.messe-stuttgart.de/didacta/
opsi - Open PC-Server-Integration
das Open Source Client-Management-System von uib gmbh
uib gmbh
Bonifaziusplatz 1B
55118 Mainz
Tel.: 06131 - 275 61 20
Fax: 06131 - 275 61 22
www.uib.de
Geschäftsführer: dr. detlef oertel, erol ülükmen
Handelsregister: Amtsgericht Mainz HRB 6942
|