09. Audit und Protokollierung auf Ubuntu Server: Ein umfassender Leitfaden

Einleitung: Warum Audit und Protokollierung wichtig sind

Audit und Protokollierung auf Ubuntu Server sind unerlässlich, um die Sicherheit, Zuverlässigkeit und Rechenschaftspflicht Ihres Ubuntu-Servers zu gewährleisten. Sie geben Einblicke in Systemaktivitäten, helfen bei der Erkennung von Anomalien und sind entscheidend für die Einhaltung regulatorischer Anforderungen wie GDPR, HIPAA oder PCI-DSS.

Viele Systeme aktivieren die Prüfung jedoch nicht, weil sie Bedenken hinsichtlich des Speicherplatzverbrauchs haben oder weil ihnen Tools zur effektiven Analyse der Daten fehlen. In diesem Artikel gehen wir auf diese Bedenken ein und führen Sie durch die praktische und skalierbare Implementierung von Prüfung und Protokollierung.

Behandelte Themen:

  • Praxisanwendung und Herausforderungen der Prüfung.
  • Verwendung von auditd zur Verfolgung und Aufzeichnung von Systemereignissen.
  • Speicherplatzplanung für Audit-Protokolle.
  • Tools zur Analyse von Audit-Protokollen und Systemprotokollen.
  • Konfigurieren der Protokollrotation mit logrotate.
  • Erweiterte Überwachungs- und Audit-Praktiken

Früherer Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud

03. Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud

04. Benutzer und Berechtigungen auf Ubuntu Server verwalten: Ein umfassender Leitfaden – SysOSX: AI & Cloud

05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

06. Software auf Ubuntu Server installieren und verwalten: Ein vollständiger Leitfaden – SysOSX: AI & Cloud

07.Ubuntu Server patchen und aktualisieren: Ein umfassender Leitfaden – SysOSX: AI & Cloud

08. Absichern Ihres Ubuntu-Servers: Praktische Schritte zur Härtung und zum Schutz – SysOSX: AI & Cloud



1. Praxisanwendung der Systemprüfung

Warum viele Systeme auf Audits verzichten

Obwohl die Prüfung leistungsstark ist, vermeiden viele Administratoren ihre Aktivierung aus den folgenden Gründen:

  • Speicherplatzverbrauch: Audit-Protokolle können schnell wachsen, besonders auf stark frequentierten Systemen, und erheblichen Speicherplatz verbrauchen.
  • Leistungsaufwand: Die Aktivierung detaillierter Prüfungen kann die Systemleistung leicht belasten.
  • Komplexität: Audit-Protokolle sind ausführlich und erfordern spezielle Tools zur Analyse.

Planung der Prüfung

Speicherplatzplanung

So planen Sie die Prüfung effektiv:

  1. Protokollwachstum schätzen: Überwachen Sie die Wachstumsraten der Protokolle, indem Sie die Prüfung vorübergehend aktivieren und die Größe der Protokolle über eine Woche messen. sudo du -sh /var/log/audit/ Verwenden Sie diese Daten, um den täglichen, wöchentlichen und monatlichen Speicherbedarf zu berechnen.
  2. Dedizierten Speicher reservieren: Speichern Sie Audit-Protokolle auf einer separaten Partition oder Platte, damit die Protokolle das Root-Dateisystem nicht füllen. Zum Beispiel:
    • Erstellen Sie eine Partition für Protokolle: /var/log/audit.
    • Verwenden Sie Tools wie lvcreate (Logical Volume Manager), um den Speicher bei Bedarf dynamisch zu erweitern.
  3. Komprimierung aktivieren: Verwenden Sie logrotate um alte Audit-Protokolle zu komprimieren und so den Speicherbedarf deutlich zu reduzieren.
  4. Aufbewahrungsrichtlinien: Legen Sie Aufbewahrungsrichtlinien fest, die auf den Anforderungen Ihrer Organisation basieren. Zum Beispiel:
    • Protokolle 30 Tage lang zur Fehlerbehebung aufbewahren.
    • Ältere Protokolle für Compliance-Zwecke auf externen Speicher archivieren.

Leistungsaspekte

Die Auswirkungen von Auditd auf die Leistung sind für die meisten Systeme minimal. Bei Servern mit hohem Datenverkehr (z. B. Webserver oder Datenbankserver) sollten Sie jedoch nach der Aktivierung der Prüfung die CPU- und E/A-Auslastung überwachen. Falls erforderlich:

  • Beschränken Sie den Umfang der Audit-Regeln auf kritische Dateien oder Verzeichnisse, anstatt das gesamte System zu überwachen.
  • Verwenden Sie Stichprobenverfahren, um die Häufigkeit der Protokolle zu reduzieren.

2. Verwendung von auditd zur Verfolgung und Aufzeichnung von Systemereignissen

Das auditd Tool bleibt eine der robustesten Lösungen für die Systemprüfung. Nachfolgend finden Sie weitere Überlegungen für den praktischen Einsatz.

Erweiterte Audit-Regeln

Anstatt jede Datei zu prüfen, konzentrieren Sie sich auf kritische Bereiche:

  • Systemkonfigurationsdateien:
 sudo auditctl -w /etc/ssh/sshd_config -p wa -k ssh_config_changes
  • Sensible Verzeichnisse:
sudo auditctl -w /var/www/html -p rwxa -k web_access
  • Benutzeraktivitäten:
    Bestimmte Benutzer oder Gruppen überwachen:
sudo auditctl -a always,exit -F uid=1001 -F arch=b64 -S execve -k user_commands

Tools zur Analyse von Audit-Protokollen

Audit-Protokolle können überwältigend sein, aber mehrere Tools können helfen, die Daten zu verarbeiten und zu analysieren:

  1. Aureport: Erstellt zusammenfassende Berichte aus Audit-Protokollen. sudo aureport --summary
  2. Auditbeat: Ein leichtgewichtiges Tool von Elastic, um Audit-Protokolle zur Visualisierung und Analyse an einen zentralen ELK-Stack zu senden.
    • Auditbeat installieren: sudo apt install auditbeat
    • Konfigurieren Sie es so, dass Protokolle an Elasticsearch oder Logstash gesendet werden.
  3. Splunk: Ein kommerzielles Tool zur Protokollanalyse mit erweiterten Such- und Berichtsfunktionen.

3. Speicherplatzplanung für Audit-Protokolle

Beispiel für einen Speicherplatzplan

Nehmen wir an:

  • Tägliche Audit-Protokolle verbrauchen 500 MB.
  • Protokolle werden wöchentlich rotiert und auf 20 % ihrer ursprünglichen Größe komprimiert.

Berechnung des Speicherplatzes:

  • Unkomprimierte Protokolle für 7 Tage: 500 MB×7=3.5 GB500MB×7=3.5GB
  • Komprimierte Protokolle für 30 Tage: 500 MB×30×0.2=3 GB500MB×30×0.2=3GB
  • Insgesamt benötigter Speicher: 3.5 GB+3 GB=6.5 GB3.5GB+3GB=6.5GB

Reservieren Sie mindestens 10 GB, um unerwartete Spitzen abzufangen.


4. Konfigurieren der Protokollrotation mit logrotate

Die Protokollrotation ist entscheidend, um die Größe der Protokolle zu verwalten. Nachfolgend finden Sie erweiterte Konfigurationen für Audit-Protokolle und Systemprotokolle.

Audit-Protokolle rotieren

Audit-Protokolle werden automatisch vom auditd Daemon verwaltet. Um die Rotation anzupassen:

  • Bearbeiten Sie die /etc/audit/auditd.conf Datei:
max_log_file = 50   # Maximum size in MB for audit.log
max_log_file_action = rotate  # Rotate logs when size exceeds limit
  • Konfiguration testen:
sudo service auditd restart

Andere Protokolle rotieren

Verwenden Sie für Nicht-Audit-Protokolle logrotate:

  • Beispiel für /var/log/syslog:
/var/log/syslog {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    create 0640 root root
}

5. Erweiterte Überwachungs- und Audit-Praktiken

Echtzeit-Protokollüberwachung

Echtzeitüberwachung ist unerlässlich, um kritische Ereignisse zu erkennen. Hier sind Tools und Techniken:

  1. Logwatch: Fasst tägliche Protokolle zusammen und sendet sie per E-Mail an Administratoren. sudo apt install logwatch Konfigurieren Sie es in /etc/logwatch/conf/logwatch.conf.
  2. Zentralisierte Protokollverwaltung:
    • Rsyslog: Leitet Protokolle an einen zentralen Server weiter. sudo apt install rsyslog Konfigurieren Sie /etc/rsyslog.conf so, dass Protokolle an einen Remote-Server gesendet werden.
    • Graylog: Bietet eine webbasierte Oberfläche für die Protokollanalyse.
    • ELK Stack: Elasticsearch, Logstash und Kibana für skalierbares Protokollmanagement.

Sicherheitsorientierte Überwachung

  • Fail2ban: Überwacht Protokolle auf fehlgeschlagene Anmeldeversuche und sperrt IPs.
sudo apt install fail2ban
  • Tripwire: Erkennt Dateiänderungen zur Einbruchserkennung.
sudo apt install tripwire

Warnmeldungen integrieren

Richten Sie Warnmeldungen für kritische Ereignisse mit Tools wie den folgenden ein:

  • Nagios: Überwacht Serverzustand und Protokolle auf Anomalien.
  • Prometheus with Grafana: Verfolgt Metriken und Protokolle in Echtzeit.

Speicherorte von Protokolldateien

Es gibt viele verschiedene Protokolldateien, die alle unterschiedlichen Zwecken dienen. Wenn Sie nach einem Protokoll zu einem bestimmten Thema suchen, sollten Sie zunächst die relevanteste Datei ermitteln. Nachfolgend finden Sie eine Liste gängiger Speicherorte von Protokolldateien.

Systemprotokolle

Systemprotokolle befassen sich genau damit – dem Ubuntu-System – im Gegensatz zu zusätzlichen Anwendungen, die der Benutzer hinzugefügt hat. Diese Protokolle können Informationen über Autorisierungen, System-Daemons und Systemmeldungen enthalten.

Autorisierungsprotokoll

Speicherort: /var/log/auth.log

Verfolgt Autorisierungssysteme, wie z. B. Passwortabfragen, den sudo Befehl und Remote-Anmeldungen.

Daemon-Protokoll

Speicherort: /var/log/daemon.log

Daemons sind Programme, die im Hintergrund laufen, normalerweise ohne Benutzerinteraktion. Zum Beispiel Anzeigeserver, SSH-Sitzungen, Druckdienste, Bluetooth und mehr.

Debug-Protokoll

Speicherort: /var/log/debug

Liefert Debugging-Informationen vom Ubuntu-System und von Anwendungen.

Kernel-Protokoll

Speicherort: /var/log/kern.log

Protokolle vom Linux-Kernel.

Systemprotokoll

Speicherort: /var/log/syslog

Enthält weitere Informationen über Ihr System. Wenn Sie in den anderen Protokollen nichts finden, steht es wahrscheinlich hier.

Anwendungsprotokolle

Einige Anwendungen erstellen ebenfalls Protokolle in /var/log. Nachfolgend finden Sie einige Beispiele.

Apache-Protokolle

Speicherort: /var/log/apache2/ (Unterverzeichnis)

Apache erstellt mehrere Protokolldateien im /var/log/apache2/ Unterverzeichnis. Die access.log Datei zeichnet alle Anfragen auf, die zum Zugriff auf Dateien an den Server gestellt werden. error.log zeichnet alle vom Server ausgegebenen Fehler auf.

X11-Serverprotokolle

Speicherort: /var/log/Xorg.0.log

Der X11-Server erstellt für jede Ihrer Anzeigen eine separate Protokolldatei. Die Anzeigenummern beginnen bei null, sodass Ihre erste Anzeige (Anzeige 0) Folgendes als Protokolldatei nutzt: Xorg.0.log. Die nächste Anzeige (Anzeige 1) würde Folgendes nutzen: Xorg.1.log, und so weiter.

Nicht menschenlesbare Protokolle

Nicht alle Protokolldateien sind dafür gedacht, von Menschen gelesen zu werden. Einige wurden dafür gemacht, von Anwendungen analysiert zu werden. Nachfolgend finden Sie einige Beispiele.

Protokoll der Anmeldefehler

Speicherort: /var/log/faillog

Enthält Informationen über Anmeldefehler. Sie können es mit dem faillog Befehl ansehen.

Protokoll der letzten Anmeldungen

Speicherort: /var/log/lastlog

Enthält Informationen über die letzten Anmeldungen. Sie können es mit dem lastlog Befehl ansehen.

Anmeldeaufzeichnungen

Speicherort: /var/log/wtmp

Enthält Anmeldeinformationen, die von anderen Dienstprogrammen verwendet werden, um herauszufinden, wer angemeldet ist. Um aktuell angemeldete Benutzer anzuzeigen, verwenden Sie den who Befehl.


Fazit

Prüfung und Protokollierung sind unerlässlich, um einen sicheren und zuverlässigen Ubuntu-Server zu betreiben. Durch sorgfältige Speicherplatzplanung, den Einsatz von Tools zur Protokollanalyse und die Implementierung erweiterter Überwachungspraktiken können Sie gängige Herausforderungen bewältigen und bessere Einblicke in Systemaktivitäten gewinnen.

Ob Sie Compliance-Anforderungen verwalten oder Ihren Server proaktiv absichern – die in diesem Artikel besprochenen Techniken und Tools helfen Ihnen, eine skalierbare und effektive Strategie für Protokollierung und Prüfung aufzubauen.

Als Nächstes: Systemüberwachungs-Tools für Ubuntu Server

Im nächsten Artikel tauchen wir tiefer ein in Überwachung und Leistungsmanagement. Wir erkunden leistungsstarke Systemüberwachungs-Tools für Ubuntu Server, darunter Lösungen wie Nagios, Prometheus, Grafana und htop, um Ressourcennutzung zu verfolgen, Engpässe zu erkennen und die Serverleistung zu optimieren.

Bleiben Sie dran und erfahren Sie, wie Sie Ihren Server effizient am Laufen halten und potenzielle Probleme proaktiv angehen, bevor sie Ihren Betrieb beeinträchtigen!

3 thoughts on “09. Audit and Logging on Ubuntu Server: A Comprehensive Guide”

Kommentar hinterlassen