Logging
Als Logging bezeichnet man in der Informatik die automatische Erstellung eines Protokolls (englisch log) von Softwareprozessen.
Logging dient der Aufzeichnung und Nachvollziehbarkeit von Fehlerzuständen des Softwareprozesses. Da eine Auswertung durch Administratoren und Softwareentwickler vorgesehen ist und der Inhalt gesetzlichen Einschränkungen unterliegt, darf keine vertrauliche Information enthalten sein. Zudem sollte die Softwareanwendung auch dann störungsfrei weiterarbeiten können, wenn das Logging fehlschlägt.
Die Aufzeichnung kann hierbei beispielsweise auf der Kommandozeile, in einer Logdatei, dem Ereignisprotokoll unter Windows bzw. syslogd[1] und klogd[2] unter Linux, einer spezialisierten Datenbank oder einem Webservice erfolgen. Im Server-Umfeld ist insbesondere die Aufzeichnung in einer Logdatei üblich. Diese können mittels eines Log-Scrapers[3] gesammelt und zentral ausgewertet werden. Bei verteilten, sowie mobil genutzten, Anwendungen ist es hingegen üblich, einen zentralen Webservice anzusprechen.
Einige Logging-Frameworks unterstützen zudem die Aufzeichnung in mehreren Zielen (englisch: sinks) gleichzeitig. Zudem unterstützen einige Logging-Frameworks optional auch das Auditing, indem Schreibgarantien getätigt werden.
Abgrenzung
- Auditing
- Dient für sicherheitskritische Informationen, etwa An- und Abmeldungen von Benutzern, Rechteausweitungen, sowie den Zugriff auf und Änderungen an sensiblen Daten.
- Service-Monitoring[4]
- Dient der Analyse des Anwendungsverhaltens, insbesondere der Performance, in Echtzeit. (z. B. Performance Counters und collected (system statistics collection daemon) unter Linux)
- Tracing
- Dient der Nachvollziehbarkeit des Programmflusses. Da hier sehr viele Informationen in kurzer Zeit aufgezeichnet werden, eignet sich Tracing nicht für die dauerhafte Aufzeichnung in einer Datei oder Datenbank, sondern dient der Beobachtung des Prozesses in Echtzeit. (z. B. Event Tracing for Windows (ETW) unter Windows)
- Operations-Monitoring[4]
- Dient für die Analyse von anwendungsübergreifenden Geschäftsprozessen.
Logging als Auditing
Beim Auditing geht es um das automatische Protokollieren von Datensätzen durch Dienste, die angeben, welcher Benutzer bzw. welche Person in Computersystemen zu welchem Zeitpunkt was getan hat. Die zu speichernden Datensätze beziehen sich auf sicherheitsrelevante Ereignisse in IT-Systemen. Die Protokollierung kann durch einen Audit Monitor oder durch die Geschäftslogik implementiert werden. Die Sicherung der Audit-Daten muss aber auf einem externen und geeignet gesicherten System erfolgen.
Sicherheitsaspekte
Da Auditing sicherheitskritische Operationen von Softwareprozessen aufzeichnet, muss die Operation abgebrochen werden, falls das Auditing fehlschlägt.
Zudem muss das Audit, mittels Verschlüsselung, elektronischer Signierung und ggf. kryptographischer Verkettung, kryptographisch abgesichert werden, falls vertrauliche Daten enthalten sind. Einzelne Einträge können beispielsweise als Security Event Token (SET) übermittelt und gesichert werden. Wenn die Daten kryptographisch verkettet sind, können sie nicht gelöscht werden. Stattdessen kann jedoch der kryptographische Schlüssel gelöscht werden, damit die Daten nicht mehr entschlüsselt werden können.
Da die Daten für das Auditing teilweise über Jahre hinweg aufbewahrt werden müssen, müssen diese im Gegensatz zu Logdateien sicher verwahrt werden.
Nutzen
- Ermöglicht Recherche der historischen Versionen eines Datensatzes, die bei jeder Änderung abgespeichert wurden (Sonderform der Logdatei)
- Ermöglicht die Aufarbeitung von Sicherheitsvorfällen im Rahmen der IT-Forensik.
- Durch aus dem Auditing gewonnene Kenntnissen können Sicherheitsvorfälle präventiv verhindert werden.
- Monitoring (d. H. Überwachung in Echtzeit) von Zugriffen auf sicherheitsrelevante Funktionen bzw. Daten, sofern ein entsprechendes Monitoring vorgesehen wird.
Beispiele
- Anlegen oder Löschen eines Users in einem Directory
- Änderungen der Bankverbindung eines Kunden in einer Anwendung
Siehe auch
- Informationstechnik-Auditing
- Logging und Recovery bei Datenbanken
Quellenangaben
- ↑ syslogd Daemon. In: IBM Knowledge Center. Abgerufen am 2. Mai 2017 (englisch).
- ↑ M. Jones: Kernel logging: APIs and implementation. 30. Oktober 2010, abgerufen am 2. Mai 2017 (englisch).
- ↑ Logstash. Centralize, Transform & Stash Your Data. elastic, abgerufen am 2. Mai 2017 (englisch).
- ↑ a b Michael T. Nygard: Release It! Design and Deploy Production-Ready Software. O’Reilly, 2007, ISBN 978-0-9787392-1-8 (englisch, 326 S.).
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.