<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://xinux.net/index.php?action=history&amp;feed=atom&amp;title=Erk%C3%A4rungen_ystemd-Unit%3A_suricata.service</id>
	<title>Erkärungen ystemd-Unit: suricata.service - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://xinux.net/index.php?action=history&amp;feed=atom&amp;title=Erk%C3%A4rungen_ystemd-Unit%3A_suricata.service"/>
	<link rel="alternate" type="text/html" href="https://xinux.net/index.php?title=Erk%C3%A4rungen_ystemd-Unit:_suricata.service&amp;action=history"/>
	<updated>2026-08-24T10:15:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://xinux.net/index.php?title=Erk%C3%A4rungen_ystemd-Unit:_suricata.service&amp;diff=72443&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „=== Systemd-Unit: suricata.service ===  ;Beschreibung Definiert Suricata als systemd-verwalteten Hintergrunddienst (Inline-IPS via NFQUEUE 0), inklusive Start-…“</title>
		<link rel="alternate" type="text/html" href="https://xinux.net/index.php?title=Erk%C3%A4rungen_ystemd-Unit:_suricata.service&amp;diff=72443&amp;oldid=prev"/>
		<updated>2026-08-04T12:35:46Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=== Systemd-Unit: suricata.service ===  ;Beschreibung Definiert Suricata als systemd-verwalteten Hintergrunddienst (Inline-IPS via NFQUEUE 0), inklusive Start-…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Systemd-Unit: suricata.service ===&lt;br /&gt;
&lt;br /&gt;
;Beschreibung&lt;br /&gt;
Definiert Suricata als systemd-verwalteten Hintergrunddienst (Inline-IPS via NFQUEUE 0), inklusive Start-Reihenfolge, Reload-/Stop-Verhalten und grundlegender Systemhärtung.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Suricata IPS daemon&lt;br /&gt;
After=network.target network-online.target&lt;br /&gt;
Requires=network-online.target&lt;br /&gt;
Documentation=man:suricata(8) man:suricatasc(8)&lt;br /&gt;
Documentation=https://suricata-ids.org/docs/&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=forking&lt;br /&gt;
PIDFile=/run/suricata.pid&lt;br /&gt;
ExecStart=/usr/bin/suricata -D -q 0 -c /etc/suricata/suricata.yaml --pidfile /run/suricata.pid&lt;br /&gt;
ExecReload=/usr/bin/suricatasc -c reload-rules ; /bin/kill -HUP $MAINPID&lt;br /&gt;
ExecStop=/usr/bin/suricatasc -c shutdown&lt;br /&gt;
Restart=on-failure&lt;br /&gt;
ProtectSystem=full&lt;br /&gt;
ProtectHome=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [Unit] ====&lt;br /&gt;
&lt;br /&gt;
* Description – Kurzbeschreibung, erscheint u. a. in systemctl status&lt;br /&gt;
* After=network.target network-online.target – Suricata soll erst starten, ''nachdem'' das Netzwerk grundsätzlich verfügbar ist (reine Reihenfolge, kein hartes Erfordernis)&lt;br /&gt;
* Requires=network-online.target – im Gegensatz zu After ist dies eine ''harte'' Abhängigkeit: ohne funktionierendes Netzwerk wird der Dienst gar nicht erst gestartet (sinnvoll, da NFQUEUE ohne funktionierende Netzwerk-/Firewall-Konfiguration wirkungslos wäre)&lt;br /&gt;
* Documentation – zwei Einträge: Verweis auf die man-Pages sowie die Online-Dokumentation; beide werden bei systemctl status suricata angezeigt&lt;br /&gt;
&lt;br /&gt;
==== [Service] ====&lt;br /&gt;
&lt;br /&gt;
;Beschreibung&lt;br /&gt;
Steuert, wie systemd den Prozess startet, überwacht und beendet.&lt;br /&gt;
&lt;br /&gt;
* Type=forking – Suricata startet im Vordergrund einen Kindprozess und beendet sich selbst (klassisches Daemon-Verhalten); systemd erwartet daher, dass der ''eigentliche'' laufende Prozess über die PIDFile identifiziert wird&lt;br /&gt;
* PIDFile=/run/suricata.pid – Pfad, unter dem Suricata seine PID hinterlegt, damit systemd den korrekten (geforkten) Hauptprozess tracken kann&lt;br /&gt;
* ExecStart – Startbefehl:&lt;br /&gt;
** -D → Daemon-Modus (forken)&lt;br /&gt;
** -q 0 → NFQUEUE-Nummer 0 lesen (korrespondiert mit der nftables-Regel queue num 0 aus der vorherigen Frage)&lt;br /&gt;
** -c /etc/suricata/suricata.yaml → Pfad zur Hauptkonfiguration&lt;br /&gt;
** --pidfile /run/suricata.pid → explizite Angabe des PID-Datei-Pfads&lt;br /&gt;
* ExecReload – wird bei systemctl reload suricata ausgeführt:&lt;br /&gt;
** suricatasc -c reload-rules → lädt die Regeln über das Unix-Command-Socket neu, ohne den Prozess neu zu starten (Verbindungs-/Sitzungsstatus bleibt erhalten)&lt;br /&gt;
** ; kill -HUP $MAINPID → zusätzlich wird ein HUP-Signal an den Hauptprozess gesendet (zwei Reload-Mechanismen kombiniert)&lt;br /&gt;
* ExecStop=/usr/bin/suricatasc -c shutdown – sauberes Herunterfahren über das Command-Socket statt eines einfachen SIGTERM, damit Suricata Puffer/Statistiken ordentlich flushen kann&lt;br /&gt;
* Restart=on-failure – automatischer Neustart nur bei einem ''Fehler'' (Absturz, Exit-Code ≠ 0), nicht bei explizitem systemctl stop&lt;br /&gt;
* ProtectSystem=full – systemd-Sandboxing: /usr, /boot und /etc werden read-only in den Dienst-Namespace gemountet (Suricata kann sein System nicht verändern)&lt;br /&gt;
* ProtectHome=true – /home, /root und /run/user werden dem Dienst komplett unzugänglich gemacht (nicht nötig für einen Netzwerk-IDS-Prozess, daher sinnvoll gehärtet)&lt;br /&gt;
&lt;br /&gt;
;Hinweis&lt;br /&gt;
ProtectSystem und ProtectHome sind einfache, aber wirksame Bausteine zur Angriffsflächenreduktion – falls im Kurs später vertieft auf systemd-Sandboxing eingegangen wird, ließe sich das hier noch erweitern (z. B. NoNewPrivileges=true, PrivateTmp=true, CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW für die minimal nötigen Capabilities statt vollem Root).&lt;br /&gt;
&lt;br /&gt;
==== [Install] ====&lt;br /&gt;
&lt;br /&gt;
* WantedBy=multi-user.target – der Dienst wird beim Booten in den Standard-Multi-User-Runlevel (ohne grafische Oberfläche) eingebunden, aktiviert über systemctl enable suricata&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>