Der Syslog-Dienst, der vom Kernel und anderen Diensten erstellte Protokollnachrichten in verschiedene Protokolldateien, die Konsole und / oder andere Ziele schreibt, wird unter einem eigenen, speziellen Benutzerkonto ausgeführt. So viele andere Dienstleistungen. Dies ist das Prinzip des geringsten Privilegs zu implementieren :
Um die möglichen Auswirkungen eines gefährdeten oder fehlerhaften Dienstes zu minimieren (z. B. ein Dienst, der einen Fehler aufweist, der wiederum von einem Angreifer ausgenutzt wird, oder ein Dienst, der einen Fehler aufweist, der zufällige unerwünschte Dinge verursacht, oder ein Dienst, der wurde absichtlich von einem bösartigen Entwickler entwickelt, um böse Dinge zu tun.) Sie möchten, dass jeder Dienst nur auf das zugreifen kann, was er für seinen Betrieb benötigt, und auf nichts anderes.
Auf jedem Unix-ähnlichen Betriebssystem (das alle GNU / Linux-Distributionen wie Ubuntu enthält) können Sie am einfachsten Berechtigungen zuweisen (dies ist meist das Recht, bestimmte Dateien oder dateiähnliche Dinge wie z. B. zu lesen und / oder zu schreiben) Geräteknoten) basierend auf Benutzern und Gruppen. Es gibt andere Möglichkeiten, aber sie sind oft mühsamer und fehleranfälliger einzurichten oder arbeiten nur in bestimmten Kontexten.
Daher wird der Syslog-Dienst unter dem Syslog-Benutzerkonto ausgeführt. Wenn ein Angreifer beispielsweise jetzt den Syslog-Dienst veranlassen kann, das zu tun, was er ihm sagt, anstatt das zu tun, was er soll, ist der Syslog-Dienst weiterhin eingeschränkt (erzwungen vom Kernel basierend auf dem Benutzerkonto, nicht erzwungen vom Syslog) Software selbst, die nutzlos wäre, weil sie kompromittiert wurde, nur in die Protokolldateien zu schreiben (die einzigen Dateien, auf die der Syslog-Benutzer Schreibzugriff hat). Daher kann der Angreifer den kompromittierten Syslog-Dienst nicht verwenden, um z. B. den Inhalt einer Website oder Datenbank zu ändern, die auf demselben Computer gehostet wird, da die relevanten Dateien so eingerichtet sind, dass sie nur von einer bestimmten Gruppe anderer (menschlicher oder System- ) Benutzer beschreibbar sind Konten, nicht vom Syslog-Benutzerkonto.
Um mehr Schaden zu verursachen als nur das Löschen / Ändern der Protokolldateien und das Lesen von "öffentlichen" Dateien (mit "Leseberechtigung" für alle), müsste der Angreifer zuerst einen zweiten Fehler ausnutzen, entweder im Kernel oder in einer Software Diese wird installiert, um mit anderen Berechtigungen als der Benutzer ausgeführt zu werden, der sie aufgerufen hat ( setuid ), und erhält somit zusätzliche Berechtigungen (erweiterte Berechtigungen ).
Der von
users
Ihnen verwendete Befehl zeigt gemäß
seiner Manpage nur die Benutzer an, die
aktuell angemeldet sind . Da der Syslog-Benutzer ein
Systembenutzer ist , wird er sich niemals anmelden, sodass er niemals in dieser Liste angezeigt wird. Sie können in die Datei schauen
/etc/passwd
oder eine der anderen
hier beschriebenen Methoden verwenden , um eine Liste
aller Benutzer (Mensch und System) auf Ihrem System zu erhalten.