Skip to content

Den Linux Bootvorgang mit systemd analysieren

Systemd läuft sys-v-init nach und nach den Rang hab. Das heißt bei der Untersuchung des Bootvorgangs können andere Wege gegangen werden und es muss nicht auf altbekannte Tools wie Bootcharts zurückgegriffen werden.

Systemd bringt ein eigenes Analysetool auf pythonbasis mit, welches ähnliche Möglichkeiten bietet.

Der Aufruf kann zunächst ohne Parameter getestet werden. Dieser liefert einen groben Überblick.

systemd-analyze

Startup finished in 7.239s (kernel) + 30.762s (userspace) = 38.001s

Das gleiche Ergebnis wirft auch der Parameter "time" aus.

Die Ausgabe gibt anders als auf den ersten Blick vermutet nicht den gesammten Bootvorgang wieder, sondern nur die Zeit zum Starten der Dienste und Co.

systemd-analyze-chain

Der Parameter "critical-chain" liefert hier schon einen detaillierten Blick auf mögliche Nachzügler.

systemd-analyze critical-chain

Eine Liste aller Units kann wie folgt ausgegeben werden.

systemd-analyze blame

systemd-analyze-blame

Um nun eine ähnliche grafische Ausgabe wie bei Bootcharts zu erhalten bietet systemd-analyze eine SVG Ausgabe. Diese kann mit einem herkömmlichen Browser geöffnet werden.

systemd-analyze plot > /home/itrig/systemd.svg

systemd-analyze-svg

Eine weitere grafische Ausgabe kann mit "dot" erzielt werden. Dabei werden die Abhängigkeiten aller Aufrufe dargestellt.

systemd-analyze dot | dot -Tsvg > /home/itrig/systemdplot.svg

Soll die Grafik auf einen Dienst beschränken werden, muss dieser einfach mit angegeben werden.

systemd-analyze dot 'docker*' |dot -Tsvg > /home/itrig/docker.svg

systemd-analyze-dot

Alle weiteren Befehle lassen sich mit "man" oder "help" einsehen.
 

systemd-analyze [OPTIONS...] {COMMAND} ...

Profile systemd, show unit dependencies, check unit files.

  -h --help               Show this help
     --version            Show package version
     --no-pager           Do not pipe output into a pager
     --system             Operate on system systemd instance
     --user               Operate on user systemd instance
  -H --host=[USER@]HOST   Operate on remote host
  -M --machine=CONTAINER  Operate on local container
     --order              Show only order in the graph
     --require            Show only requirement in the graph
     --from-pattern=GLOB  Show only origins in the graph
     --to-pattern=GLOB    Show only destinations in the graph
     --fuzz=SECONDS       Also print also services which finished SECONDS
                          earlier than the latest in the branch
     --man[=BOOL]         Do [not] check for existence of man pages

Commands:
  time                    Print time spent in the kernel
  blame                   Print list of running units ordered by time to init
  critical-chain          Print a tree of the time critical chain of units
  plot                    Output SVG graphic showing service initialization
  dot                     Output dependency graph in dot(1) format
  set-log-level LEVEL     Set logging threshold for manager
  set-log-target TARGET   Set logging target for manager
  dump                    Output state serialization of service manager
  verify FILE...          Check unit files for correctness

 

BackBox 4.2 veröffentlicht und aktualisierte Übersicht forensischer Sicherheits- Distributionen

Es muss nicht immer Kali Linux sein, wer auf der Suche nach einer forensischen Linux Distribution ist, der kann ebenso einen Blick auf BackBox werfen.

backbox

BackBox - Sicherheitsanalyse für alle

Das auf Ubuntu 14.04 basierende System für Sicherheitsanalytiker ist in Version 4.2 erschienen.
Die neue Version bringt neben aktueller Toolsammlung (es wurde beispielsweise das hier vorgestellte WPScan integriert bzw. aktualisiert) weitere Verbesserungen des Systems mit.

Die im Changelog angepriesenen Neuigkeiten wie LVM Verschlüsselung oder RAM Wiping wurde allerdings schon bei den letzten Versionen 4.x gelistet. (siehe Artikel), darum kann hier schlecht nachvollzogen werden, ob diese wirklich neu sind.

backbox


Übersicht forensische Sicherheits- Distributionen

Die Auflistung der auf ITrig erwähnten oder anderweitig bekannten Distributionen für Penetrationstest oder forensische Untersuchungen wurde schon lange nicht mehr aktualisiert, darum hier ein aktueller Überblick.

Neu dabei und alleine wegen der Masse an Tools sehenswert (vielleicht schreibe ich auch einen Artikel) ist Black Arch Linux. Die Arch Linux Variante bringt stolze 1200 Tools mit. Ob hier gilt "Masse statt Klasse" muss ich allerdings selbst erst überprüfen.

uebersicht-forensik-distributionen

Das könnte dich auch interessieren

Kali Linux 1.1.0 veröffentlicht

OpenVAS 7 - auf Ubuntu installieren und konfigurieren

Caine 6.0 - die dunkle Materie für forensische Distributionen

Lynis - IT Sicherheitsaudit für Linux

Digitale Forensik - DEFT 8.1 und DART 2 2014 veröffentlicht

Im Zuge der Defcon 2014 wurde eine aktualisierte Version des Digital Evidence & Forensic Toolkit, kurz DEFT veröffentlicht. Das kleine Update auf Version 8.1 der forensischen Lubuntu live DVD enthält die aktualisierte Variante der Tool Sammlung Dart 2 (Digital Advanced Response Toolkit).

Leider ist immer noch keine VMware Version der Distribution verfügbar. 

deft-8.1

Weiter zeigt der File Manager des Livesystem nun an, in welcher Form Festplatten gemountet wurden. Außerdem wird Bitlocker nun voll unterstützt.

Folgende Tools und Funktionen wurden ebenfalls aktualisiert oder sind neu dabei:

  • The Sleuthkit 4.1.3
  • Digital Forensics Framework 1.3
  • Full support for Android and iOS 7.1 logical acquisitions (libmobiledevice & adb)
  • JD GUI 
  • Skype Extractor 0.1.8.8
  • Maltego 3.4 Tungsten
  • Neue Version des OSINT Browser

Download DEFT 8.1

Übersicht IT Forensik System I

Übersicht IT Forensik Systeme II 

[Update]

DEFT 8.1 ist nun auch als virtuelle Maschine für VMware verfügbar. Download

Linux Script - Postfix Mail Server Logauswertung mit dem Postfix Log Entry Summarizer

Wer sich schon einmal mit MTAs (Mail Transfer Agent) auseinandergesetzt hat, dem wird Postfix sicherlich ein Begriff sein. Postfix zählt zu den bekanntesten Mailservern im Linuxbereich, ist schnell und recht einfach zu konfigurieren, eine gewisse Grundkenntnis vorausgesetzt. Für einen sicheren Mailverkehr möchte ich hier noch einmal auf das Crypto Handbuch verweisen.

Letzte Woche war ja ein wenig Exchange Server im Programm, heute soll es aber um eine Auswertung des Mailverkehrs, welcher täglich über einen Postfix Server rauscht, gehen. 

Postfix Log Entry Summarizer

Hierfür gibt es sicherlich einige Monitoring Tools, eines davon ist Pflogsumm (Postfix Log Entry Summarizer), welches eine ausführliche Auswertung bietet, ohne, dass der Anwender viel konfigurieren muss.

Unter Ubuntu ist dieses Tool recht schnell konfiguriert und im Optimalfall erhaltet ihr am Ende eine Übersicht aller Nachrichten, egal ob gesendet, empfangen oder geblockt. Auch der Traffic, die Menge oder die Mailadressen werden ausgewertet. Bis zu dieser Statistik ist aber noch ein wenig Vorarbeit zu leisten.

Pflogsumm installieren (Ubuntu)

sudo apt-get install pflogsumm 

Postfix Log Entry Summarizer konfigurieren

Ihr habt nun die Möglichkeit das Tool direkt aufzurufen und euch eine Liveauswertung geben zu lassen, um zu sehen was gerade auf dem Mailserver passiert. Pflogsumm macht nichts anderes, als auf die Logfiles des Postfix Server zurückzugreifen und diese auszuwerten. Mit einem Einzeiler lässt sich so eine Statistik in eine Datei schreiben oder per Mail versenden.

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log >> test oder

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log | mail -s "Postfix Mail Report" info@example.com

 

Vorarbeit zur regelmäßigen Postfix Analyse

Eine IST Auswertung mag zwar interessant sein, die regelmäßige Auswertung der letzten Tage ist jedoch um einiges interessanter. Realisierbar ist dies mit den Logs des Vortages, diese werden Mittels logrotate gepackt und können danach ausgewertet werden. Zunächst muss logrotate angepasst werden, damit täglich neue Logs geschrieben werden.

sudo nano /etc/logrotate.conf

/var/log/mail.log {
    missingok
    daily
    rotate 7
    create
    compress
    start 0
    }
sudo nano /etc/logrotate.d/rsyslog

    #/var/log/mail.log

Wenn gewünscht ist, dass die Logrotation pünktlich zu einer gewissen Uhrzeit laufen soll, sagen wir um 2 Uhr Nachts , ist es nötig crontab zu editieren und dort die Laufzeit anzupassen.

sudo nano /etc/cron.daily anzupassen 0 2   * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Skript zur Postfix Analyse 

Nun können wir unser eigenes Script zusammen stellen, welches am Schluss eine Auswertung versendet. 

sudo nano mailstatistiken.sh

#!/bin/bash
#
###############
# mailstats   #
###############

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Log Archive entpacken
gunzip /var/log/mail.log.1.gz

#Temporaere Datei anlegen
MAIL=/tmp/mailstats

#Etwas Text zum Anfang
echo "Taeglicher Mail Stats Report, erstellt am $(date "+%H:%M %d.%m.%y")" > $MAIL
echo "Mail Server Aktivitaeten der letzten 24h" >> $MAIL

#Pflogsumm aufrufen
/usr/sbin/pflogsumm --problems_first /var/log/mail.log.1 >> $MAIL

# Versenden der Auswertung
cat /tmp/mailstats | mail -s "Postfix Report $(date --date='yesterday')" stats@example.com

#Archiv wieder packen, damit alles seine Ordnung hat
gzip /var/log/mail.log.1

Insgesamt eine leichte Übung. Das fertige Skript noch mit "chmod +x" ausführbar machen und am besten via "crontab -e" zu einem gewünschten Zeitpunkt ausführen.

Am Ende solltet ihr jeden Tag per Mail eine ausführliche Zusammenfassung der E-Mails Statistiken erhalten. 

Grand Totals

------------

messages

   4321   received

   1234   delivered

      5   forwarded

      1   deferred  (3  deferrals)

      0   bounced

      0   rejected (0%)

      0   reject warnings

      0   held

      0   discarded (0%)

   1234m  bytes received

   1234m  bytes delivered

    123   senders

    321   sending hosts/domains

   1234   recipients

    123   recipient hosts/domains

message deferral detail

-----------------------

  smtp (total: 3)

         3   invalid sender domain 'example.de' (misconfigured ...

message bounce detail (by relay): none

message reject detail: none

message reject warning detail: none

message hold detail: none

message discard detail: none

smtp delivery failures: none

Warnings: none

Fatal Errors: none

Panics: none

Master daemon messages: none

Per-Hour Traffic Summary

------------------------

    time          received  delivered   deferred    bounced     rejected

    --------------------------------------------------------------------

    0000-0100           0          0          0          0          0 

.....

Kali Linux 1.0.6 veröffentlicht - Selbstzerstörung inbegriffen

Linux Distributionen für Penetrationstests oder IT Forensik hatte ich ja schon einige vorgestellt (siehe hier oder hier). Die bekannteste "Kali Linux" hat nun ein Update erhalten. In Version 1.0.6 hat ein Selbstzerstörungsmechanismus Einzug gehalten "emergency self-destruction of LUKS", dieser erlaubt es im Notfall die komplette Installation zu zerstören.

kali-linux

Weiter wurde der Linux Kernel auf 3.12 aktualisiert. Neu eingeführt wurde ein Build Script für ARM Geräte "Offensive Security Trusted ARM image scripts", damit soll die Menge der ARM Image Releases eingedämmt werden.

Ebenfalls lassen sich mit den " Kali AMAZON AMI and Google Compute image generation scripts" nun Images für Amazon erstellen (Amazon Machine Images).

Wie immer bei neuen Releases wurden bestehende Tools aktualisiert und die üblichen Optimierungen sind ins System eingeflossen. Der Changelog ist hier zu finden.

Download Kali Linux 1.0.6