Vista – Die Benutzerkontensteuerung und der richtige Umgang damit

Der Hintergrund und die Arbeit damit

Vistas UAC (User Account Control) ist wohl das meistgescholtene Feature von Windows Vista. Die meisten Webseiten und Blogs, die sich mit diesem Thema beschäftigen geben als ersten Tipp wie man diese Funktion ausschalten kann. Kaum jemand beschäftigt sich mit dieser Funktion und erklärt einmal, warum das Abschalten dieser Funktion nicht sehr gescheit ist.

Bild  einer UAC Meldung

Da Windows Server 2008 auf demselben Kernelcode programmiert wurde wie Vista, ist es auch für Netzwerk-Administratoren Zeit, sich mit den Hintergründen dieses Systems zu befassen und sinnvolle Umgangsweisen damit kennenzulernen.

Was genau ist der Nutzen der Benutzerkontensteuerung für den User?

Die UAC ist weder Allheilmittel gegen Viren oder Schadsoftware ansich, noch ein Mittel um alte Anwendungen kompatibel zu Vista zu machen. Sie stellt einen Baustein in einem umfassenden Sicherheitskonzept von Windows dar, welcher selbstverständlich noch um Antivirensoftware und vor allem ein intelligentes Nutzerverhalten ergänzt werden muss.

Wie überall gilt auch hier: es gibt keine absolute Sicherheit. Betriebs, Daten und Anwendungssicherheit muss kontinuierlich überprüft und angepasst werden, wenn nötig.

Der Hintergrund der UAC.

Bei der Anmeldung eines Benutzers wird seinem Benutzerkonto ein Access Token zugeteilt, das in der gesamten Arbeitssitzung darüber entscheidet, auf welche Daten und Funktionen der Benutzer zugreifen kann. Dazu enthält das Token die Sicherheitskennung (Security ID, SID) des Benutzers sowie die SIDs aller Gruppen, denen der Benutzer im Moment der Anmeldung angehört. Weiterhin sind im Token alle Systemrechte vermerkt, die dem Konto vom Administrator verliehen wurden z.B. einen Debugger auf Systemebene einzusetzen oder sich als Dienst an das System anzumelden. Bei jedem Zugriff auf eine Funktion oder ein Objekt prüft das Betriebssystem das Access Token, ob die angeforderte Aktivität erlaubt ist. Diese Technik ist sehr effizient, denn sie erfordert zur Prüfung der Berechtigungen keinen Kontakt zum Anmeldeserver – es werden nur die SIDs in der Zugriffsliste (Access Control List, ACL) mit dem Token verglichen. Änderungen an Gruppenmitgliedschaften werden so aber nur wirksam, wenn ein Benutzer sich ab- und neu anmeldet.

Jeder Prozess, der von einem Benutzerkonto gestartet wird (also meistens ein Programm) bekommt das Benutzerrecht des Users übertragen. Dadurch hat ein Prozess nicht mehr, aber auch nicht weniger Rechte als der User, der es aufruft. Zwar gibt es auch Spezialfälle, in denen ein Konto das Benutzerrecht und damit die Identität eines anderen Kontos annimmt, jedoch muss dieses dann auch speziell delegiert und konfiguriert werden.

Der Zugriff auf Systemfunktionen wird von Windows über die Mitgliedschaft in speziellen Gruppen gesteuert: Nur wer Mitglied der lokalen Gruppe „Administratoren“ eines Systems ist, hat tatsächlich auch Administratorrechte. Wer Mitglied der Gruppe „Backup-Operatoren“ ist, kann Daten auch dann sichern, wenn er eigentlich gar keine Zugriffsrechte darauf hat. Ähnlich funktionieren zahlreiche andere Gruppen, die unter Windows vorhanden sind. Dabei werden Rechte addiert: Ist ein Benutzer Mitglied mehrerer Gruppen, so entsprechen seine effektiven Berechtigungen der Kombination aller Berechtigungen der verschiedenen Gruppen.

Warum die UAC so gut ist und Windows „sicher“ macht.

Problematisch ist aber besonders die Situation direkt nach der Installation: Das einzig vorhandene Konto ist zunächst das Administrator-Konto, das sinngemäß „alles“ im System darf. Da das natürlich ausgesprochen bequem ist, arbeiten viele Benutzer auf ihren Heimrechnern, aber auch in professionell betriebenen Netzwerken stets mit diesem Konto oder mit einem anderen Konto, das über Administratorrechte verfügt.

Wie nicht anders zu erwarten, machen Softwareentwickler nichts anderes. Da ihre Applikationen so fast niemals vom Betriebssystem an Aktionen gehindert werden, fällt es während der Entwicklung nicht auf, wenn eine Anwendung mit einem normalen Benutzerkonto nicht lauffähig ist. In der Folge sehen sich Netzwerkadministratoren oft gezwungen, den Benutzern administrative Rechte zu erteilen, wenn sie mit solchen Applikationen arbeiten müssen. Hier gebe es auch andere, wesentlich sichere Wege als normalen Benutzern Adminrechte zu ersteilen. Man kann z.B. (dürfte in den meisten Fällen absolut ausreichend sein) gezielt Schreibzugriff auf den Programmordner im Programme-Verzeichnis des Systems sowie ggf. im entsprechenden Pfad unter HKEY_LOCAL_MACHINE\Software in der Registry zu erteilen. Doch dieser Aufwand ist vielen zu hoch, weil das Arbeiten als Admin so schön bequem ist. Und die Sicherheit leidet…

Wenn Benutzer als Administratoren arbeiten, entstehen hierraus aber schnell Folgeprobleme: Jede Anwendung hat so auch Adminrechte, also auch ein Virus oder Trojaner, der sich so ungehindert im System austoben kann. Gleichzeitig können Admins das System umkonfigurieren, den Virenscanner und die Firewall abschalten, die Anwendung von Gruppenrichtlinien verhindern – und was ihnen sonst noch so „nettes“ einfällt. Daraus resultiert wieder eine Menge unnütze Arbeit für die leidgeplagten Admins.

Da der Mensch an sich faul ist und stets den bequemen Weg geht, wird weiterhin fröhlich mit einem Adminkonto gearbeitet, anstatt normale „alltägliche“ Aufgaben nur mit einem normalen Benutzerkonto zu erledigen. Denn Schadsoftware bekäme bei der Arbeit mit einem normalen Benutzerkonto auch nur Benutzerrechte und nicht die zur Funktion notwendigen administartiven Rechte.

Microsoft entschied sich daher bei der Entwicklung von Windows Vista für den radikalen Weg: Die Benutzerkontensteuerung erzwingt, dass alle Benutzer (zunächst) ohne Administratorrechte arbeiten – selbst dann, wenn sie Mitglied der Gruppe „Administratoren“ sind. Sollte es tatsächlich notwendig sein, eine Aktivität mit erhöhten Rechten auszuführen, so bietet UAC an, solche Rechte verfügbar zu machen. Diese Funktion ansich stellt bereits eine extreme Weiterentwicklung zu XP dar. Dort musste man sich abmelden um sich mit einem Adminkonto erneut anzumelden. Jetzt wird kurz der Bildschirm dunkel und man klickt auf „Fortsetzen“. Auf diese Art und Weise bekommt die Anwendung dann die zur Funktion erhöhten Rechte und kann ausgeführt werden.

Das nervt aber!

Einer der häufigsten Kritikpunkte an der UAC ist, dass die vielen UAC-Aufforderungen nerven und ein geordnetes Arbeiten nicht möglich ist. Diese Kritik ist in der Regel aber unberechtigt. Für die Arbeit, die an einem üblichen Vista-PC verrichtet wird, sind fast nie Adminrechte nötig. Nur wenn Systemeinstellungen geändert werden sollen oder etwa neue Programme zu installieren sind, benötigt UAC eine Bestätigung. Für die weit überwiegende Anzahl der User dürfte dies die rühmliche Ausnahme sein. Hier wird es wohl sich eher um ein Problem des ersten Eindrucks handeln: Wer Windows Vista manuell installiert und einrichtet, wird zunächst tatsächlich sehr viele dieser administrativen Aufgaben ausführen und hat daher natürlich oft die UAC-Abfrage zu bestätigen. Erfahrungsgemäß ist dies aber eine Aufgabe, die in wenigen Stunden (meist noch viel schneller) erledigt ist. Und wer ehrlich ist, wird zugeben, dass bei üblichen Installationsprogrammen derart viele Mausklicks nötig sind, dass es auf jeweils einen UAC-Klick mehr nun wirklich nicht ankommt.

Standartmäßig ist nach der Installation ein Administartorkonto vorhanden, unter dem auch sofort die Benutzerkontensteuerung aktiv ist. Dies ist ein Weg, die UAC einzusetzen, aber nicht der Beste. Außerdem sind hier unter anderem evtl. mehrere Bestätigungen nötig, um eine Aktion auszuführen. Wie bei allem im Leben, gibt es auch hier einen richtigen und einen richtigeren Weg.

So wird Windows zum Einsatz der UAC richtig konfiguriert:

Gleich nach der Erstinstallation steht per default das Standart Adminkonto bereit. Hier sollte ein sicheres Kennwort vergeben werden. Mindestens 8 Zeichen, Buchstaben, Sonderzeichen und Zahlen sollte es enthalten (meine Auffassung eines „sicheren“ Kennwortes ist übrigens 25 Zeichen lang 😉 ) Anschliessend errichtet man ein normales Benutzerkonto ohne besondere Rechte (auch wieder mit Kennwort), unter dem anschliessend nur und ausschließlich gearbeitet wird. Alle Programme und Anwendungen werden hier im normalen Benutzerkonto installiert.

Bei jeder Aktion, welche nun Adminrechte erfordern, erscheint ein Dialog, wo die Zugangsdaten des Adminkontos eingegeben werden müssen. Hierbei ist der Benutzername des Adminkontos standartmäßig bereits eingetragen und muss nur durch das Passwort ergänzt werden. So erfolgt für jede Aktion, welche Adminrechte erfordert, genau EINE Abfrage der UAC. Selbst wenn nun Schadsoftware auf den Rechner gelangt, kann sie in den Allermeisten Fällen genau Null Schaden anrichten, da sie (allermeistens) administrative Rechte erfordert um zu funktionieren.

Dies ist also der allererste Baustein für ein umfassendes Sicherheitskonzept.

 

 


 

Für diesen Beitrag bedanken wir uns bei Andreas Hecht von www.the-netbrain.de

 

The-Netbrain

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert