Literaturwi.f4.htw-berlin.de/users/messer/LV/WI-WIS-SS20/Folien/...WIS – SS 2020 - Teil...

23
2 WIS – SS 2020 - Teil 10/Tripwire Literatur [10-1] http://de.wikipedia.org/wiki/Intrusion_Detection_System [10-2] http://www.searchsecurity.de/tipp/IDS-Anbieter-Intrusion-Detection- System-im-Ueberblick [10-3] http://www.linux-magazin.de/Ausgaben/2015/10/Host-Based-IDS [10-4] http://server1.sharewiz.net/doku.php? id=tripwire:verify_the_tripwire_configuration [10-5] https://www.oracle.com/technetwork/testcontent/linuxsckbk-ch01- 130383.pdf [10-6] https://docs.lib.purdue.edu/cgi/viewcontent.cgi?referer=https:// www.google.com/&httpsredir=1&article=2121&context=cstech [10-7] http://www.fis.unipr.it/pub/linux/redhat/9++/en/doc/RH-DOCS/rhl-rg-de- 9/ch-tripwire.html [10-8] https://docs.lib.purdue.edu/cgi/viewcontent.cgi? article=2083&context=cstech [10-9] https://www.commoncriteriaportal.org/files/epfiles/st_vid10124-st.pdf https://www.commoncriteriaportal.org/files/epfiles/st_vid10462-st.pdf

Transcript of Literaturwi.f4.htw-berlin.de/users/messer/LV/WI-WIS-SS20/Folien/...WIS – SS 2020 - Teil...

  • 2WIS – SS 2020 - Teil 10/Tripwire

    Literatur

    [10-1] http://de.wikipedia.org/wiki/Intrusion_Detection_System

    [10-2] http://www.searchsecurity.de/tipp/IDS-Anbieter-Intrusion-Detection-System-im-Ueberblick

    [10-3] http://www.linux-magazin.de/Ausgaben/2015/10/Host-Based-IDS

    [10-4] http://server1.sharewiz.net/doku.php?id=tripwire:verify_the_tripwire_configuration

    [10-5] https://www.oracle.com/technetwork/testcontent/linuxsckbk-ch01-130383.pdf

    [10-6] https://docs.lib.purdue.edu/cgi/viewcontent.cgi?referer=https://www.google.com/&httpsredir=1&article=2121&context=cstech

    [10-7] http://www.fis.unipr.it/pub/linux/redhat/9++/en/doc/RH-DOCS/rhl-rg-de-9/ch-tripwire.html

    [10-8] https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=2083&context=cstech

    [10-9] https://www.commoncriteriaportal.org/files/epfiles/st_vid10124-st.pdf https://www.commoncriteriaportal.org/files/epfiles/st_vid10462-st.pdf

  • 3WIS – SS 2020 - Teil 10/Tripwire

    Tripwire 2.4.3.7

    � 1992 an der Purdue University entwickelt

    � Der Klassiker unter den Host-basierten IDS

    � Kommerzielle Version:http://www.tripwire.orghttp://www.tripwire.com

    � Offene Version– https://github.com/Tripwire/tripwire-open-source/releases

    Version 2.4.3.7 (April 2020)

    4WIS – SS 2020 - Teil 10/Tripwire

    Aufbau

    � Aufbau– Zwei Konfigurationsdateien

    Konfiguration: twcfg.txtPolicy: twpol.txtjeweils in ASCII und verschlüsselter Form

    – DatenbankOrt und weitere Parameter in twcfg.txt festgelegt

    – Vier Programme: tripwire, twadmin, twprint, siggen

    � Dateien werden mit einem Schlüssel unterschrieben und verschlüsselt (El Gamal, 1024 bit).

  • 5WIS – SS 2020 - Teil 10/Tripwire

    Installation I

    � Als RPM:– rpm -ivh tripwire-2.4.3.7-5.el8.src.rpm

    – rpm -ivh tripwire-2.4.3.7-5.el8.x86_64.rpm

    � Es sollte von den Quellen übersetzt und installiert werden.

    � Quellen (github): tripwire-open-source-2.4.3.7.tar.gz

    � Installation

    � Alle Programme sollten statisch gebunden werden. Dies ist aber unter CentOS 8.* leider nicht der Fall.

    tar zxf tripwire-open-source-2.4.3.7.tar.gzcd tripwire-open-source-2.4.3.7./configuremakemake installmake clean

    6WIS – SS 2020 - Teil 10/Tripwire

    Installation II – make install

    Using configuration file ./installer/install.cfgChecking for programs specified in install configuration file..../usr/sbin/sendmail -oi -t exists. Continuing installation./bin/vi exists. Continuing installation.

    ...

    This program will copy Tripwire files to the following directories:

    TWBIN: /usr/local/sbin TWMAN: /usr/local/man TWPOLICY: /usr/local/etc TWREPORT: /usr/local/lib/tripwire/report TWDB: /usr/local/lib/tripwire TWSITEKEYDIR: /usr/local/etcTWLOCALKEYDIR: /usr/local/etc

    Im Ordner /usr/local/etc stehen dann die Dateien zur Konfiguration.

  • 7WIS – SS 2020 - Teil 10/Tripwire

    Installation III – make install

    Copying files...

    /usr/local/doc/tripwire/COPYING: copied/usr/local/sbin/tripwire: copied/usr/local/sbin/twadmin: copied/usr/local/sbin/twprint: copied/usr/local/sbin/siggen: copied/usr/local/doc/tripwire/TRADEMARK: copied/usr/local/doc/tripwire/policyguide.txt: copied/usr/local/etc/twpol-Linux.txt: copied/usr/local/doc/tripwire/COMMERCIAL: copied/usr/local/doc/tripwire/ReadMe-2.4.3: copied/usr/local/doc/tripwire/ChangeLog: copied

    [root@student etc]# llinsgesamt 44-rw-r-----. 1 root root 931 24. Okt 13:25 site.key-rw-r-----. 1 root root 931 24. Okt 13:26 student-local.key-rw-r-----. 1 root root 4586 24. Okt 13:29 tw.cfg-rw-r-----. 1 root root 502 24. Okt 13:29 twcfg.txt-rw-r-----. 1 root root 4159 24. Okt 13:29 tw.pol-rw-r-----. 1 root root 14217 24. Okt 13:29 twpol.txt[root@student etc]#

    Ordner /usr/local/etc

    8WIS – SS 2020 - Teil 10/Tripwire

    Installation IV – make install

    Creating key files...

    (When selecting a passphrase, keep in mind that good passphrases ...have upper and lower case letters, digits and punctuation marks, ...at least 8 characters in length.)

    Enter the site keyfile passphrase:Verify the site keyfile passphrase:Generating key (this may take several minutes)...Key generation ...

    (When selecting a passphrase, keep in mind that good passphrases ...have upper and lower case letters, digits and punctuation marks, and ...at least 8 characters in length.)

    Enter the local keyfile passphrase:Verify the local keyfile passphrase:Generating key (this may take several minutes)...Key generation ...

    Als Teil der Installation werden die beiden Passphrasen definiert.

  • 9WIS – SS 2020 - Teil 10/Tripwire

    Installation V – make install

    ----------------------------------------------Generating Tripwire configuration file...

    ----------------------------------------------Creating signed configuration file...Please enter your site passphrase: Wrote configuration file: /usr/local/etc/tw.cfg

    A clear-text version of the Tripwire configuration file/usr/local/etc/twcfg.txthas been preserved for your inspection. It is recommendedthat you delete this file manually after you have examined it....

    � Als Letztes werden die Konfigurationsdateien generiert.

    � Die unverschlüsselten Versionen sollten nach Verschlüsselung gelöscht werden.

    10WIS – SS 2020 - Teil 10/Tripwire

    Datei twcfg.txt

    [root@student etc]# more twcfg.txt ROOT =/usr/local/sbinPOLFILE =/usr/local/etc/tw.polDBFILE =/usr/local/lib/tripwire/$(HOSTNAME).twdREPORTFILE =/usr/local/lib/tripwire/report/$(HOSTNAME)-$(DATE).twrSITEKEYFILE =/usr/local/etc/site.keyLOCALKEYFILE =/usr/local/etc/student-local.keyEDITOR =/bin/viLATEPROMPTING =falseLOOSEDIRECTORYCHECKING =falseMAILNOVIOLATIONS =trueEMAILREPORTLEVEL =3REPORTLEVEL =3MAILMETHOD =SENDMAILSYSLOGREPORTING =falseMAILPROGRAM =/usr/sbin/sendmail -oi -t[root@student etc]#

    � Datei twcfg.txt ansehen und sich die Dateinamen samt Pfad merken bzw. ändern (am besten alles lassen).

  • 11WIS – SS 2020 - Teil 10/Tripwire

    Konfigurationsmöglichkeiten

    Variablen Beispielwert Erläuterung

    MAILMETHOD sendmail

    MAILPROGRAM /usr/lib/sendmail -oi -t

    MAILNOVIOLATIONS true Mail auch dann, wenn keineProbleme festgestellt werden

    Von der letzten Möglichkeit sollte Gebrauch gemacht werden, dadann immer extern festgestellt werden kann, dass tripwiretatsächlich aktiv war....

    12WIS – SS 2020 - Teil 10/Tripwire

    Installation VI - twpol.txt

    � Policy-Datei twpol.txt erstellen und dabei sich an die mitgelieferte Beispieldatei halten

    � Folgendes sollte beachtet werden:– Dateien, die sich "natürlicherweise" ändern, sollten aus der

    Überwachung herausgenommen werden:Beispiele in /etc:/etc/fstab, /etc/mount

    – Für jede Datei darf maximal nur eine Regel zutreffen, ansonsten arbeitet tripwire recht instabil.Das führt aber dazu, dass viele Regeln erstellt werden müssen, um bestimmte Ausnahmen modellieren zu können.

  • 13WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Einfachster Fall I

    � Jede Regel endet mit einem Semikolon.

    � Objekt ist– Unterbaum mit rekursiven Ordnern innerhalb des Dateisystems

    von Objekt, d.h. das Dateisystem wird nicht verlassen

    – Datei

    – Makros als Kürzel

    � Eigenschaften (zu überprüfen):– Makros als Kürzel

    – Explizite Angabe

    Regelaufbau:

    Objekt -> Eigenschaften;

    14WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Einfachster Fall II (Auszug)

    Eigenschaft Erläuterung

    p Dateirechte (Permissions)

    i Inodenummer

    n Anzahl der harten Links (Referenzzähler)

    u User-ID

    g Group-ID

    t Typ der Datei

    s Größe der Datei

    d Gerätenummer, auf welche die Inodes liegen

    r Gerätenummer, auf welche die Inodes zeigen

    b Anzahl der allokatierten Blöcke

    m Zeitpunkt der Modifikation

    c Zeitpunkt der Erstellung

    M MD5-Summe

    S SHA-1-Summe

  • 15WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Einfachster Fall III

    Makroname Inhalt Erläuterung

    $(SEC_READONLY) +pinugtsdbmCM-rlacSH

    $(SEC_DYNAMIC) +pinugtd-srlbamcCMSH Häufige Änderungen

    $(SEC_GROWING) +pinugtdl-srbamcCMSH Für Logfiles ohne Rotate

    $(SEC_IGNORE_ALL) -pinugtsdrlbamcCMSH Nur Existenz der Datei

    $(SEC_IGNORE_NONE) +pinugtsdrbamcCMSH-l Alles wird überwacht

    $(SEC_DEVICE) +pugsdr-intlbamcCMSH Für Gerätedateien

    $(SEC_TEMPORARY) +pugt

    Hinweise:

    � In den Makros/Variablen dürfen keine Operatoren benutzt werden.

    � Siehe– https://www-uxsup.csx.cam.ac.uk/pub/doc/redhat/redhat7.3/rhl-

    rg-en-7.3/ch-tripwire.html

    – https://linux.die.net/man/4/twpolicy

    16WIS – SS 2020 - Teil 10/Tripwire

    Beispiele

    # Beispiel 1User = /home;Lesend = +pinugtsM;#/etc -> $(Lesend);$(User) -> $(Lesend)-M+S;

    # Beispiel 2#/etc -> $(SEC_READONLY);/var -> $(SEC_DYNAMIC);

    Beispiel für eigene Makros

    Beispiel für vordefinierte Makros

  • 17WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Zusammenfassungen

    (Attribut1=Wert1, Attribut2=Wert2,...){Objekt1 -> Eigenschaften1;Objekt2 -> Eigenschaften2;...}

    Attribute Erläuterung

    rulename Definition eines Namens für den Regelblock

    emailto Mailadressen für den Regelblock

    severity Hinter jeder Regel wird eine Wichtigkeitsnummer angefügt, die per Parameter bei tripwire ausgewählt werden kann

    recurse Begrenzung der Rekursionstiefe

    18WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Attribute I

    Die Attribute können auch in der Regel stehen, z.B.:

    /etc -> $(SEC_READONLY) ([email protected]);

    /tmp -> $(SEC_IGNORE_ALL) (recurse=0);

    Wert Erläuterung

    -1 Beliebig tief

    0 keine Rekursion

    N Rekursion bis zum N. geschachtelten Verzeichnis

    Werte für recurse:

  • 19WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Attribute II

    Stufe Wert

    Low 33

    Medium 66

    High 100

    Wichtigkeit (severity) ist in drei Stufen geteilt:

    Bei einer Prüfung wird ein Wert angegeben, wobei alle Regelnmit einem Wichtigkeitsgrad größer als dieser geprüft werden.Default für diesen Wert ist -1, das bedeutet: alles wird geprüft.

    20WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - Stop Points

    � Ein Stop Point ist ein Objekt, das eine rekursive Prüfung an dieser Stelle abbricht.

    � Das Objekt sowie der mögliche daran hängende Unterbaum werden dann nicht geprüft. Wenn Teile dieses Unterbaum trotzdem geprüft werden sollen, dann sind weitere Regeln erforderlich.

    � Beispiel:

    /etc -> $(SEC_READONLY);!/etc/fstab;!/etc/mount;

  • 21WIS – SS 2020 - Teil 10/Tripwire

    Richtlinien - IF-Bedingungen

    In einem sehr eingeschränkten Maße können IF-Bedingungenbenutzt werden:

    @@ifhost Name/var -> $(SEC_DYNAMIC);

    @@else/var -> $(SEC_GROWING);

    @@endif

    Dies dient dazu ähnliche Policy-Dateien für verschiedene Systemezusammenfassen zu können.

    Weiterhin gibt es noch die @@print-Direktive zum Erzeugen vonStandard-Output und die @@end-Direktive zur Beendigung aller Regeln.

    22WIS – SS 2020 - Teil 10/Tripwire

    Installation IV

    � Erzeugen zweier Schlüssel anhand von Passphrasen(bis zu 255 Zeichen):– Site-key

    dient zum Signieren und Verschlüsseln des Policy Files und der Berichtetwadmin --generate-keys -S SiteKeyFILE

    – Local-keydient zum Signieren und Verschlüsseln der Konfigurationsdatei und der Datenbanktwadmin --generate-keys -L LocalKeyFILE

    Beispiel

    twadmin --generate-keys -S /usr/local/etc/site.key

    twadmin --generate-keys -L /usr/local/etc/student-local.key

    Die Dateinamen für die Schlüssel wurden in twcfg.txt definiert.

  • 23WIS – SS 2020 - Teil 10/Tripwire

    Bemerkungen

    � Der Site-Key kann für mehrere Maschinen verwendet werden, so dass zentral mit einem Key die Policy-Dateien verwaltet werden können.

    � Der Local-Key gilt immer nur für eine Maschine.

    24WIS – SS 2020 - Teil 10/Tripwire

    Installation V

    twadmin --create-cfgfile -c /usr/local/etc/tw.cfg -S /usr/local/etc/site.key /usr/local/etc/twcfg.txt

    Nun wird die Konfigurationsdatei verschlüsselt und unterschrieben:

    Dann die Policy-Datei:

    twadmin --create-polfile -c /usr/local/etc/tw.cfg -S /usr/local/etc/site.key -p /usr/local/etc/tw.pol /usr/local/etc/twpol.txt

  • 25WIS – SS 2020 - Teil 10/Tripwire

    Erzeugen der Datenbank:

    tripwire --init -c /usr/local/etc/tw.cfg -S /usr/local/etc/site.key

    Name der Datenbank: /usr/local/lib/tripwire/student.twd oderentsprechend der Konfigurationsdatei

    Installation VI

    [root@student etc]# tripwire --init -c /usr/local/etc/tw.cfg -S ....Please enter your local passphrase: Parsing policy file: /usr/local/etc/tw.polGenerating the database...*** Processing Unix File System ***The object: "/media/sf_Shared" is on a different file system...ignoring.The object: "/misc" is on a different file system...ignoring.The object: "/net" is on a different file system...ignoring.The object: "/selinux" is on a different file system...ignoring.The object: "/sys" is on a different file system...ignoring.

    Beispiel für Output

    26WIS – SS 2020 - Teil 10/Tripwire

    Erster manueller Prüflauf:

    tripwire --check -c /usr/local/etc/tw.cfg -M

    Die Option M führt zum Absenden von Email (als Test).

    Erster manueller Lauf I

    Beginning email reporting...No email recipients specified, no email sent.

    Wrote report file: /usr/local/lib/tripwire/report/student-20181101-173511.twr

    Inzwischen ist schon etwas passiert, z.B. wurden Dateien aus /etc mit touch "bearbeitet". Dann kann dies mit einem Prüflauf festgestellt werden.

  • 27WIS – SS 2020 - Teil 10/Tripwire

    Erster manueller Lauf II - Report

    Open Source Tripwire(R) 2.4.3.7 Integrity Check Report

    Report generated by: rootReport created on: Do 01 Nov 2018 17:35:11 CETDatabase last updated on: Never

    ===========================================================================Report Summary:===========================================================================

    Host name: studentHost IP address: 127.0.0.1Host ID: NonePolicy file used: /usr/local/etc/tw.polConfiguration file used: /usr/local/etc/tw.cfgDatabase file used: /usr/local/lib/tripwire/student.twdCommand line used: tripwire --check -c /usr/local/etc/tw.cfg -M

    28WIS – SS 2020 - Teil 10/Tripwire

    Erster manueller Lauf III - Report

    ===============================================================================Rule Summary: ===============================================================================------------------------------------------------------------------------------- Section: Unix File System------------------------------------------------------------------------------- Rule Name Severity Level Added Removed Modified --------- -------------- ----- ------- -------- * Tripwire Data Files 0 1 0 0 * Monitor Filesystems 0 0 0 3 User Binaries and Libraries 0 0 0 0 Tripwire Binaries 0 0 0 0 OS Binaries and Libraries 0 0 0 0 Temporary Directories 0 0 0 0 * Global Configuration Files 0 0 0 6 * System Boot Changes 0 0 2 0 RPM Checksum Files 0 0 0 0 OS Devices and Misc Directories 0 0 0 0 OS Boot Files and Mount Points 0 0 0 0 * Root Directory and Files 0 0 0 4

    Total objects scanned: 342239Total violations found: 16

  • 29WIS – SS 2020 - Teil 10/Tripwire

    Erster manueller Lauf IV - Report

    ===========================================================================Object Summary: ===========================================================================---------------------------------------------------------------------------# Section: Unix File System------------------------------------------------------------------------------------------------------------------------------------------------------Rule Name: Tripwire Data Files (/usr/local/lib/tripwire)Severity Level: 0---------------------------------------------------------------------------Added:"/usr/local/lib/tripwire/student.twd"---------------------------------------------------------------------------Rule Name: Global Configuration Files (/etc)Severity Level: 0---------------------------------------------------------------------------Modified:"/etc/subversion""/etc/sudo-ldap.conf""/etc/sudo.conf""/etc/sudoers""/etc/sudoers.d""/etc/sudoers.rpmnew"

    30WIS – SS 2020 - Teil 10/Tripwire

    Prüfläufe

    Prüflauf im Hintergrund mit /etc/cron gesteuert:

    tripwire --check -c /usr/local/etc/tw.cfg

    Interaktiver Prüflauf mit anschließender Update-Möglichkeit:

    tripwire --check -c /usr/local/etc/tw.cfg –interactive

    Es wird ein Report erzeugt, der in den Editor vi geladen wird. Nach Abspeichern werden alle selektierten Änderungen akzeptiert.

  • 31WIS – SS 2020 - Teil 10/Tripwire

    Update der Datenbank anhand eines Berichts

    tripwire --update -c /usr/local/etc/tw.cfg -r /usr/local/lib/tripwire/report/port.twr

    Aktualisierung nach Änderung der Policies:

    tripwire --update-policy /usr/local/etc/twpol.txt

    Es wird die Policy-Datei verschlüsselt und die Datenbank aktualisiert.

    Rekonstruktion der Policy-Datei

    twadmin --print-polfile -polfile /usr/local/etc/twpol.pol

    Update und Rekonstruktion

    32WIS – SS 2020 - Teil 10/Tripwire

    Konfigurationsdatei und EMail

    Rekonstruktion der verschlüsselten cfg-Datei

    twadmin --print-cfgfile --cfgfile File.cfg

    Konvertierung der ASCII-Datei zur verschlüsselten cfg-Datei

    twadmin --create-cfgfile File.txt

    Testet das Versenden eines Berichts an die Email-Adresse

    tripwire --test --email Email-Adresse

  • 33WIS – SS 2020 - Teil 10/Tripwire

    Ausgabe der Datenbank:

    twprint --print-dbfile

    Ausgabe eines bestehenden Reports mit (geänderten) Level

    twprint --print-report -r report.twr --report-level X

    Berichte

    34WIS – SS 2020 - Teil 10/Tripwire

    Hinweise

    � Die ASCII-Versionen der Konfigurationsdatei und der Policy-Datei müssen gelöscht werden (jederzeit rekonstruierbar).

    � Tripwire setzt initial einen sicheren Zustand voraus.

    � Alle drei wichtigen Dateien (pol-/cfg- und Datenbank) sollten auf ein extra Medium schreibgeschützt kopiert werden.

    � Beispiel: Diese drei Dateien auf CD brennen und per mount benutzen. Dies hat den Nachteil, dass nicht sichergestellt werden kann, dass auch wirklich die CD-Version benutzt wird.

    � Einen weiteren Stolperdraht aufspannen: Mit Absicht eine zufällige Verletzung produzieren. Wenn plötzlich Tripwire diese nicht mehr meldet....

  • 35WIS – SS 2020 - Teil 10/Tripwire

    Interaktiver Prüflauf I

    ---------------------------------------------------------------------Rule Name: Tripwire Data Files (/usr/local/lib/tripwire)Severity Level: 0---------------------------------------------------------------------Remove the "x" from the adjacent box to prevent updating the databasewith the new values for this object.Added:[x] "/usr/local/lib/tripwire/student.twd"...Remove the "x" from the adjacent box to prevent updating the databasewith the new values for this object.

    Modified:[x] "/etc"[x] "/etc/resolv.conf"[x] "/etc/subversion"[x] "/etc/sudo-ldap.conf"...

    tripwire --check -c /usr/local/etc/tw.cfg --interactive

    36WIS – SS 2020 - Teil 10/Tripwire

    Interaktiver Prüflauf II - Fortsetzung

    ---------------------------------------- Added Objects: 1 ----------------------------------------

    Added object name: /usr/local/lib/tripwire/student.twd

    Property: Expected Observed ------------- ----------- -----------* Object Type --- Regular File* Device Number --- 2049* Mode --- -rw-r--r--* Num Links --- 1* UID --- root (0)* GID --- root (0)

  • 37WIS – SS 2020 - Teil 10/Tripwire

    Interaktiver Prüflauf III - Fortsetzung

    Modified object name: /etc/resolv.conf

    Property: Expected Observed ------------- ----------- ----------- Object Type Regular File Regular File Device Number 2049 2049 File Device Number 0 0 Inode Number 726546 726546 Mode -rw-r--r-- -rw-r--r-- Num Links 1 1 UID root (0) root (0) GID root (0) root (0)* Size 89 54* Modify Time Di 18 Sep 2018 21:39:24 Fr 02 Nov 2018 13:53:01* Change Time Di 18 Sep 2018 21:39:24 Fr 02 Nov 2018 13:53:01 Blocks 8 8* CRC32 BAs+uM CDdIy8* MD5 DI1m2WT2LLJQSYi/kGPNIv B7ufUlywdaBGw6N7pAu6S7

    38WIS – SS 2020 - Teil 10/Tripwire

    Interaktiver Prüflauf IV

    Remove the "x" from the adjacent box to prevent updating thedatabase with the new values for this object.

    � Es muss dann einzeln durch die Dateien gegangen und geprüft werden, ob diese Änderungen in Ordnung sind.

    � Das bedeutet aber auch, dass vor einer Installation bzw. einem Update ein eigener Prüflauf gemacht werden muss.

    � Dann wird aktualisiert, dann ein weiterer Lauf.

    � Dann wird neue Software installiert, dann ein weiterer Lauf.

    � Wenn diese Dinge gemischt werden, ist unklar, aus welchen Quellen die Änderungen kommen.

    Integrity check complete.Please enter your local passphrase: Wrote database file: /usr/local/lib/tripwire/student.twd[root@student etc]#

  • 39WIS – SS 2020 - Teil 10/Tripwire

    Manual-Seiten

    TRIPWIRE(8) NAME tripwire - a file integrity checker for UNIX-like systems

    SYNOPSIS tripwire { -m i | --init } [ options... ] tripwire { -m c | --check } [ options... ] [ object1 [ object2... ]] tripwire { -m u | --update } [ options... ] tripwire { -m p | --update-policy } [ options... ] policyfile.txt tripwire { -m t | --test } [ options... ]

    DESCRIPTION Database Initialization Mode Running tripwire in Database Initialization mode is ......

    man tripwire

    Auch: "man twconfig" und "man twpolicy"

    40WIS – SS 2020 - Teil 10/Tripwire

    Deinstallation

    � Es werden allerdings nicht alle installierten Dateien gelöscht.

    � Z.B. bleiben die Konfigurationsdateien übrig. Diese können mit den folgenden Kommandos gelöscht werden:

    � Das setzt allerdings voraus, dass die oben angegebenen Defaultwerte aus twcfg.txt benutzt werden.

    make uninstall

    rm -f /usr/local/etc/*.key /usr/local/etc/tw*rm -rf /usr/local/lib/tripwire/

  • 41WIS – SS 2020 - Teil 10/Tripwire

    Optimierungen I

    � Es sollen auch montierte Dateisysteme geprüft werden.

    � Rekonstruktion der (vorher gelöschten) Konfigurationsdateitwadmin --print-cfgfile > /usr/local/etc/twcfg.txt

    � Dazu muss in der Konfigurationsdatei eine Option gesetzt werden:

    CROSSFILESYSTEMS =true

    � Danach muss die neue Konfigurationsdatei verschlüsselt werden:twadmin --create-cfgfile -c /usr/local/etc/tw.cfg -S /usr/local/etc/site.key /usr/local/etc/twcfg.txt

    The object: "/media/sf_Shared" is on a different file system...ignoring.The object: "/misc" is on a different file system...ignoring.The object: "/net" is on a different file system...ignoring.The object: "/selinux" is on a different file system...ignoring.The object: "/sys" is on a different file system...ignoring.

    Meldungen dieser Art beseitigen:

    42WIS – SS 2020 - Teil 10/Tripwire

    Optimierungen II - policy

    � Folgende Dateisysteme sollten ausgeschlossen werden:– /proc

    – /sysfs

    – /media – Vorsicht!! Hier werden fremde Medien montiert; dies nicht zu prüfen bedeutet, dass hier fremde Dateien unbemerkt abgelegt werden können.

    577. File system error. Filename: /cdrom Datei oder Verzeichnis nicht gefunden578. File system error. Filename: /floppy Datei oder Verzeichnis nicht gefunden579. File system error. Filename: /initrd Datei oder Verzeichnis nicht gefunden

    Meldungen dieser Art beseitigen:

  • 43WIS – SS 2020 - Teil 10/Tripwire

    Optimierungen III - policy

    � Rekonstruktion der Policy-Datei

    twadmin --print-polfile >/usr/local/etc/twpol.txt

    � Editieren der Policy-Datei

    � Aktualisieren der verschlüsselten Policy-Datei und Datenbank

    tripwire --update-policy /usr/local/etc/twpol.txt

    � Das geht nur, wenn sich inzwischen nichts geändert hat.

    � Falls doch, dann hilft nur nach manuellem Prüfen:

    tripwire --init -c /usr/local/etc/tw.cfg -S /usr/local/etc/site.key

    [root@student etc]# tripwire --update-policy /usr/local/etc/twpol.txtParsing policy file: /usr/local/etc/twpol.txtPlease enter your local passphrase: Please enter your site passphrase: ======== Policy Update: Processing section Unix File System.======== Step 1: Gathering information for the new policy....

    44WIS – SS 2020 - Teil 10/Tripwire

    Weitere HIDS

    Name Version URL

    AIDE 0.16.2 https://github.com/aide/aide

    fwlogwatch 1.5 http://fwlogwatch.inside-security.de/

    logwatch 7.5.3 http://sourceforge.net/projects/logwatch/files

    fcheck 2.07 http://www.tucows.com/preview/51638/FCheck

    integrit 4.2 http://integrit.sourceforge.net/texinfo/integrit.html https://github.com/integrit/integrit

    afick 3.6.1 http://sourceforge.net/projects/afick/

    Samhain 4.4.1 http://la-samhna.de/samhain/

    osiris http://www.securityfocus.com/excerpts/16 https://packetstormsecurity.com/files/10678/osiris-1.2.0.tar.gz.html

  • 45WIS – SS 2020 - Teil 10/Tripwire

    Nun wieder etwas entspannen...