Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

23
Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen

Transcript of Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Page 1: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Tripwire & Co.

Überprüfung der Integrität von Dateien und Verzeichnissen

Page 2: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Was ist Tripwire?

• Tool zur Überwachung von Systemen• Sicherheit durch Bestandsaufnahme• Überprüfung der Dateiintegrität• Tripwire „guard the guards“• 2 Versionen:– GPL – General Public License– Kommerziell

Page 3: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Installation von Tripwire

• RPM, src und doc• Links zu finden unter– www.tripwire.org

• nach Paketinstallation…– anpassen von twcfg.txt (/etc/tripwire)– aufrufen von twinstall.sh (/etc/tripwire)– Erzeugung von site-key und local-key

Page 4: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Komponenten von Tripwire

• Konfigurationsdateien– twcfg.txt > tw.cfg

• Default Policy Datei– twpol.txt > tw.pol

• Datenbank Datei• Report Dateien• Verschlüsselungsdateien

Page 5: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Verschlüsselung

• Verwendung einer 1024-bit asymmetrischen Verschlüsselung (public & private key)

• site-key– Verschlüsselung von policy- und config-File

• local-key– Verschlüsselung der DB und report files

Page 6: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Tripwire Befehle

• tripwire– Datenbank initialisieren– Integrität überprüfen– Datenbank aktualisieren– Policy aktualisieren– Test

Page 7: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Tripwire Befehle

• twadmin– Konfigurationsdatei erzeugen– Konfigurationsdatei ausgeben– Policy-Datei erzeugen– Policy-Datei ausgeben– Schlüssel erzeugen

Page 8: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Tripwire Befehle

• twprint– Datenbank einsehen und ausgeben– Reportdateien einsehen und ausgeben

Page 9: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Funktionsweise

Page 10: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Die Default Policies

• Regeln• Haltepunkte• Attribute• Direktiven• Variablen• Kommentare• Beispiel– /temp -> $(ReadOnly); # Kommentar

Page 11: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regeln

• Allgemeiner Aufbau– object name -> property mask;

• Beispiele– /bin -> $(ReadOnly);– /etc/shadow -> $(IgnoreNone);

– /etc -> $(mask1); #mask1 is user defined– /etc/passwd -> $(mask2); #mask2 is user defined

• keine Rekursionen in versch. Partitionen– /usr -> +pinugsmc-a;– /usr/local -> +pinugsmc-a;

Page 12: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Property Masks

• Beschreiben Objekteigenschaften, die analysiert wreden sollen

• Übliche Syntax:– [+-][pinugtsldbamcrCMSH]

• keine leere Maske• + .. einschalten• - .. ausschalten

Page 13: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Property Masks - Beispiele

• +p+n+s # compare perm. numb.of links, and file size• +pns # same as above• pns # sane as above

• mask1 = +pinug; #define a variable called ‘mask1‘• /file -> $(mask1)-g # use ‘mask1‘ but turn off

# property g

Page 14: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Select Flags

Page 15: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Property mask Characters

• p .. file permissions• i .. inode number• n .. number on links• u .. user ID of owner• g .. group ID of owner• t .. file type• s .. file size• d .. device number• r .. device number

• b .. number of blocks• m .. modif. ts• c .. inode cr/mod ts• l .. file grows• a .. access ts• C .. CRC-32• M .. MD5• S .. SHA• H .. HAVAL

Page 16: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Haltepunkte

• ! object name;• Beispiel– /etc -> $(ReadOnly);– ! /etc/rc.d; # ignore– ! /etc/mnttab; # ignore

Page 17: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Vordefinierte Variablen

• ReadOnly– +pinugsmtdbCM-raclSH

• Dynamic– +pinugtd-rsacmblCMSH

• Growing– +pinugtdl-rsacmbCMSH

• IgnoreAll– -pinusgamctdrblCMSH

Page 18: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regelattribute

• object name -> property mask (attribute = value, attribute = value, …)

• /usr/lib -> $(ReadOnly) ([email protected])• (attribute=value){

rule 1;rule 2;

}• ([email protected]){

/usr/lib -> $(ReadOnly);}

Page 19: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regelattribute

• rulename• Beispiel– (rulename=“rcfiles“){/home/.login -> $(ReadOnly);/home/.cshrc -> $(ReadOnly);/home/.logout -> $(ReadOnly);}

– tripwire --check --rule-name “rcfiles“

Page 20: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regelattribute

• emailto• Beispiel– ([email protected];[email protected]){

/temp -> $(IgnoreAll);/payroll -> $(ReadOnly)

([email protected]);}

/projects -> $(ReadOnly) ([email protected]);

– tripwire –-check –-email-report

Page 21: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regelattribute

• severity• Beispiel– /usr/bin -> $(ReadOnly) (severity=90);

– /usr/lib -> $(ReadOnly) (severity=75);

• tripwire --check --severity=80

Page 22: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Regelattribute

• recurse• Werte: true, false, -1, 0, …, 1.000.000• Beispiel– /temp/dog -> $(ReadOnly) (recurse=2)– /temp/dog/shepherd wird gescannt– /temp/dog/shepherd/bark wird gescannt– /temp/dog/shepherd/bark/loudly.txt

wird nicht gescannt

Page 23: Tripwire & Co. Überprüfung der Integrität von Dateien und Verzeichnissen.

Automatisierte Prüfung

• Verwendung von cron• Eintrag in crontab– 0 3 * * * /usr/sbin/tripwire --check