{"id":3120,"date":"2023-09-11T11:12:01","date_gmt":"2023-09-11T09:12:01","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=3120"},"modified":"2023-09-11T11:12:03","modified_gmt":"2023-09-11T09:12:03","slug":"tripwire-einbruchserkennung-unter-linux","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/11\/tripwire-einbruchserkennung-unter-linux\/","title":{"rendered":"Tripwire &#8211; Einbruchserkennung unter Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Die meisten Linux-User kennen die Geschichte &#8211; am Linux-Desktop sind Virenscanner und Rootkit-J\u00e4ger so gut wie unn\u00f6tig. Am Server, der sieben Tage die Woche im Internet h\u00e4ngt, ist dies nat\u00fcrlich eine andere Geschichte. Solche Linux-Systeme sind auch f\u00fcr Kriminelle lohnende Ziele.<br><br>Da man nicht den ganzen Tag den Server kontrollieren kann, hilft eine Einbruchserkennung um Einbr\u00fcche erkennen zu k\u00f6nnen. Hacker, die in das System einbrechen, tun dies nicht deshalb, weil es so lustig ist, sondern um mit dem System etwas anzufangen. Sie ver\u00e4ndern Dateien und tauschen Dateien aus, um ihren Einbruch zu verschleiern, legen Backdoors an, um auch bei Aktualisierungen der ausgenutzten Sicherheitsl\u00fccke wiederkommen zu k\u00f6nnen.<br><br>Um solche Einbr\u00fcche zu erkennen, nutzt man nun mehrheitlich Software, die ver\u00e4nderte Dateien erkennt. Dies funktioniert recht einfach &#8211; die Software zur Einbruchserkennung speichert von den zu \u00fcberwachenden Dateien den Hash-Wert in einer eigens abgesicherten Datenbank und vergleicht diese Werte in regelm\u00e4\u00dfigen Abst\u00e4nden. Passt ein Wert nicht mit dem aktuellen zusammen, meldet die Software dies. Tripwire ist nun eine der bekanntesten Anwendungen dieser Sparte unter Linux.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tripwire installieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unter auf Debian basierenden Linux-Distributionen installiert man diese Software wie \u00fcblich ganz einfach \u00fcber die <a rel=\"noreferrer noopener\" href=\"https:\/\/www.linux-bibel-oesterreich.at\/viewtopic.php?t=10\" target=\"_blank\">Paket-Verwaltung<\/a> durch das Paket &#8222;<strong>tripwire<\/strong>&#8222;. M\u00f6chten Sie auch gewarnt werden, um nicht t\u00e4glich die Log-Dateien der Software durchforsten zu m\u00fcssen, installieren Sie einen MTA wie etwa <a rel=\"noreferrer noopener\" href=\"https:\/\/www.linux-bibel-oesterreich.at\/viewtopic.php?f=48&amp;t=1581\" target=\"_blank\">Postfix<\/a>.<br><br>Die Installation von Tripwire gelingt am einfachsten am <a rel=\"noreferrer noopener\" href=\"https:\/\/www.linux-bibel-oesterreich.at\/viewtopic.php?p=3#p3\" target=\"_blank\">Terminal<\/a> mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt install tripwire<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01-1024x576.jpg\" alt=\"\" class=\"wp-image-3125\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-01.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zu Beginn fragt die Software nach dem Site-Passwort, dieses dient dazu,  die Software abzusichern &#8211; daher sollten Sie hier ein absolut sicheres  Passwort vergeben &#8211; dieses sollte sich nat\u00fcrlich auch vom root-Account  unterscheiden. Best\u00e4tigen Sie mit <strong class=\"text-strong\">Eingabe<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02-1024x576.jpg\" alt=\"\" class=\"wp-image-3157\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-02.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Weiter geht es mit einer Schl\u00fcsseldatei &#8211; diese w\u00e4re nat\u00fcrlich noch sicherer als ein Passwort, ist aber umst\u00e4ndlicher, da Sie die Datei nicht auf dem Server liegen lassen k\u00f6nnen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03-1024x576.jpg\" alt=\"\" class=\"wp-image-3158\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-03.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt best\u00e4tigen wir das Anlegen der neuen Konfiguration. Anschlie\u00dfend best\u00e4tigen Sie noch zweimal die Konfiguration mit <strong>Eingabe<\/strong> und vergeben das Passwort zur Absicherung der Software:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04-1024x576.jpg\" alt=\"\" class=\"wp-image-3159\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-04.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Best\u00e4tigung des Passwortes erhalten Sie noch eine kurze Information, damit w\u00e4re die grundlegende Einrichtung abgeschlossen. Jetzt geht es um die erweiterte Konfiguration &#8211; was soll die Software eigentlich \u00fcberwachen? Die dazu n\u00f6tige Datei finden wir unter &#8222;\/etc\/tripwire\/twpol.txt&#8220; &#8211; diese \u00f6ffnen wir mit dem gew\u00fcnschten Terminal-Editor (nat\u00fcrlich als <a rel=\"noreferrer noopener\" href=\"https:\/\/www.linux-bibel-oesterreich.at\/viewtopic.php?t=366\" target=\"_blank\">root<\/a>) &#8211; etwa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/etc\/tripwire\/twpol.txt\nvim \/etc\/tripwire\/twpol.txt<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05-1024x576.jpg\" alt=\"\" class=\"wp-image-3160\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05-1024x576.jpg 1024w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05-300x169.jpg 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05-768x432.jpg 768w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05-1536x864.jpg 1536w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Tripwire-05.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wir scrollen jetzt an das Ende der Datei &#8211; an der bisher bestehenden Konfiguration sollten wir nichts \u00e4ndern, hier \u00fcberwacht die Software schon ihre eigenen Dateien &#8211; also ihre Konfiguration. Als Erstes m\u00fcssen wir uns nat\u00fcrlich im Klaren sein, was wollen wir \u00fcberwachen und was nicht? Dateien in Verzeichnissen zu \u00fcberwachen, die sich jede Sekunde ver\u00e4ndern, ist nicht sinnvoll &#8211; dies w\u00fcrde bei jedem Scan der Software zu tausenden Fehlwarnungen f\u00fchren. Zu den nicht zu \u00fcberwachenden Verzeichnissen geh\u00f6ren also:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\/proc<\/li>\n\n\n\n<li>\/run<\/li>\n\n\n\n<li>\/sys<\/li>\n\n\n\n<li>\/tmp<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Und gewisse Verzeichnisse unter &#8222;<em>\/var<\/em>&#8220; &#8211; etwa das Verzeichnis &#8222;<em>\/var\/log<\/em>&#8220; und &#8222;<em>\/var\/spool<\/em>&#8222;. Was gilt es zu \u00fcberwachen? Alles, was sich nicht ver\u00e4ndern soll &#8211; also etwa das komplette restliche Systemverzeichnis &#8222;<em>\/<\/em>&#8222;.<br><br>Am besten f\u00fchrt man f\u00fcr jedes Verzeichnis eine eigene Regel an, ein kleines Beispiel, um das Verzeichnis &#8222;<em>\/etc<\/em>&#8220; zu \u00fcberwachen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(\nrulename = \"\/etc\",\nseverity = $(SIG_HI)\n)\n{\n\/etc -> $(SEC_CRIT);\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In der runden Klammer steht so gesehen eine Beschreibung der Regel, in der geschwungenen Klammer die Regel selbst. Unter &#8222;<strong>rulename =<\/strong>&#8220; geben wir die Bezeichnung an, um sp\u00e4ter in der Benachrichtigung mehr \u00dcbersicht zu haben. Wir k\u00f6nnen auch Dateien direkt angeben &#8211; etwa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(\nrulename = \"Apache\",\nserverity = $(SIG_HI)\n)\n{\n\/etc\/apache2\/sites-avalable\/webseite.conf -> $(SEC_CRIT);\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mit &#8222;<strong>severity =<\/strong>&#8220; geben Sie die Sicherheitsstufe an &#8211; eine Beschreibung dazu finden Sie bereits in der Konfigurationsdatei selbst:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SIG_HI<\/strong> &#8211; Sehr hoch<\/li>\n\n\n\n<li><strong>SIG_MED<\/strong> &#8211; Sehr niedrig<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6chten Sie sich per E-Mail benachrichtigen lassen, f\u00fcgen Sie in der runden Klammer folgende weitere Zeile hinzu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>emailto = \"mail.adresse@gmail.com\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Zeile davor beenden Sie mit einem Komma.<br><br>Die Angaben &#8222;<strong>SEC_CRIT<\/strong>&#8222;, &#8222;<strong>SEC_BIN<\/strong>&#8220; und Co liefern anschlie\u00dfend die Sicherheitsstufe in der Benachrichtigung &#8211; auch hierf\u00fcr gibt es entsprechende Beispiele in der Konfigurationsdatei.<br><br>Haben Sie die Konfiguration abgeschlossen, speichern Sie die Datei und \u00fcbernehmen die Konfiguration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>twadmin -m P \/etc\/tripwire\/twpol.txt<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt generieren Sie den Schl\u00fcssel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>twadmin --generate-keys --local-keyfile \/etc\/tripwire\/$HOSTNAME-local.key<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Hierbei werden Sie nach dem vergebenen Site-Passwort gefragt. Anschlie\u00dfend initialisieren wir die Datenbank mit den Hash-Werten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tripwire --init<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Damit w\u00e4re es geschafft &#8211; Sie k\u00f6nnen jetzt einen ersten manuellen Test starten:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tripwire --check<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die ganze Geschichte packen Sie anschlie\u00dfend in Cron &#8211; etwa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>00 5 * * * \/usr\/sbin\/tripwire --check --email-report<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt kommen nat\u00fcrlich immer wieder Updates in das System, oder Sie ver\u00e4ndern eine Konfigurationsdatei &#8211; hier w\u00fcrde Tripwire sofort Alarm schlagen. Wir aktualisieren die Datenbank mittels:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tripwire --update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bei jedem Befehl mit Tripwire wird nat\u00fcrlich das daf\u00fcr angelegte Passwort abgefragt. Tripwire erfordert nat\u00fcrlich etwas Konfiguration &#8211; und auch bei \u00c4nderungen im System ein Update der Datenbank, aber sehr hohe Sicherheit erlangt man auch unter Linux nicht mit &#8222;<em>Hoffentlich passiert nichts<\/em>&#8222;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine weitere Dokumentation finden Sie unter <a rel=\"noreferrer noopener\" href=\"https:\/\/www.redhat.com\/sysadmin\/security-monitoring-tripwire\" target=\"_blank\">Red Hat<\/a>, sowie nat\u00fcrlich auf der Manpage mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>man tripwire<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Erstver\u00f6ffentlichung: Sa 27. Mai 2023, 17:36<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die meisten Linux-User kennen die Geschichte &#8211; am Linux-Desktop sind Virenscanner und Rootkit-J\u00e4ger so gut wie unn\u00f6tig. Am Server, der sieben Tage die Woche im Internet h\u00e4ngt, ist dies nat\u00fcrlich eine andere Geschichte. Solche Linux-Systeme sind auch f\u00fcr Kriminelle lohnende Ziele. Da man nicht den ganzen Tag den Server kontrollieren kann, hilft eine Einbruchserkennung um [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3125,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-3120","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/3120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=3120"}],"version-history":[{"count":3,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/3120\/revisions"}],"predecessor-version":[{"id":3163,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/3120\/revisions\/3163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/3125"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=3120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=3120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=3120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}