Home
KAPITEL 16 Wie sorge ich dafür, daß meine Firewall sicher bleibt?
Contents
1. VERSION 2 0 BANNER e Hilfsroutinen Eine Ausgaberoutine die auf stderr schreibt echo2 echo gt proc self fd 2 Fehlermeldung junk echo2 ERROR could not process Eine Routine um alle Dateien aufzuz ahlen listfiles Checksummer 461 462 firewall 2006 1 4 15 26 page 462 481 Programmverzeichnisse echo2 Programmverzeichnisse for d in STATICDIRS do if d d then echo2 e tVerarbeite d find d mount type f print junk d else echo2 e tLasse d aus es existiert nicht fi done HOME echo2 Home Verzeichnisse for d in HOMEDIRS do Konfigurationsdateien der Shells for f in SHELLFILES do test f d f 88 echo d f done done Dateien unter echo2 Dateien unter for f in ROOTFILES do test f f 88 echo f done Chroot K afige echo2 Chroot Verzeichnisse for d in CHROOTDIRS do if d d then cmd find d mount for p in CHROOTPRUNE do if d d p then cmd cmd path d p prune o fi done cmd cmd type f print cmd else echo2 e tLasse d aus es existiert nicht fi done Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 463 482 Eine Routine um C
2. Zeilen die sich nur in Datum und Uhrzeit unterscheiden unterdr cken und z hlen simple uniq local month local day local time local whatever local host local proc local lastwhatever local lastdate local multiple local times lastwhatever lastdate Xyz 00 00 00 00 multiple no times 0 while read month day time host proc whatever do if test lastwhatever whatever then multiple yes times times 1 lastdate month day time Auswerten der Systemprotokolle 511 firewall 2006 1 4 15 26 page 512 531 else lastwhatever whatever case multiple in yes multiple no echo lastdate host glmesg times mal wiederholt times 0 esac echo month day time host proc whatever fi done Diese Funktion ist allerdings nur bedingt brauchbar wenn es um Eintr ge der Paketfil ter geht Jedes IP Paket hat eine eindeutige Identifikationsnummer Daher werden auch zwei aufeinanderfolgende Pakete vom gleichen Sender an denselben Zielport zwei unter schiedliche Eintr ge erzeugen Unser endg ltiges Skript wird daher noch eine Prozedur fw_uniq enthalten die bei Protokollmeldungen von ipchains nur Chain Aktion Proto koll Quelle und Ziel beachtet Bevor wir aber nun beginnen unser Skript zusammenzusetzen hier noch eine Funkti on die die numerischen Angaben des Protokolls TCP 6 UDP 17 ICMP 1 bei der Ver
3. mkdir mnt boot mount mnt boot dev hda1l Haben wir unser Backup auf eine CD ROM gebrannt so m ssen wir diese jetzt moun ten Hier h ngt unser Laufwerk als Master am zweiten IDE Controller mount dev hdc cdrom 498 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 499 518 Pa te unser Backup auf eine CD so k nnen wir das Archiv direkt auf der CD benut zen War dies nicht der Fall so m ssen wir erst die einzelnen Teile des Archivs wieder zusammenf gen cat cdrom Backup 20020324 tar gz aa gt gt mnt backup Backup 20020324 tar gz umount cdrom mount dev hdc cdrom cat cdrom Backup 20020324 tar gz ab gt gt gt mnt backup Backup 20020324 tar gz umount cdrom Bitte achten Sie dabei darauf bei den nachfolgenden Archivfragmenten unbedingt die Ausgabe mit gt gt anh ngen statt mit gt berschreiben umzulenken Im folgenden soll aber davon ausgegangen werden da wir das Backup dank Kompressi on auf einer CD untergebracht haben Wenn dies bei Ihnen nicht der Fall ist so m ssen Sie in der folgenden Darstellung den Pfad cdrom durch mnt backup ersetzen Beim Wiederherstellen von Dateien aus dem Archiv gilt es zu beachten da viele Ret tungssysteme nicht das normale GNU tar benutzen sondern ein spezielles Programm das deutlich weniger Platz ben tigt Dieses kennt auch deutlich weniger Opti
4. bin sh HAHA HAHAHA HAHAHAHA HAHAHAHA HAHAHA HAHAHAHA HHH HAHAHA HAHAHAHA Checksummer Dieses Skript gibt Pr ufsummen voreingestellter Dateien aus Copyright C 2003 Andreas G Lessig Lizenz GPL v2 oder h ohere Version AHA HHH HAHAHAHA HAHAHAHA HEHEHEHE Variablen ggf anpassen Wurzelverzeichnis Rat Benutzerverzeichnisse HOMEDIRS R root R home Konfigurationsdateien der Shells SHELLFILES bashrc bash_login bash_logout bash_profile cshrc exrc login rhosts tcshre profile Verzeichnisse mit statischem Inhalt STATICDIRS R bin R boot R etc R sbin R lib R opt R usr R var cron 460 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 461 480 for d in HOMEDIRS do if d d bin then STATICDIRS STATICDIRS d bin fi done Dateien in ROOTFILES R Chroot K afige Chroot Verzeichnisse CHROOTDIRS R var ftp proxy rundir R var lib ftp proxy rundir R var named R var lib named R var privoxy R var lib privoxy Unterverzeichnisse die nicht untersucht werden CHROOTPRUNE log var log run var run Copyright Meldung
5. tripwire check 480 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 481 500 Dieser Befehl gibt einen umfangreichen Bericht aus Der Vorgang dauert recht lange Sollten Sie also vergessen haben die Ausgabe in eine Datei oder ein Programm wie less umzuleiten werden Sie den Befehl nicht unbedingt wiederholen wollen Dies ist aber auch nicht n tig Normalerweise wird ein Bericht mit dem Namen varllib tripwire report lt Rechner gt lt Datum gt twr angelegt Dabei handelt es sich um eine Bin rdatei die mit twprint print report twrfile lt Bericht gt in einem lesbaren Format ausgegeben werden kann Stellt Tripwire nun Ver nderungen am System fest so sollten Sie sich folgende Fragen stellen 1 Sind die nderungen mit den dokumentierten Arbeiten am System konsistent oder handelt es sich um den Hinweis auf einen Angriff 2 Sind die nderungen legal und so gravierend da ich auch meine Policy berdenken mu Handelt es sich nicht um einen Angriff so werden Sie wahrscheinlich Ihre Datenbank auf den neuesten Stand bringen wollen indem Sie den Befehl tripwire update twrfile lt Bericht gt ausf hren Dieser zeigt Ihnen noch einmal den Bericht Sie k nnen nun ausw hlen wel che nderungen Sie in die Datenbank bernehmen wollen Verwendet wird dazu der Editor der in der Konfigurationsdatei eingetragen ist Vorgabe vi Das
6. 15 26 page 500 519 pwd mnt gunzip c cdrom Backup 20020324 tar gz gt tar xvf etc passwd etc shadow etc group etc gshadow Tar blocksize 20 x etc group 465 bytes 1 tape blocks x etc passwd 768 bytes 2 tape blocks x etc shadow 656 bytes 2 tape blocks x etc gshadow 386 bytes 1 tape blocks cp etc etc Nun k nnen wir mit dem eigentlichen Wiederherstellen des Systems beginnen gunzip c cdrom Backup 20020324 tar gz gt tar xvf Tar blocksize 20 tar No such file or directory x boot kernel h 2 4 0 O bytes 0 tape blocks x boot kernel h symbolic link to kernel h 2 2 16 x boot System map 2 2 16 22 200285 bytes 392 tape blocks x boot module info 2 2 16 22 11773 bytes 23 tape blocks Nun sind alle Dateien wiederhergestellt Jetzt m ssen wir nur noch lilo im MBR der Festplatte installieren damit beim n chsten Einschalten des Rechners auch unser wie derhergestelltes System gestartet wird Dabei m ssen wir beachten da wir den lilo des wiederhergestellten Systems nicht einen eventuell im Rettungssystem vorhandenen lilo verwenden m ssen Dies liegt daran da die Dateien unter boot nur mit jeweils einer Version von lilo funktionieren Verwendet man die falsche Version wird das System nicht booten Um dieses Problem zu l sen verwenden wir das Programm chroot Dieses f hrt einen Befehl mit einem neuen Wurzelverzeichnis aus D h es t tigt zuerst einen Betriebssy st
7. Regeln 478 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 479 498 rulename Temp Dirs tmp I var usr tmp RO bcdgimnpstuHMS DEV dgprstu DEVDYN drst ulename Temp Dirs proc tmp var usr tmp cdrom tloppy etc mtab r A lost found l rulename Programs bin gt RO boot gt RO etc gt RO lib gt RO sbin gt RO usr gt RO root bin gt RO root bashrc gt RO root bash_ login gt RO root bash_logout gt RO root bash_profile gt RO root cshrc gt RO root exrc gt RO root login gt RO root profile gt RO root rhosts gt RO root teshrc gt RO opt gt RO Checksummer Eine vollst ndige Liste der Eigenschaften finden Sie unter man twpolicy Eine wichtige Eigenschaft ist rulename Diese erlaubt es einen Namen f r die Regeln festzulegen der bei Verst en mit ausgegeben wird Damit haben wir die wichtigsten Elemente in einer Policy Datei kennengelernt und k n nen nun beginnen die Regeln zu formulieren Hier eine Beispielkonfiguration 479 firewall 2006 1 4 15 26 page 480 499 rulename Devices dev gt DEV d
8. lastwhatever whatever then multiple yes times times 1 lastdate month day time else lastwhatever whatever case multiple in yes multiple no echo lastdate host glmesg times mal wiederholt times 0 esac echo headr whatever appendix fi done AE Sn an a a a de E kn BE ee ann Sea Protokolltypen bersetzen s NER AA EEE RI EEE ENTE ER AWATA AAA PASA AAA pr_translate local local local local local local local local local local local local local local while do month day time host ker pac colo queue action devi proto Src dest opt read month day time host ker pac colo queue action devi proto src dest opt case proto in PROTO 17 proto PROTO UDP KI PROTO 6 proto PROTO TCP 33 516 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 517 536 PROTO 1 proto PROTO ICMP 33 PROTO 2 proto PROTO IGMP gt gt esac echo month day time host ker pac colo queue action devi proto src dest opt iptables Nachrichten unterdr cken und z hlen wenn Protokoll Quell Zieladresse und Ports bzw ICMP Typ und Code ubereinstimmen ipt_uniq local month local day local time local host local proc local line local multiple local times local dat local src local dst local
9. firewall 2006 1 4 15 26 page 453 472 KAPITEL 16 Wie sorge ich daf r da meine Firewall sicher bleibt Sie haben sich vergewissert da Ihre Firewall funktioniert Nun k nnten Sie das Ger t aufstellen anschlie en die T r verschlie en und nie wieder an die Firewall denken Wenn Sie so vorgehen riskieren Sie aber nicht den gew nschten Schutz Ihres Systems zu erreichen Auch wenn Ihre Firewall momentan dem Stand der Technik entspricht so sind die Aussichten doch recht gut da im Laufe der Zeit Sicherheitsl cken in der von Ihnen verwendeten Software gefunden werden Damit besteht die M glichkeit da es je mandem gelingt in die Firewall einzubrechen Wenn er nun vermeidet den allgemeinen Betrieb allzusehr zu st ren hat er auf Jahre hinaus einen zus tzlichen Rechner zu seiner freien Verf gung Wenn Ihnen diese Aussicht keine Sorgen macht so lesen Sie bitte noch einmal Kapitel 1 ab Seite 1 In diesem Kapitel soll daher ein wenig auf den t glichen Betrieb einer Firewall eingegan gen werden Checksummer In Kapitel 4 Unterabschnitt Sicherungsma nahmen ab Seite 42 haben wir erfahren wie ein Cracker ein Rootkit dazu benutzen kann seine Spuren zu verwischen Indem er wich tige Systembefehle durch eigene Versionen ersetzt kann er verhindern da bestimmte Dateien Prozesse oder offene Ports angezeigt werden Ein Skript wie das in Kapitel 9 Unterabschnitt Automatisieren der Suche ab Seite 2
10. 9569C15144c30336993593953e57a7a0 firewall toc 57fb544c92217cbe2beefccfO3def41e firewall dvi Da wir ihn nicht manuell mit dem Namen jeder Datei aufrufen wollen die in unserem System untersuchenswert w re brauchen wir ein Skript das dies f r uns bernimmt Hierzu definieren wir erst einmal Variablen welche die oben aufgef hrten Dateien und Verzeichnisse enthalten 456 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 457 476 Wurzelverzeichnis Rat Benutzerverzeichnisse HOMEDIRS R root R home Konfigurationsdateien der Shells SHELLFILES bashrc bash login bash_logout bash profile cshrc exrc login rhosts tcshre profile Verzeichnisse mit statischem Inhalt STATICDIRS R bin R boot R etc R sbin R lib R opt R usr R var cron for d in HOMEDIRS do if d d bin then STATICDIRS STATICDIRS d bin fi done Dateien in ROOTFILES R Chroot K fige Chroot Verzeichnisse CHROOTDIRS R var ftp proxy rundir R var lib ftp proxy rundir R var named R var lib named R var privoxy R var lib privoxy Unterverzeichnisse die nicht untersucht werden CHROOTPRUNE log var log run var run
11. Es ist nicht m glich f r ein Pa wort mit Sicherheit zu sagen wer zu einem bestimmten Zeitpunkt in seinem Besitz ist Pa w rter k nnen oft erraten ausgesp ht oder erfragt werden Mit technischen Ma nahmen k nnen wir diese Probleme zwar etwas verringern in den Griff bekommen wir sie aber nur wenn wir den Benutzern vermitteln k nnen da wir sie nicht schikanieren wollen sondern da es in ihrem ureigenen Interesse liegt auf die Sicherheit ihrer Pa w rter zu achten So wird ein Mechanismus der die Benutzer jede Woche zwingt ihr Pa wort zu wech seln dazu f hren da diese drei oder vier Pa w rter abwechselnd verwenden Auch die Verwendung von computergenerierten Pa w rtern f hrt oft nur dazu da die Benut zer sich diese nicht merken k nnen und als Post It auf den Bildschirm oder unter die 534 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 535 554 Tastatur kleben Ein Mechanismus der automatisch verhindert da ein Benutzer sein Pa wort einem vorgeblichen Systembetreuer am Telefon verr t mu erst noch erfunden werden All diese Probleme k nnen wir nur l sen wenn wir die Benutzer in unsere berlegungen mit einbeziehen Jede technische L sung wird zum Scheitern verurteilt sein wenn die Anwender sie nicht unterst tzen Statt also ausschlie lich auf Technik zu setzen m ssen wir ihnen verst ndlich machen da das Internet nic
12. Hierbei ist die Definition von ROOTFILES etwas schlampig so da die Variable neben Dateien auch Verzeichnisse enth lt Wir werden aber an einer sp teren Stelle im Skript explizit testen ob es sich jeweils um eine Datei oder ein Verzeichnis handelt Bevor wir anfangen definieren wir noch zwei Routinen um Fehler auszugeben Da wir die Standardausgabe in der Regel in eine Datei umlenken werden w rden uns solche Ausgaben normalerweise erst auffallen wenn wir versuchen das Ergebnis mit md5sum zu berpr fen Aus diesem Grund erfolgt die Ausgabe ber den Standardfehlerkanal Damit erscheinen die Fehlermeldungen direkt am Bildschirm solange wir den Standardfehler kanal nicht auch noch explizit umlenken Checksummer 457 firewall 2006 1 4 15 26 page 458 477 Eine Ausgaberoutine die auf stderr schreibt echo2 echo gt proc self fd 2 Fehlermeldung junk echo2 ERROR could not process Nun definieren wir eine Routine die alle relevanten Dateien heraussucht und deren Na men ausgibt Beginnen wir mit den Verzeichnissen mit statischem Inhalt Eine Routine um alle Dateien aufzuz hlen listfiles Programmverzeichnisse echo2 Programmverzeichnisse for d in STATICDIRS do if d d then echo2 e tVerarbeite d find d mount type f print junk d else echo2 e tLasse d aus es existiert nich
13. In diesem Verzeichnis befinden sich typischerweise der Kernel und andere Da teien die vom Boot Loader ben tigt werden nderungen treten nur auf wenn ein neuer Kernel kompiliert wurde Empfehlung Pr fsummen bilden media cdrom floppy mnt Bei diesen Verzeichnissen handelt es sich um Mountpoints auf die bei Bedarf Wechseldatentr ger gemountet werden k nnen Im Normalfall sind sie ansonsten leer Empfehlung Eine Pr fsummenbildung er brigt sich dev In diesem Verzeichnis befinden sich nur Devices keine normalen Dateien Zum Beispiel kann man aus dem Device tty die aktuellen Tastatureingaben und aus ran dom bzw urandom Zufallszahlen lesen Empfehlung Eine Pr fsummenbildung er brigt sich Es ist aber sinnvoll Dateirechte besitzer und gruppenzugeh rigkeit im Auge zu behalten etc Hier werden normalerweise die Konfigurationsdateien des Systems abgelegt Mit Ausnahme der Datei etc mtab sollten sie sich nicht ndern Empfehlung Pr fsummen bilden home x root Home Verzeichnisse der Benutzer Diese Verzeichnisse enthalten Datei en die sich bei jedem Anmeldevorgang ndern Eine Ausnahme bilden Dateien wie bashrc bash_login bash_logout bash profile cshrc exrc login profile rhosts und tcshrc die von den Shells bei der Anmeldung ausgef hrt von bestimmten Edi toren beim Start ausgelesen oder von den R Diensten dazu herangezogen werden zu entscheiden wann eine Authentisierung
14. Nun versucht die Filesharing Software die Verbindung wiederherzustellen Manche Klienten sind in dieser Beziehung recht hartn ckig 526 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 527 546 1434 UDP Wird vom Microsoft SQL Server benutzt der auch teilweise von anderen Anwendungen wie z B MS Project mit installiert wird Eine Sicherheitsl cke in die sem Dienst wurde 2003 vom Slammer Sapphire Wurm ausgenutzt 4661 TCP Die Filesharing Software eDonkey2000 oder ein Clone wie z B eMule be nutzt diesen Port f r die Kontaktaufnahme zum Server Es gilt das zu Port 1214 Gesagte 4662 TCP Wird vom eDonkey2000 Protokoll f r den Austausch von Dateien zwischen zwei Klienten genutzt Dieser Port taucht in den Firewall Logs noch h ufiger auf als 4661 Wie schon im Fall von Port 1214 ist dies aber h chstwahrscheinlich kein Angriff 4665 UDP Wird vom eDonkey2000 Protokoll f r den Austausch von Nachrichten z B Suchanforderungen verwendet Downloads benutzen dagegen die Ports 4661 und 4662 4675 UDP Wird von eMule teilweise an Stelle von Port 4665 genutzt 5632 UDP pcAnyware Wird zur Remote Administration unter Microsoft Betriebs systemen eingesetzt F r viele der genannten Dienste wurden in der Vergangenheit Sicherheitsl cken bekannt die es erlaubten sich unautorisiert Zugriff zu dem Rechner zu verschaffen der diese Dienste bereitstellte Diese Si
15. page 484 503 Auf einem Arbeitsplatzrechner oder Fileserver wird man dies t glich tun um jeweils nicht mehr als die Arbeit eines Tages zu verlieren Verwendet man Magnetb nder so ist es blich diese teilweise wieder zu benutzen und nur z B die B nder der Wochenendsi cherung l nger aufzuheben Auch wird man an manchen Tagen nur die Dateien sichern die sich seit dem letzten Backup ge ndert haben w hrend man an anderen Tagen alle Dateien sichert In der Fachliteratur finden sich komplizierte Schemata wann man auf welches Band welche Dateien sichert In unserem Fall ist die Lage allerdings etwas einfacher Auf einer Firewall sollte es keine normalen Benutzer geben deren Arbeitsergebnisse wir gegen Verlust sch tzen m ssen Wir brauchen lediglich ein Backup um im Fall der F lle die Firewall schnell wiederher stellen zu k nnen ohne wieder bei Null anfangen zu m ssen Aus diesem Grund reicht es nach der Installation ein Komplett Backup durchzuf hren und dieses zu wiederholen wenn wir Patches oder Updates eingespielt haben Sicherung der Partitionierungsdaten Wenn wir ein System wiederherstellen wollen m ssen wir sicherstellen da die Parti tionen unseres neuen Systems mindestens so gro sind wie die des alten Da wir die genauen Gr en der Partitionen vermutlich nach einiger Zeit vergessen werden bietet es sich an diese Angaben auszudrucken und zusammen mit der brigen Dokumentation aufzubewahren Der folgende
16. usr sbin tripwire check Auf diese Weise wird tripwire jede Nacht um 3 Uhr aufgerufen siehe Kapitel 9 Ab schnitt Cron ab Seite 175 Existiert diese Datei nicht so verwenden Sie wahrscheinlich einen anderen als den hier vorgestellten cron von Paul Vixie In diesem Fall sollten Sie die Manpages Ihres cron studieren Um die passenden Manpages zu finden verwenden Sie am besten die Option k von man gt man k cron crontab 5 tables for driving cron cron 8 daemon to execute scheduled commands Vixie Cron crontab 1 maintain crontab files for individual users V3 crontab 5 tables for driving cron Wenn wie hier Eintr ge zu einem Befehl in mehreren Kapiteln der Online Hilfe vorkom men so sollten Sie dem Namen des Befehls explizit die Kapitelnummer voranstellen gt man 1 crontab Backups Wenn Sie ein System aufsetzen sollten Sie sich auch berlegen was geschieht wenn die Daten auf der Festplatte aus irgendeinem Grund unbrauchbar werden Neben einem Angreifer der versucht mittels rm rf seine Spuren zu verwischen kann dies z B dann geschehen wenn die Festplatte oder der Festplatten Controller defekt ist Dieser Gefahr sollte man begegnen indem man alle Dateien des Systems auf ein Wech selmedium Magnetband CD schreibt von dem man sie dann im Falle eines Falles wieder zur ckspielen kann Diesen Vorgang nennt man Datensicherung oder Backup Backups 483 firewall 2006 1 4 15 26
17. 00 00 multiple no times 0 while read month day time host proc whatever do if test lastwhatever whatever then multiple yes times times 1 lastdate month day time 514 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 515 534 else lastwhatever whatever case multiple in yes multiple no echo lastdate host glmesg times mal wiederholt times 0 gt gt esac echo month day time host proc whatever ipchains Nachrichten unterdr cken und z hlen wenn Chain Aktion Protokoll Quell und Zieladresse bereinstimmen fw_uniq local month local day local time local host local ker local pac local colo local queue local action local devi local proto local src local dest local opt local whatever local headr local appendix local lastwhatever local lastdate local multiple local times lastwhatever lastdate Xyz 00 00 00 007 multiple no times 0 while read month day time host ker pac colo queue action devi proto src dest opt do whatever queue action devi proto src dest headr month day time host ker pac colo appendix opt Auswerten der Systemprotokolle 515 firewall 2006 1 4 15 26 page 516 535 if test pac Packet a colo log a
18. 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 475 494 Diese Beschreibung bezieht sich auf die Version 2 von Tripwire die inzwischen wieder frei unter der GNU General Public Licence verf gbar ist Leider sieht es derzeit aber nicht gut um die Zukunft der Software aus Nachdem Tripwire Inc den Quelltext frei gab wurde ein Projekt auf Sourceforge eingerichtet und es kamen neue Versionen her aus Allerdings ist die derzeit dort verf gbare Version von 2001 Das w re an sich nicht problematisch da die Software ausgereift ist und alles bietet was man ben tigt Allerdings wurde 2003 ein sicherheitsrelevanter Bug gefunden der in der offiziellen Ver sion immer noch enthalten ist Der Betreuer der Software reagiert auf Anfragen dazu mit der Ank ndigung er wolle dieses Jahr eine neue Version herausbringen Der Fehler w re dann behoben Ein konkreter Termin wurde daf r aber bisher noch nicht genannt Auch wenn er seine Ank ndigung wahr macht und dieses Jahr eine neue Version her ausbringt stellt sich die Frage was geschieht wenn das n chste Mal ein Bug gefunden wird Diesen Bug h tte man mit einer nderung von 5 Zeichen im Quellcode beheben k nnen es hat aber bisher 2 Jahre gedauert Wie lange wird es das n chste Mal dauern Aus diesem Grund kann ich Ihnen derzeit nicht empfehlen den Quelltext herunterzula den und selbst zu kompilieren Wenn Sie eine Distribution
19. 2 0 3 0 3 0 4 0 4 0 5 0 5 0 6 0 6 0 7 0 7 In diesem Fall also 0 1 0 Verwenden Sie dagegen die Unterst tzung des 2 6er Kernels f r ATAPI Brenner so haben Sie gleich mehrere Verfahren zur Auswahl e cdrecord dev ATA scanbus Hierbei erhalten Sie ebenfalls eine Angabe der Art 1 0 0 Dieser m ssen Sie aber sp ter das verwendete Protokoll voranstellen d h das Device wird korrekt ATA 1 0 0 bezeichnet e cdrecord dev ATAPI scanbus Wieder erhalten Sie eine Dreiergruppe diese ist aber nicht mit der von dev ATA identisch Statt 1 0 0 erhalten Sie z B 0 0 0 Auch hier m ssen Sie aber sp ter das verwendete Protokoll voranstellen d h das Device wird korrekt ATAPI 1 0 0 be zeichnet e Sie sparen sich den Aufwand und verwenden direkt die Device Bezeichnung z B dev hdc ATA und ATAPI m ssen dabei immer gro geschrieben werden Die Verwendung von Kleinbuchstaben f hrt unvermeidlich zu Fehlermeldungen Welche Variante am besten zu Ihnen pa t m ssen Sie selbst entscheiden Alle drei Ver fahren erzeugen Warnmeldungen und alle funktionieren prinzipiell Eine klare Aussa ge welches Verfahren empfohlen wird habe ich noch nicht gefunden Allerdings warnt cdrecord bei der Verwendung von ATAPI da DMA Zugriffe nicht unterst tzt werden und nur sehr langsam gebrannt werden kann Nun k nnen Sie einen Probelauf wagen Dazu dient der Befehl cdrecord v dummy dev lt Devicebez gt cd1 iso
20. 22 01 59 fw kernel Packet log ext in DENY pppo PROTO 10 1 1 1 50135 10 0 0 1 33479 L 40 S 0x00 I 50180 F 0x0000 T 2 ov 22 22 02 04 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33480 L 40 S 0x00 I 50181 F 0x0000 T 2 ov 22 22 02 09 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33481 L 40 S 0x00 I 50182 F 0x0000 T 3 ov 22 22 02 14 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33482 L 40 S 0x00 1 50183 F 0x0000 T 3 ov 22 22 02 19 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33483 L 40 S 0x00 I 50184 F 0x0000 T 4 ov 22 22 02 24 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33484 L 40 S 0x00 I 50185 F 0x0000 T 4 ov 22 22 02 29 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33485 L 40 S 0x00 I 50186 F 0x0000 T 5 ov 22 22 02 34 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33486 L 40 S 0x00 I 50187 F 0x0000 T 5 ov 22 22 02 39 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33487 L 40 S 0x00 I 50188 F 0x0000 T 6 ov 22 22 02 44 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33488 L 40 S 0x00 I 50189 F 0x0000 T 6 ov 22 22 02 49 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33489 L 40 S 0x00 I 50190 F 0x0000 T 7 ov 22 22 02 54 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33490 L 40 S 0x00 I 50191 F 0x0000 T 7 ov
21. Chain bearbeitet existiert kein Interface ber das es den Rechner wieder verlassen wird SRC 213 7 25 16 Die IP Adresse unseres Besuchers Sie sagt uns vielleicht etwas dar ber wer da vorbeigekommen ist DST 10 0 0 1 Meine eigene IP Adresse hier verfremdet LEN 29 Die L nge des Paketes 29 Bytes TOS 0x00 Das Type of Service Feld Damit k nnen Sie angeben ob Sie eher Wert auf einen hohen Durchsatz oder eine geringe Verz gerung legen PREC 0x00 Das Precedence Feld weist dem Paket eine besondere Priorit t zu Je h her die Zahl um so wichtiger ist das Paket TTL 122 Time to Live Dieses Feld wird von jedem Router um mindestens eins verrin gert Ist der Wert 0 so wird das Paket entsorgt Auf diese Weise wird sichergestellt da Pakete nicht endlos im Netz verbleiben ID 10847 Die Datagramm ID des IP Pakets Dies ist nicht die Folgenummer auf TCP Ebene sondern eine Angabe auf IP Ebene die das Zusammensetzen fragmentierter Pakete erleichtern soll 522 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 523 542 DF Das Don t Fragment Bit verbietet die Fragmentierung des Pakets PROTO UDP Dieser Parameter gibt an welches Netzwerkprotokoll f r die bertra gung des Pakets verwendet wurde TCP UDP ICMP SPT 31790 Der Quellport unseres Besuchers Die Angabe 31790 besagt in diesem Fall nicht viel Wahrscheinlich wurde sie dem Programm unse
22. Dort benutzte man f r Backups eine feste Anzahl von B ndern von denen jedes der Reihe nach verwendet wurde bis man wieder beim ersten ankam Dies ist mit der Rotation von Logdateien nur bedingt vergleichbar Hier wird eine Si cherungskopie einer Logdatei angelegt worauf die Originaldatei durch eine leere Datei ersetzt wird Da der Plattenplatz begrenzt ist werden dabei oft auch noch diejenigen Sicherungskopien gel scht die ein gewisses Alter berschritten haben Dieses Vorgehen hat den Vorteil da man sich nun nicht mehr durch einen Berg alter Eintr ge arbeiten mu bevor man zu den Eintr gen kommt die einen aktuell interes sieren Je nach vorhandener Zeit und Rate der neuen Eintr ge im Protokoll kann man so regelm ig die Meldungen des vergangenen Tages der letzten Woche oder des letzten Monats in eine eigene Datei berf hren und in Ruhe analysieren Auswerten der Systemprotokolle 501 firewall 2006 1 4 15 26 page 502 521 Ein selbstgeschriebenes Skript Die einfachste Methode eine Logdatei in komprimierter Form zu sichern und dann den Inhalt der Originaldatei zu l schen besteht darin ein einfaches Skript zu schreiben bin sh HHH HHH HHH HHH HHH A HAHAHAHA HHR HHHH HHHH logarc lt Datei gt erzeugt eine komprimierte Sicherungskopie einer Protokolldatei und leert das Original Copyright C 2003 Andreas G Lessig Lizenz GPL v2 oder h here Version AARAA ARAARA AERAR AARAA HAHAHA
23. Error Jun 1 18 39 16 gonzales kernel hdb drive_cmd error 0x04 DriveStatusError darauf hin da der Kernel Probleme beim Lesen der zweiten Festplatte hatte Dies bedeu tet nicht zwangsl ufig da die Festplatte jetzt schon unbenutzbar ist Unter Umst nden f llt einem das Problem zu diesem Zeitpunkt noch nicht einmal wirklich auf weil die Platte auf ein Verzeichnis gemountet wird das kaum genutzt wird oder nur unwichtige Dateien enth lt Unternimmt man aber jetzt nichts so besteht durchaus die Gefahr da die Festplatte zu einem Zeitpunkt endg ltig ausf llt wo man sie ausnahmsweise einmal ben tigt Dies geschah in dem beschriebenen Fall einige Monate sp ter Allerdings ist die Auswertung der Systemprotokolle nicht einfach Tats chlich ist es dabei weniger ein Problem da zuwenig protokolliert wird vielmehr erdr ckt die schiere F lle der Meldungen Auf dem Rechner auf dem ich dies schreibe habe ich die letzten beiden Abende gesurft um einige Recherchen f r dieses Buch anzustellen Zuvor habe ich die Datei var log messages neu angelegt Seitdem enth lt die Datei bereits 2339 Eintr ge und ist 235 KB gro Auf einem Firewall System das von mehreren Benutzern den ganzen Tag ber genutzt wird w ren diese Zahlen noch um ein Vielfaches h her Im folgenden soll es daher darum gehen wie man diese Datenf lle unter Kontrolle be kommt Logrotation Der Begriff der Rotation stammt eigentlich aus dem Backup Bereich
24. Ersatztext gt lt Trenner gt Dies spezifiziert da jedes Auftreten von lt Reg Ausdruck gt durch lt Ersatztext gt ersetzt werden soll Als lt Trenner gt dient ein einzelnes Zeichen Idealerweise sollte dieses Zei chen weder in lt Reg Ausdruck gt noch in lt Ersatztext gt vorkommen Andernfalls mu es durch Voranstellen von gesch tzt werden Ein blicher Trenner ist Die resultierenden Meldungen werden mit sort nach ihrem Inhalt sortiert Gleiche Zei len werden mit uniq in einer zusammengefa t wobei die Option c dem Ergebnis die Anzahl der zusammengefa sten Zeilen voranstellt Dieses Resultat sortiert der Befehl sort erneut nach H ufigkeit Der Parameter r bewirkt dabei die Sortierung in umgekehrter Reihenfolge w hrend n angibt da hier nicht Zeichenketten sondern Zahlen sortiert werden less erlaubt es schlie lich in der Ausgabe vor und zur ckzubl ttern Die Na men des eigenen Rechners und der Ausgabedatei sollten dabei an das konkrete System angepa t werden Dieses Vorgehen scheitert aber an Meldungen die jedesmal anders aussehen So meldet der pppd jedesmal die Adresse unter der der Rechner mit dem Internet ver bunden ist Wenn diese vom Provider dynamisch zugewiesen wird hat sie bei jedem Verbindungsaufbau einen anderen Wert Auch die Meldungen des http gw sind spezi 13 Tats chlich unterst tzt sed deutlich mehr Parameter bitte lesen Sie diese in der Systemdokumentation man sed info sed
25. Hier dient v dazu erweiterte Meldungen und eine Fortschrittsanzeige zu erhalten dummy sorgt daf r da nur ein Testlauf durchgef hrt die CD aber nicht tats chlich gebrannt wird und dev gibt an welcher Brenner benutzt werden soll Weitere Op tionen die Sie unter Umst nden n tzlich finden k nnten sind Backups 493 firewall 2006 1 4 15 26 page 494 513 data mode2 xal xa2 w hlen einen Brennermodus aus Wird nichts vorgegeben so wird data f r Mode 1 CDs genommen speed lt Geschwindigkeit gt erlaubt es mit mehr als einfacher Geschwindigkeit zu brennen speed 12 w hlt also 12fache Geschwindigkeit Traten keine Fehlermeldungen auf so k nnen Sie die CD nun brennen Lassen Sie dazu einfach den Parameter dummy weg cdrecord v dev lt Devicebez gt cd1 iso Sie k nnen auch on the fly brennen d h den Umweg ber das ISO Image auslassen Dabei wird der Rechner aber st rker belastet und es besteht die Gefahr da die Daten nicht schnell genug von mkisofs generiert werden k nnen so da der Datenstrom zum Brenner abrei t und unter Umst nden der CD Rohling ruiniert ist Besonders hoch ist die Gefahr wenn ein Hintergrundproze pl tzlich massiv auf die Platte zugreift z B tripwire berlegen Sie daher ob Sie das System f r das Brennen in den Single User Mode herunterfahren Grunds tzlich braucht man f r das Brennen on the fly nur mkisofs und cdrecord mit ei ner Pipe v
26. Information es habe hundert solcher Scans gegeben nicht aus Hier w re ein Skript sinnvoll das e Standardmeldungen unterdr ckt e aufeinanderfolgende Wiederholungen derselben Meldung verringert und e auch gepackte Dateien verarbeitet Auch hier bietet es sich an mehrere Programme zu verwenden bei denen jeweils die Aus gabe des Vorg ngers als Eingabe des Nachfolgers dient wie dies bei Ranum der Fall war Allerdings werden wir einige dieser Programme selbst schreiben m ssen Gl cklicher weise k nnen wir das relativ einfach in Form von Shellskripten tun Hierbei brauchen wir nicht wirklich mehrere Dateien zu erzeugen Wir k nnen die einzelnen Zwischen schritte auch jeweils als Prozedur realisieren 510 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 511 530 Beginnen wir mit einer Prozedur die als Argumente mehrere Dateien erh lt und ihren Inhalt ausgibt Dabei sollen Dateien die auf gz enden automatisch entpackt werden Mehrere Dateien aneinanderh ngen und anzeigen auch wenn sie gepackt sind He ana anne age E mycat for f in do case f in gz gzip d c f cat f done Die Filterung nach bestimmten Mustern k nnen wir wie gehabt mit grep erledigen Da mit bleibt die Aufgabe sich wiederholende Zeilen auszufiltern ohne das Datum und die Proze nummer zu unterdr cken Dies leistet die folgende Funktion
27. Programm zu kompilieren Das Ergebnis ist ein Programm namens busybox das wir nur noch in md5sum umbenennen und auf die Diskette kopieren m ssen Es ist sogar um den Faktor 5 kleiner als sein Gegenst ck aus den GNU Textutils Damit es auch benutzt wird sollte md5verify so ver ndert werden da es das md5sum im aktuellen Verzeichnis benutzt und es nicht in einem Systemverzeichnis sucht Dazu reicht es die Konfigurationsvariable CHECK anzupassen CHECK md5sum c Nun sollte der Pr fung Ihres Systems nichts mehr im Wege stehen AIDE AIDE geht noch einen Schritt weiter als md5sum Es bietet nicht nur eine ganze Reihe verschiedener Verfahren um Pr fsummen zu generieren dar ber hinaus kann man auch verschiedene Attribute eines Verzeichnisses oder einer Datei berwachen Dazu geh ren z B e ihr Ablageort auf der Festplatte Inode Nummer e das Datum des letzten lesenden atime schreibenden mtime Zugriffs e ihre Gr e e die Anzahl ihrer Hardlinks e ihr Besitzer e ihre Gruppe und e ihre Rechte AIDE ist sowohl in SuSE 9 3 als auch in Debian 3 1 enthalten Konfiguration AIDE wird normalerweise ber die Datei etc aide conf konfiguriert Man kann aber aide auch mit dem folgenden Parameter anweisen eine andere Datei zu verwenden config Datei Man beginnt die Konfiguration in der Regel damit ein paar grundlegende Regeln f r das Verhalten des Programms festzulegen 468 Kapitel 16 Wie sorge ich daf r
28. aide conf Zu Anfang wird es eine Reihe von Fehlalarmen geben berpr fen Sie daher in der ersten Zeit das System besonders h ufig F r jeden Fehler den AIDE ausgibt kontrollieren Sie ob dies e normales Systemverhalten war e an einer ungl cklichen Konfiguration einer anderen Anwendung lag oder e ob es sich um einen Angriff gehandelt hat Im ersten Fall macht es keinen Sinn sich weiter die Fehlermeldungen ausgeben zu las sen ndern Sie hier die Konfiguration von AIDE so da kein Fehler mehr ausgegeben wird Anschlie end sollten Sie eine neue Datenbank generieren die die neuen Regeln widerspiegelt Sie k nnen aber auch ein oder zwei Fehlermeldungen bewu t akzeptieren Falls diese auf einmal fehlen wissen Sie da etwas nicht in Ordnung ist Vielleicht hat jemand Ihr System so manipuliert da immer Reports generiert werden die keine Fehlermeldungen enthalten um seine Aktivit ten zu verbergen Im zweiten Fall zeigt eine Anwendung ein unerw nschtes Verhalten das Sie erst durch AIDE bemerken In diesem Fall sollten Sie die schuldige Anwendung umkonfigurieren oder deinstallieren Anschlie end sollten Sie die Datenbank neu generieren damit diese den aktuellen Stand des Systems widerspiegelt Im dritten Fall haben Sie ein Problem Wahrscheinlich w re es am besten einen Spezia listen der Polizei hinzuzuziehen Au erdem k nnten Sie Kapitel 17 ab Seite 539 lesen um einen berblick ber Ihre M glichkeiten zu erhalt
29. crontab 1 maintain crontab files for individual users V3 crontab 5 tables for driving cron Wenn wie hier Eintr ge zu einem Befehl in mehreren Kapiteln der Online Hilfe vorkom men so sollten Sie dem Namen des Befehls explizit die Kapitelnummer voranstellen gt man 1 crontab Tripwire Tripwire ist das Urgestein unter den Checksummern Es wurde seinerzeit im COAST Projekt der Purdue Universit t von Dr Eugene Spafford und Gene Kim entwickelt und sp ter von der Firma Tripwire Inc kommerziell vermarktet Genau wie AIDE bietet Tripwire neben mehreren Checksummenverfahren die M glich keit Dateiattribute wie Besitzer Zugriffs und nderungszeiten und die Dateigr e zu ber cksichtigen Diese hnlichkeiten sind nicht zuf llig vielmehr wurde AIDE mit dem Anspruch entwickelt Tripwire zu ersetzen als die neu gegr ndete Tripwire Inc be schlo zuk nftig die kostenfreie Nutzung von Tripwire nur noch zu nichtkommerziellen oder akademischen Zwecken zuzulassen Ganz ist dies allerdings noch nicht gelungen Einige Eigenschaften von Tripwire sind noch nicht in AIDE implementiert Insbesondere erlaubt Tripwire es die Datenbank zu verschl sseln so da nderungen an ihr nur vorgenommen werden k nnen wenn man das Pa wort f r den daf r verwendeten Schl ssel kennt Dies bietet selbst dann einen gewissen Schutz vor Angriffen wenn die Datenbank sich auf der Festplatte des zu sch t zenden Systems befindet 474 Kapitel
30. da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 469 488 database file var lib aide aide db database_out file var lib aide aide db new verbose 20 report _url stdout gzip_dbout yes Es existieren noch weitere Parameter die f r uns aber nicht notwendig sind Die hier aufgef hrten Parameter bedeuten im einzelnen database url gibt eine Datenbank an die die Angaben zu den einzelnen Dateien ent h lt Diese Angaben werden bei der berpr fung von Dateien verwendet database_out url bestimmt wohin eine neu generierte Datenbank mit Pr fsummen und Attributangaben geschrieben wird verbose num bestimmt wie redselig aide ist Werte zwischen 0 und 255 sind m glich Mit 255 kann man detailliert nachsehen welche Regeln f r jede Datei angewendet wurden Gibt man dagegen 0 an so sagt AIDE am Ende nur wieviele Dateien ge ndert wurden nicht aber um welche Dateien es sich handelt oder was sich genau ge ndert hat report_url url gibt an wohin das Ergebnis von berpr fungen geschrieben werden soll gzip_dbout gibt an ob neu generierte Datenbanken mit gzip komprimiert werden sol len Dies funktioniert allerdings nur wenn die zlib in die Software einkompiliert wurde F r url k nnen dabei die folgenden Varianten verwendet werden stdin Standardeingabe File Descriptor 0 kann nur zum Lesen verwendet werden stdout Standardausgabe File Descriptor 1 kann nur zum Schreiben verwendet w
31. diesen Vorgang zu beeinflussen m ssen Sie dem IDE Treiber mitteilen da er f r den Brenner nicht zust ndig ist Wurde die Unterst tzung f r IDE CD ROM Laufwerke fest in den Kernel kompiliert so geschieht dies durch eine zus tzliche Kerneloption Wenn dev hdb Ihr Brenner ist und Sie den Bootloader lilo verwenden so m ssen Sie die folgende nderung in etc lilo conf vornehmen 9 Kernel 2 2 11 oder neuer Backups 491 firewall 2006 1 4 15 26 page 492 511 image boot vmlinuz root dev hda3 label 1 append hdb ide scsi Verwenden Sie dagegen den grub so h ngen Sie den Parameter einfach an die jeweilige kernel Zeile in der Datei boot grub menu lst title linux kernel hdo 0 boot vmlinuz root dev hda3 hdb ide scsi Wird der Treiber ide cd allerdings als Modul geladen so sollten Sie den folgenden Eintrag in die Datei etce modules conf aufnehmen options ide cd ignore hdb Erstellen eines ISO Images Sind alle Treiber geladen so k nnen Sie mit dem folgenden Befehl ein ISO Image erzeu gen das die erste Ihrer Dateien enth lt gt mkisofs R J T o cd1 iso Datei Statt einer einzelnen Datei k nnen Sie auch mehrere Dateien angeben Auch Verzeichnisse sind zul ssig Allerdings rate ich Ihnen entweder ein Verzeichnis oder mehrere Dateien anzugeben mkisofs sichert n mlich nicht das Verzeichnis selbst sondern nur die in ihm enthaltenen Dateien und Unterverzeichnisse Geben Sie
32. keine Bedeutung mehr haben Der Inhalt dieses Verzeichnisses ist in einem steten Flu Empfehlung Eine Pr fsummenbildung er brigt sich usr Unterhalb dieses Verzeichnisses findet sich eine Verzeichnisstruktur die der un ter hnelt Auch hier existieren Verzeichnisse wie bin sbin oder lib blicherweise finden sich dort die Programme und Bibliotheken die w hrend des Bootvorgangs nicht ben tigt werden Durch diese Trennung ist es m glich ein Laufwerk auf einem anderen Rechner auf usr zu mounten Dadurch kann der Gro teil der Programme und ihrer Dateien auf einem Server zentral f r mehrere Rechner zur Verf gung ge Checksummer 455 firewall 2006 1 4 15 26 page 456 475 stellt werden Um dies zu erm glichen verlangt der File Hierarchy Standard auch da das Dateisystem usr schreibgesch tzt gemountet werden k nnen mu Empfehlung Pr fsummen bilden var war log Das Verzeichnis var enth lt eine Vielzahl von sich st ndig ndernden Dateien Darunter sind tempor re Dateien Spoolfiles E Mail Postk rbe und Proto kolldateien Eine Ausnahme bildet das Verzeichnis var cron tabs das die Cronjobs der Benutzer beinhaltet Diese sollten auf einer Firewall relativ statisch sein da hier der Benutzerkreis relativ klein und auf Systemadministratoren beschr nkt ist Betreiben wir auf der Firewall Proxies in chroot Umgebungen so existieren weite re Verzeichnisse der Art var lt Kennung
33. mehrere Verzeichnisse an so landen die in ihnen enthaltenen Dateien alle auf der Hauptebene des Mediums Es ist dann nicht mehr feststellbar welche Datei aus welchem Verzeichnis stammt Enthalten die Verzeichnisse Dateien mit gleichen Namen so bricht die Image Erstellung sogar mit einer Fehlermeldung ab Die Optionen R J und T dienen dazu sicherzustellen da auch lange Dateinamen unterst tzt werden Die Rockridge Extensions R sind unter Linux gebr uchlich das Joliet File System J unter Windows und T erzeugt eine Datei TRANS TBL welche die Zuordnung von kurzen zu langen Dateinamen enth lt Mit o geben Sie schlie lich den Namen des Images vor hier cd1 iso Fehlt die Option so wird das Image direkt auf die Standardausgabe geschrieben Das Brennen des Images auf CD Bevor Sie das Image nun auf eine CD brennen brauchen Sie noch die Device Bezeichnung des Brenners Hierf r existieren verschiedene Varianten F r SCSI Brenner sowie bei der Verwendung von ide scsi erfahren Sie sie mit 492 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 493 512 cdrecord scanbus Cdrecord 1 11a05 i686 suse linux Copyright C 1995 2001 J rg Schilling Linux sg driver version 3 1 17 Using libscg version schily 0 5 scsibuso 0 0 0 0 IOMEGA ZIP 250 51 G Removable Disk 0 1 0 1 TEAC CD W512EB 7 2 0B Removable CD ROM 0 2 0
34. nur diese entpackt An Optionen herrscht bei tar kein Mangel und es kommen mit jeder Version viele neue hinzu Einen berblick welche Optionen Ihr tar unterst tzt erhalten Sie mit gt tar help less Viele Optionen existieren sowohl in einer Form die nur aus einem Buchstaben besteht als auch in einer ausgeschriebenen Form der immer zwei Bindestriche vorangestellt wer den Manche Optionen sind dagegen nur in der ausgeschriebenen Form vorhanden 7 Bitte beachten Sie hierbei da sich die Beschreibung auf die GNU Version von tar bezieht wie sie mit Li nux standardm ig ausgeliefert wird Das tar von Solaris kennt z B nur wenige einbuchstabige Optionen und erlaubt es nicht den Bindestrich vor Kommandos wegzulassen 486 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 487 506 Ich werde hier nur die Optionen auff hren die wir im folgenden ben tigen und mich auf jeweils eine Schreibweise der Option beschr nken f lt Archiv gt gibt an welches Archiv bzw Bandlaufwerk benutzt werden soll L lt Zahl gt gibt an da ein Medium lt Zahl gt KB aufnehmen kann Normalerweise er kennt tar dies aber selbst ndig M legt ein mehrteiliges Archiv an Wann immer ein Band voll ist bzw eine vorgege bene Datenmenge geschrieben oder gelesen wurde h lt tar an und fordert auf ein neues Band einzulegen und lt Return gt zu dr cken Man kann auch m
35. prot local srcpt local dstpt local type local code local last local lastdat local lasthost local lastsrc local lastdst local lastprot local lastsrept local lastdstpt local lasttype local lastcode multiple no last times 0 lastdat lasthost lastsrc lastdst lastprot lastsrcpt lastdstpt Auswerten der Systemprotokolle 517 518 firewall 2006 1 4 15 26 page 518 537 lasttype lastcode while read month day time host proc line do case line in IN OUT SRC DST LEN TOS PREC TTL ID PROTO dat month day time src echo line sed e s SRC 0 9 0 9 0 9 0 9 1 dst echo line sed e s DST 0 9 o 9 o prot echo line sed e s PROTO srept echo line 9 0 9 1 A Z 1 lt grep SPT sed e s SPT 0 9 1 dstpt echo line grep DPT JA sed e s DPT 0 9 1 type echo line grep TYPE sed e s TYPE 0 9 1 code echo line grep CODE sed e s CODE 0 9 1 if test src lastsrc a dst lastdst a prot lastprot a srcpt lastsrcpt a dstpt lastdstpt a type lasttype then multiple yes times times 1 el
36. technisches Problem vorliegen dem man nachgehen sollte Meldungen der Paketfilter Kommen wir nun zur Auswertung der Paketfiltermeldungen Im Systemprotokoll sieht ein solcher Eintrag etwa folgenderma en aus Nov 29 20 17 32 fw kernel Packet log ext in DENY pppo PROTO 17 213 7 25 16 31790 10 0 0 1 31789 L 29 S 0x00 I 10847 F 0x0000 T 122 15 Au er dem blichen Header Datum Uhrzeit Rechnername Applikation enth lt diese Meldung vor allem die Informationen ext in Das Paket wurde in der Chain ext in bearbeitet Es handelt sich also um einen Zugriff aus dem Internet DENY Das Paket wurde verworfen pppO Das Paket wurde ber das Interface pppo empfangen PROTO 17 Dieser Parameter gibt an welches Netzwerkprotokoll f r die bertra gung des Paketes verwendet wurde Hierbei ist nicht das Anwendungsproto koll HTTP FTP sondern das darunterliegende Netzwerkprotokoll gemeint TCP 6 UDP 17 ICMP 1 Die dabei verwendete Nummer kann in der Da tei etc protocols nachgeschlagen werden Hier handelt es sich um ein UDP Paket 213 7 25 16 31790 IP Adresse und Port unseres Besuchers Die Portangabe 31790 be sagt in diesem Fall nicht viel Wahrscheinlich wurde sie dem Programm unseres Ga stes vom Betriebssystem zuf llig zugewiesen Auswerten der Systemprotokolle 521 firewall 2006 1 4 15 26 page 522 541 10 0 0 1 31789 Meine eigene IP Adresse hier verfremdet Der Port gibt uns einen Hin we
37. tut eigentlich reichen Die genauen Einzelheiten der Konfiguration k nnen dann in Form eines Aus drucks der Konfigurationsdatei im entsprechenden Ordner der Systemdokumentation wiedergefunden werden Anders liegt der Fall wenn man einen St rfall untersucht Hier ist es wichtig alle auf getretenen Fehlermeldungen unternommenen Ma nahmen und durchgef hrten Tests sorgf ltig zu dokumentieren Informationen die man zuerst f r unwichtig hielt oder kryptische Fehlermeldungen die man nicht verstanden hat k nnen pl tzlich von ent scheidender Bedeutung sein wenn man einen Dritten mit mehr Sachverstand um Rat fragen mu Auch kann die Dokumentation wie man ein Problem gel st hat n tzlich sein wenn dieses sp ter wieder auftritt Schulung der Benutzer Wer gerne zweitklassige Horrorfilme sieht wei da Vampire ein Haus nicht betreten k nnen wenn sie nicht hereingebeten wurden Da es aber langweilig w re wenn das auserkorene Opfer einfach die T r hinter sich zumacht und dem Vampir einen sch nen Sonnenaufgang w nscht findet der Vampir in der Regel einen Weg sein Opfer dazu zu bringen ihn freiwillig hereinzulassen hnlich sieht die Situation aus wenn wir eine wirklich gute Firewall aufgebaut haben Die Rechner des internen Netzes sind unsichtbar und Verbindungen k nnen nur zustan de kommen wenn sie von einem Benutzer von innen ge ffnet werden Auch hier kann der Angreifer das gesch tzte Netz nicht ohne Einladung be
38. zu machen Aufruf logfilter sh lt Datei gt Copyright C 2003 Andreas G Lessig This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 675 Mass Ave Cambridge MA 02139 USA HAHAHAHA HAHAHAHA AHAAA HAHAHA Auswerten der Systemprotokolle 513 firewall 2006 1 4 15 26 page 514 533 LOGFILE var log messages STOPFILE etc logfilter stoplist Mehrere Dateien aneinanderh ngen und anzeigen auch wenn sie gepackt sind for f in do case f in gz gzip d c f 33 cat f esac done s en a a a Dan AA ee an ee an de den Sr Seen ee Zeilen die sich nur in Datum und Uhrzeit unterscheiden unterdr cken und z hlen simple uniq local month local day local time local whatever local host local proc local lastwhatever local lastdate local multiple local times lastwhatever lastdate Xyz 00 00
39. 00 beschriebene confcheck wird in einem so manipulierten System vermutlich keine Hinweise auf verd chtige Vorg nge fin den Einen Ausweg bietet hier ein Checksummer Er bildet ber jede Datei eine Pr fsumme anhand deren erkannt werden kann ob eine Datei ver ndert wurde Wenn wir also Pr f summen aller wichtigen Programme und Bibliotheken bilden k nnen wir feststellen ob diese manipuliert wurden 453 firewall 2006 1 4 15 26 page 454 473 Planung Als erstes gilt es festzulegen welche Dateien und Verzeichnisse in die Pr fsummenbil dung mit einbezogen werden sollen Dabei empfiehlt es sich zuerst einmal alle Verzeich nisse und Dateien im Wurzelverzeichnis zu betrachten und f r jedes zu entscheiden ob es ganz teilweise oder gar nicht in die Pr fsummenbildung einbezogen werden soll Existieren Dateisysteme die auf Unterverzeichnisse wie var log gemountet werden so sollten diese einzeln betrachtet werden ohne R cksicht darauf unter welchem Haupt verzeichnis sie sich befinden Hier die beschriebene berlegung f r einen typischen Rechner bin sbin In diesen Verzeichnissen befinden sich wichtige Programme die schon zur Bootzeit vorhanden sein m ssen Darunter befinden sich auch die meisten Program me die typischerweise von Rootkits ersetzt werden z B 1s ps Im Normalbetrieb ohne Neuinstallation von Software ndern sich diese Dateien nicht Empfehlung Pr fsummen bilden boot
40. 1789 L 29 S 0x00 I 10847 F 0x0000 T 122 15 ov 29 20 19 46 fw aglmesg 1304 1 mal wiederholt ov 29 20 48 18 fw kernel Packet log ext in DENY pppo PROTO TCP 213 8 11 23 2970 10 0 0 1 27374 L 48 S 0x00 I 10209 F 0x4000 T 113 SYN 15 ov 29 22 32 11 gonzales init Switching to runlevel 0 ov 29 22 32 20 fw exiting on signal 15 ov 30 18 49 20 gonzales syslogd 1 3 3 restart ov 30 19 31 21 fw su to root user on dev pts 1 Wie man sieht werden nur noch wichtige Ereignisse angezeigt e Ein Benutzer namens user hat die Identit t gewechselt und ist zu root geworden e Anscheinend wurde eine Diskette eingesteckt e Der Rechner wurde t glich heruntergefahren e Beim Surfen ist einmal pl tzlich die Verbindung abgebrochen e Obwohl ich nur am 29 f r eine Stunde online war reichte die Zeit offenbar um Skript Kiddies anzulocken die Port Scans gegen meinen Rechner durchf hrten Jeder dieser Eintr ge sollte auf einer Firewall berpr ft werden Wahrscheinlich gibt es f r jeden dieser Vorg nge eine vern nftige Erkl rung es kann aber nicht schaden Erkundigungen einzuziehen um herauszufinden wie diese lautet Lokale Vorg nge Der Identit tswechsel k nnte z B daher r hren da sich ein Administrator unter einer normalen Benutzerkennung angemeldet hat um dann f r bestimmte Aufgaben root zu werden Dies zeugt eigentlich von einem lobenswerten Sicherheitsverst ndnis 520 Kapitel 16 Wie sorge ich daf r d
41. 22 22 02 59 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33491 L 40 S 0x00 I 50192 F 0x0000 T 8 ov 22 22 03 04 fw kernel Packet log ext in DENY pppo PROTO 10 1 1 1 50135 10 0 0 1 33492 L 40 S 0x00 I 50193 F 0x0000 T 8 Br Hierbei handelt es sich nur um die ersten Eintr ge Es folgen einige Dutzend weitere 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ANSAN SNAN SAN SNAN SAN ANSAN SaN NN FNFNFDN Auf den ersten Blick sieht es so aus als ob jemand einen Port Scan auf UDP Ports von 33477 aufw rts durchf hrt Dem ist allerdings nicht so Tats chlich wird hier nicht nach Servern gesucht sondern es werden Ports benutzt von denen angenommen wird da kein Server sie benutzt Es handelt sich um den Versuch mit Hilfe des Programms traceroute nachzuvollziehen welchen Weg die Pakete zu einem bestimmten Zielrechner nehmen Dies ist insbesondere dann sinnvoll wenn versucht werden soll Probleme bei Netzwerkverbindungen zu l sen Das Programm geht dabei folgenderma en vor Es beginnt indem es mehrere Pakete an unbenutzte UDP Ports des Zielrechners schickt deren TTL Feld auf 1 gesetzt ist blicherweise wird dabei mit der Portnummer 33434 begonnen und diese wird f r jedes weitere Paket um eins erh ht Erreicht das Paket nun den ersten Router so setzt dieser den Wert im TTL Feld um 1 her unter Da dabei 0 herauskommt verwirft er d
42. 64 483 Wenn wir nun auch noch die berfl ssigen OK Meldungen ausfiltern so werden nur noch ver nderte Dateien angezeigt gunzip c fw mds gz md5sum c grep v OK etc tripwire twpol txt FAILED etc tripwire tw pol FAILED md5sum WARNING 2 of 36036 computed checksums did NOT match Allerdings erfolgen so gar keine Meldungen falls alles in Ordnung ist Das folgende Skript ist in dieser Hinsicht etwas weniger schweigsam bin sh HAHAHAHA HAHAHAHA HAHAHAHA HAHAHAHA HEHEHEHE MD5VERIFY uberpr uft eine Datei mit MD5 Pr ufsummen Copyright C 2003 Andreas G Lessig Lizenz GPL v2 oder h ohere Version HAHAHAHA HAHAHAHA HAHAHAHA HHH PREFIX FILE files md5 gz CHECK md5sum c Ausgabe einer Datei Kommt auch mit komprimierten Dateien klar ycat for f in do case f in gz gzip c d f 33 cat f esac done 464 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 465 484 addprefix while read sum file do echo sum PREFIX file done check if test 1 l then FILE 1 fi mycat FILE addprefix check grep v OK Aufgerufen wird mdsverify mit dem Namen einer oder mehrerer Dateien mit Pr fsum men Dateien deren Name auf gz endet werden dabei mit gzip entpackt Wird als Dateiname dagegen angegeben so werden unkomprimierte Pr fsummen von der St
43. 9 bytes Local IP address changed to Exit Connect time minutes Remote IP address changed to Connect script failed ja Ns Sn in gt Dip Sn Are Bi gt Ban De De gt 0 0 07 07 0 DD DO 0705700775 D Q ee SE Se eh Be ER BL EN a Schreiben wir nun all diese Muster in eine Datei stoplist so k nnen wir diese als Muster f r ein grep v benutzen Die Option v bewirkt dabei da Zeilen angezeigt werden auf welche die Muster nicht passen cat var log messages grep v f stoplist sed e s fw e s o 9 sort uniq c JA sort r n less VVVVvVRH Wenn wir nun Muster f r alle standardm ig auftretenden Meldungen aufstellen bleibt die Ausgabe im Normalfall leer Nur Ereignisse die im normalen Betrieb nicht auftreten werden noch angezeigt Dies sollten dann aber genau jene Ereignisse sein die unsere Aufmerksamkeit erfordern Eine konkrete Datei von 2066 Zeilen schrumpfte so auf 123 und enthielt fast nur noch Meldungen der Paketfilter Ein etwas komplizierteres Skript Die beschriebene Methode von Ranum ist sinnvoll und einfach anzuwenden Sie hat allerdings den Nachteil da die Nachrichten in der falschen Reihenfolge erscheinen und auch Datum und Uhrzeit fehlen Dies ist sinnvoll um sich schnell einen berblick zu verschaffen will man aber herausfinden ob z B bestimmte Port Scans regelm ig zu einer bestimmten Uhrzeit auftreten so reicht die
44. Befehl erzeugt eine Datei mit den gew nschten Daten fdisk 1 gt partitionen txt Bei einigen Versionen von fdisk ist es n tig die anzuzeigende Festplatte namentlich an zugeben fdisk 1 dev hda gt partitionen txt fdisk 1 dev hdb gt gt partitionen txt fdisk zeigt allerdings nur die Partitionierung an Label der einzelnen Partitionen wer den dagegen nicht angezeigt Diese Information ben tigen wir aber um die Partitionen sp ter wieder genauso herstellen zu k nnen wie sie zum Zeitpunkt der Datensicherung angelegt waren Insbesondere Red Hat benutzt das Partitionslabel um dort den Mountpoint einer Parti tion abzulegen Mit dem Befehl tune2fs k nnen Sie leicht berpr fen ob das bei Ihrer Distribution auch der Fall ist tune2fs l dev hda1 tune2fs 1 18 11 Nov 1999 for EXT2 FS 0 5b 95 08 09 Filesystem volume name boot Last mounted on lt not available Filesystem UUID 41210f64 637b 11d1 8007 855ddf6d177b Filesystem magic number OxEF53 Filesystem revision 1 dynamic Filesystem features filetype sparse_super 484 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 485 504 Filesystem state clean Errors behavior Continue Filesystem OS type Linux PA tune2fs zeigt dabei etwas mehr als eine Bildschirmseite an Informationen an Uns in teressiert hier aber nur die Zeile Filesystem volume name Steht hier etwas and
45. HA HAA case 1 in LOGFILE var log messages 33 LOGFILE 1 gt gt esac ee BD a ee ee generate a name for the backup r WA AAA AAA KAWA E E PEA ARCNAME date LOGFILE Y m d H M S while test e ARCNAME o e ARCNAME gz do ARCNAME date LOGFILE Y m d H M S sleep 2 done AWA ALIZAMA MOANA MADE LEKA MWA MWA NE KAMENE BAA NIA MA E rotate Me a AA Re I A AA Re Be ee en AS N WA Aa echo Creating ARCNAME gz from LOGFILE cp LOGFILE ARCNAME echo n gt LOGFILE gzip 9 ARCNAME Nun kann man nachdem man eine Datei gr ndlich durchgesehen hat mit einem Befehl ein Backup erzeugen und Platz f r neue Eintr ge schaffen logarc var log messages Creating var log messages 20001128201408 gz from var log messages 502 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 503 522 Alternativ kann man auch Cronjobs erzeugen die logarc regelm ig mit den Namen der Protokolldateien aufrufen logrotate Deutlich vielseitiger ist das Programm logrotate das sowohl unter Debian als auch unter SuSE standardm ig aktiv ist Im Gegensatz zu dem vorgestellten Skript kann es die Dateien auch nach einer gewissen Anzahl Generationen l schen und den Dienst der die Dateien geschrieben hat neu starten Es kann auch Dateien die gel scht werden sollen an eine vorkonfigurierte Adresse schicken Kurzu
46. LES do test f d f 88 echo d f done done Da nicht jede Datei zwangsl ufig in jedem Verzeichnis vorkommt testen wir vorsichts halber ob sie existieren bevor wir sie ausgeben Kommen wir nun zu den Dateien im Wurzelverzeichnis Dateien unter echo2 Dateien unter for f in ROOTFILES do test f f amp amp echo f done Auch hier ersparen wir uns Fehlermeldungen indem wir testen ob wir es wirklich mit einer regul ren Datei zu tun haben Schlie lich untersuchen wir noch die chroot Verzeichnisse echo2 Chroot Verzeichnisse for d in CHROOTDIRS do if d d then cmd find d mount for p in CHROOTPRUNE do if d d p then cmd cmd path d p prune o fi done cmd cmd type f print cmd else echo2 e tLasse d aus es existiert nicht fi done Auch f r das Bilden der Checksummen definieren wir eine eigene Funktion Sie liest eine Reihe von Dateinamen und ruft f r jede Datei md5sum auf Checksummer 459 firewall 2006 1 4 15 26 page 460 479 Eine Routine um Checksummen zu bilden summer while read f do nice md5sum f junk f done Der Befehl nice sorgt brigens daf r da md5sum mit geringer Priorit t l uft und den Rechner nicht komplett mit Beschlag belegt Nun m ssen wir nur noch die beiden Routinen mit einer Pipe verbinden listfiles summer Hier nun das ganze Skript
47. Optionen die mkisofs bergeben werden Schlie lich kann man noch mehrere Dateien angeben die auf die DVD gebrannt werden sollen Alternativ k nnen Sie auch ein Verzeichnis angeben des sen Inhalt auf die DVD gebrannt werden soll Beachten Sie aber bitte auch hier da es besser ist entweder ein einzelnes Verzeichnis oder mehrere Dateien anzugeben Das Brennen der Datei backup tar gz auf das Device dev hdc sieht folgenderma en aus growisofs Z dev hdc R J T backup tar gz Ist die Datei noch nicht voll und wir wollen weitere Dateien hinzuf gen so m ssen wir nur den Parameter Z durch M ersetzen growisofs M dev hdc R J T backup tar gz Dabei sollten wir unbedingt darauf achten wieder die gleichen Optionen f r mkisofs zu benutzen die wir auch bei den vorhergehenden Malen benutzt haben Einmal habe ich Dateien hinzugef gt aber vergessen R und J anzugeben Als Folge wurden die Dateien zwar gebrannt beim Mounten der DVD dann aber nicht angezeigt 11 Vgl Kapitel 16 Unterabschnitt Erstellen eines ISO Images ab Seite 492 Backups 495 firewall 2006 1 4 15 26 page 496 515 Wollen wir statt CD RW lieber CD R oder CD R Medien benutzen so funktioniert das prinzipiell genauso allerdings sind dabei zwei Einschr nkungen zu beachten Zum einen werden diese Medien nie formatiert Zweitens sollte man darauf verzichten mit der Option M zus tzliche Dateien anzuf gen Dies ist zwar prinzipi
48. R11 RIPE status ASSIGNED PA remarks EEEE EEEE EEE EEEE E E E E E E 271212 E E E E E E E E E k k k kk k k kkk kk kkk remarks please report spam abuse mailto abuse pppool de remarks reports to other addresses will not be processed remarks BE SEE SE EEEE EEEE EEEE E E E E E EEEE E E E E E E E E E k k k k k kkk kk kkk mnt by ROKA MNT changed abuse pppool de 20001121 source RIPE route 213 7 0 0 16 descr MobilCom Cityline Dialpool origin AS5430 remarks EEEE EEEE EEEE EEEE E E E E E EE EEE E E E E E E E E E k k kk k k kk kkk kkk remarks please report spam abuse mailto abuse pppool de remarks reports to other addresses will not be processed remarks EEEE EEEE EEE EEE EE E E E E E EE EEE E E E E E E E E E E k k k k k kkk kk kkk notify as guardian roka net mnt by ROKA MNT changed abuse pppool de 20001028 source RIPE role Domain Registration Role Account address MobilCom Cityline GmbH address Willstaetterstrasse 13 address D 40549 Duesseldorf address Germany phone 49 211 53087 0 fax no 49 211 53087 199 e mail tech c pppool de admin c FR2733 RIPE tech c DRR11 RIPE nic hdl DRR11 RIPE remarks hostmaster role account remarks BE SE SE SE EEEE EEEE EEEE E E E E E EE EE EE E E E E E k k k kk k k kkk kk kkk remarks please report spam abuse mailto abuse pppool de remarks reports to other addresses will not be processed remarks EEEE EEEE EEE EEEE E E E E E EE EEE E E E E E E E E
49. Regeln Wir haben ja mit DEV bereits einen eigenen Satz von Pr fungen definiert der allgemein f r Devices gelten soll Allerdings gibt es auch unter den Devices noch eine eigene Gruppe bei deren Mitglie dern sich auch noch der Besitzer und die Dateirechte ndern je nachdem wer es gerade benutzt Dies gilt insbesondere f r die virtuellen Terminals und die seriellen Anschl sse F r diese k nnen wir zwar berpr fen welcher Gruppe sie zugeordnet sind ansonsten existieren aber keine sinnvollen Pr fungsm glichkeiten Wir k nnen f r sie also nur die mit DEVDYN definierten Attribute verwenden dev DEV dev cua0 DEVDY dev cuai DEVDY dev cua2 DEVDY dev ttySo DEVDY dev ttyS1 DEVDY dev ttyS2 DEVDY dev console DEVDY dev ttyo DEVDY dev tty1 DEVDY dev tty2 DEVDY dev tty3 DEVDY dev tty4 DEVDY dev tty5 DEVDY dev tty6 DEVDY dev tty7 DEVDY dev tty8 DEVDY dev tty9 DEVDY Checksummer 471 firewall 2006 1 4 15 26 page 472 491 dev tty10 DEVDYN dev tty11 DEVDYN dev urandom DEVDYN dev random DEVDYN dev initctl DEVDYN Schlie lich sollten wir noch die Verzeichnisse und Dateien auff hren von denen wir wissen da sie nur gelesen nicht aber ver ndert werden bin RO boot RO etc RO lib RO sbin RO usr RO root bin RO root bashrc RO root bash_login RO root bash_logout RO root bash_profile RO root cshrc RO root exrc RO root login RO root profi
50. a meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 521 540 Wurde auf der Firewall allerdings ein Remote Zugriff konfiguriert so ist es dem Be nutzer blicherweise nicht erlaubt sich ber das Netz als root anzumelden Hier hat er keine Wahl als sich unter seiner normalen Kennung anzumelden und dann mit dem Befehl su zu root zu werden In diesem Fall deutet der Eintrag also auf eine Fernwartung hin In beiden F llen sollte es m glich sein nachzuvollziehen wer wann am Rechner gearbei tet hat Werden n mlich mit einem Mal Wartungsarbeiten durch einen Kollegen durch gef hrt der eigentlich Urlaub auf einer einsamen Insel ohne Telefonanschlu macht so sollte man die M glichkeit in Betracht ziehen da etwas nicht in Ordnung ist Wenn ein Datentr ger in den Rechner eingelegt wurde deutet dies ebenfalls auf War tungsarbeiten hin Auch hier sollte versucht werden festzustellen wer was gemacht hat Das Herunterfahren des Rechners ist bei einem Arbeitsplatzrechner nat rlich nichts Un gew hnliches Eine Firewall dagegen l uft normalerweise rund um die Uhr Fanden also an dem Tag keine gr eren Wartungsarbeiten durch die autorisierten Benutzer statt so mu der Rechner von jemand Unautorisiertem heruntergefahren worden sein Der Abbruch einer Verbindung beim Surfen ist eigentlich nichts Ungew hnliches solan ge es nicht zu h ufig vorkommt Tritt ein solcher Abbruch h ufiger auf so k nnte ein
51. andardeingabe gelesen Ist keine Datei angegeben so wird die Datei files md5 gz im aktuellen Verzeichnis benutzt Dieser Dateiname ist in der Variablen FILE zu Beginn des Skripts festgelegt Er kann nach Belieben ge ndert werden Eine zweite Variable PREFIX gibt einen Pfad vor der den Dateinamen in der Pr fsum mendatei vorangestellt wird Dies ist insbesondere dann sinnvoll wenn eine Pr fung von einer Bootdiskette ausgef hrt wird Hier wird das eigentliche Dateisystem z B auf mnt gemountet Der Pfad der Bash w re damit mnt bin bash w hrend er im Normalbetrieb bin bash lautet Die Zeile PREFIX mnt reicht aus um diesem Umstand Rechnung zu tragen ohne da jede einzelne Zeile in der Pr fsummendatei manuell ge ndert werden m te Schlie lich kann auch der Aufruf vorgegeben werden mit dem eine Pr fsummendatei bearbeitet wird CHECK md5sum c Checksummer 465 firewall 2006 1 4 15 26 page 466 485 Haben wir die Pr fsummendatei und obiges Skript auf eine Diskette kopiert so braucht man f r eine sichere Pr fung des Systems nur noch ein Rettungssystem auf Diskette das md5sum enth lt mkdir mnt floppy mount dev fdo floppy tvfat Dateisysteme auf mnt schreibgesch tzt mounten mount mnt mountpoint device 0 ro noexec nodev cd floppy md5verify Pr fsummendatei mnt etc mtab FAILED d5sum WARNING 1 of 36057 computed checksums did NOT match Das schreibgesch tzte Moun
52. ann im Hintergrund infizierte E Mails an alle Benutzer die er im lokalen Adre buch finden konnte Heutzutage sind Trojaner nat rlich deutlich benutzerfreundlicher geworden Beim Hap py99 48 reichte ein Doppelklick um ein Programm zu starten das in einem Fenster ein kleines Feuerwerk anzeigte Auch hier war eine Flut von infizierten E Mails die un gewollte Begleiterscheinung Schulung der Benutzer 533 firewall 2006 1 4 15 26 page 534 553 Um den Gefahren solcher Angriffe zu begegnen helfen technische L sungen nur be dingt Sicherlich kann ein guter Virenscanner einen gro en Teil der Trojaner erkennen die gerade weit verbreitet sind Dies n tzt aber wenig wenn ein Angreifer gezielt ei ne bestimmte Firma angreifen will und sich zu diesem Zweck einen eigenen Trojaner schreibt den er an ausgew hlte Angestellte der Firma schickt Solange niemand erkennt was es damit auf sich hat und den Hersteller des benutzten Virenscanners informiert wird dieser auch kein Pattern liefern anhand dessen die Software den Trojaner erkennen k nnte Nur wenn man die Benutzer gezielt dar ber aufkl rt warum Dateianh nge nicht leicht fertig ausgef hrt werden sollten hat man eine Chance das Problem in den Griff zu bekommen Man mu erreichen da ein Benutzer nachdenkt bevor er ein Attachment ausf hrt Dann besteht vielleicht auch die Chance da er sich fragt warum ein deut scher Gesch ftspartner ihm pl tzlich
53. as Paket und schickt eine ICMP Meldung Time Exceeded an den Sender Dieser empf ngt die Meldung und kennt nun die erste Station auf dem Weg Durch sukzessives H hersetzen des TTL Wertes kann traceroute so nachverfolgen welche Router f r die Vermittlung zum Zielrechner benutzt werden Auswerten der Systemprotokolle 529 firewall 2006 1 4 15 26 page 530 549 Kommt schlie lich eine ICMP Meldung Destination Unreachable mit der Angabe da der fragliche Port momentan nicht benutzt wird so ist klar da der Zielrechner erreicht wurde und das Senden von Paketen beendet werden kann In unserem Fall funktioniert dieses Verfahren allerdings nicht richtig Wir filtern alle Zugriffe weswegen keine Fehlermeldungen gesendet werden Das Programm sendet also weiter Pakete bis ein voreingestellter Wert f r TTL erreicht ist blich ist hier 30 Betrachten wir nun noch einmal die Logeintr ge so stellen wir fest da jedes Paket einen Wert f r TTL besitzt der gr er als oder gleich seinem Vorg nger ist T 1 T 1 T 2 T 2 Dies ist ein sicheres Merkmal anhand dessen man traceroute leicht von Port Scans unterscheiden kann Gerade wenn eine Flut von verbotenen Zugriffen im Protokoll auftaucht sollte man immer als erstes berpr fen ob es sich um ein Traceroute handelt Nichts ist peinlicher als andere Leute wegen eines Angriffs zu alarmieren der sich dann als harmlose Netzwerkdiagnose mit einem Standardwerkz
54. as ebenfalls berwacht werden soll In beiden F llen bietet es sich an Ihre Policy zu ndern Hierzu ben tigen Sie Ihre Policy in Form einer Textdatei Nachdem die Policy Ihren neuen Anforderungen entspricht benutzen Sie bitte den Befehl tripwire update policy lt Policy Text gt Damit wird nicht nur eine neue Bin rdatei mit der aktuellen Policy erzeugt auch die Datenbank wird an die neuen Verh ltnisse angepa t 6 Siehe Kapitel 16 Unterabschnitt Festlegen der Policy ab Seite 476 482 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 483 502 Automatischer Start mit Cron Schlie lich wollen wir noch daf r sorgen da tripwire regelm ig aufgerufen wird Am einfachsten ist dies wenn Ihre Distribution Verzeichnisse der Art etc cron daily und etc cron weekly besitzt In diesem Fall wird ein Skript in einem dieser Verzeichnisse automatisch t glich bzw w chentlich ausgef hrt Jegliche Ausgabe des Programms wird per E Mail an root geschickt Das Skript kann z B folgenderma en aussehen bin sh usr sbin tripwire check Achten Sie aber darauf da Sie den richtigen Pfad f r das Programm tripwire angeben Welcher das ist k nnen Sie gegebenenfalls mit which herausfinden which tripwire usr sbin tripwire Existiert kein passendes Verzeichnis in etc so k nnen Sie auch die folgende Zeile in etc crontab eintragen 3
55. berfl ssig ist Ein Angreifer der diese Dateien eines Benutzers manipulieren kann kann dadurch erreichen da bestimmte Programme ausgef hrt werden Programme in ungew hn lichen Verzeichnissen gesucht werden PATH Befehle pl tzlich v llig andere Ak tionen ausf hren alias oder da sich ein beliebiger Fremder pl tzlich unter dem Namen des Benutzers am System anmelden kann ohne ein Pa wort anzugeben 454 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 455 474 Schlie lich existiert in einigen Distributionen das Verzeichnis root bin Auch hier k nnen wie in sbin Programme liegen die dazu gedacht sind von root ausgef hrt zu werden Empfehlung Eine Pr fsummenbildung f r root bin und die genannten Dateien falls vorhanden ist sinnvoll lib Viele Funktionen werden nicht in jedem Programm neu geschrieben sondern zen tral in Form von Bibliotheken realisiert die dann gemeinsam von mehreren Program men benutzt werden k nnen Gelingt es einem Angreifer eine wichtige Bibliothek auszutauschen so kann er mit einem Schlag das Verhalten einer gro en Zahl von Programmen manipulieren ohne diese selbst zu ver ndern Er k nnte so z B den Zugriff auf Dateien oder die Auflistung von Verzeichnisinhalten kontrollieren Ein Teil dieser Bibliotheken befindet sich unter lib darunter auch die libc die von fast jedem Programm benutzt wird und u a
56. bersichten welche R ume welche Rechner enthalten Aufstellungen wie die Rechner in logische Subnetze eingeteilt sind Verzeichnisse der Telefonnummern unter denen man Ansprechpartner in St rf llen erreicht Dokumentation 531 firewall 2006 1 4 15 26 page 532 551 Zus tzlich zur statischen Beschreibung des Zustands unserer Rechner sollten wir auch Aufzeichnungen ber unsere Arbeiten am System sowie besondere Ereignisse f hren die eine Auswirkung auf unsere Arbeit haben Darunter fallen z B e St rungen Hardwarefehler Systemcrashes Stromausf lle St rungen der Netzanbin dung e Wartungsarbeiten aller Art nderungen der Konfiguration Installation neuer Soft ware Upgrades Tests Reboots Logrotationen e Besuch von Servicetechnikern e Einrichten oder L schen von Benutzerkonten F r solche Logb cher hat sich die Benutzung gebundener Kladden bew hrt in die die Eintr ge jeweils mit Datum und Unterschrift erfolgen So ist relativ klar wer wann was getan hat Auch besteht nicht die Gefahr da Seiten herausfallen oder in die falsche Reihenfolge geraten Die einzelnen Eintr ge sollten dabei klar darstellen was geschehen ist Allerdings ist es nicht sinnvoll zu sehr ins Detail zu gehen wenn die Information bereits in detaillierter Form vorliegt Setzt man z B einen Proxy neu auf so sollten die Informationen was man sich von ihm erhofft sowie der Port auf welchem er seinen Dienst
57. cherheitsl cken wurden zwar umgehend von den Software Herstellern behoben es existieren aber immer noch genug Rechner auf denen veraltete Programmversionen eingesetzt werden In diesem konkreten Fall wissen wir da ein Zugriff auf Port 31789 erfolgen sollte Ein kurzer Blick in die Datei etc services zeigt uns da es sich um keinen der gebr uchlichen Ports von Netzwerkdiensten handelt Vorsichtshalber sollten wir auch noch einmal einen Blick in die aktuelle Liste der registrierten Ports werfen http www isi edu in notes iana assignments port_numbers W re versucht worden auf einen der Ports 81 88 3128 8000 8080 oder 8888 zuzugrei fen so k nnte es sich um jemanden handeln der nach Proxies sucht die es ihm erlauben anonym zu surfen 31789 geh rt allerdings nicht in diese Kategorie Da die regul ren Serverdienste ausscheiden sollten wir nach irregul ren suchen die den Zugriff erkl ren Hier kommt insbesondere eine Vielzahl von Trojanern in Frage die auf einem bestimmten Port Anfragen entgegennehmen und es so erlauben einen infizierten Rechner ber das Internet fernzusteuern Wir befragen daher eine Suchmaschine mit dem Begriff 31789 UDP Diese Anfrage liefert neben diversen Seiten die sich genau mit Zugriffen auf unseren gesuchten Port besch ftigen auch einige Listen die diverse Ports enthalten die immer wieder in Port Scans auftauchen Es lohnt sich diese in der Lesezeichenliste des Browsers f r die n ch
58. cht zu vernachl ssigenden Teil Ihrer Zeit als Firewall Administrator sollten Sie schlie lich damit zubringen sich selbst zu informieren und die von Ihnen betreute Fire wall auf dem aktuellen Stand zu halten Dazu sollten Sie regelm ig berpr fen ob neue Sicherheitsl cken bekannt geworden sind welche die Sicherheit Ihres Systems bedrohen Eine Reihe von Organisationen ver ffentlicht dazu regelm ig aktuelle Informationen An erster Stelle sind nat rlich die Hersteller der Distributionen zu nennen F r die hier behandelten Distributionen w ren das SuSE Sicherheitsmeldungen finden sich unter http www novell com linux security securitysupport html Allgemeine Updates liegen unter http www novell com linux download updates Updates 535 firewall 2006 1 4 15 26 page 536 555 i Debian Debian hinterlegt Sicherheitsmeldungen unter http www debian org security Es existieren aber auch unabh ngige Organisationen die regelm ig Warnungen vor neuen Sicherheitsl cken ver ffentlichen BugTraq BugTraq ist eine Mailingliste auf der Sicherheitsexperten und Anwender Informatio nen ber Sicherheitsl cken in Software austauschen Archiviert wird diese unter http www securityfocus com Ein besonderer Schwerpunkt liegt auf Unix Systemen daher hat sich eine zus tzliche Liste f r NT Systeme gebildet die man unter http www ntbugtrag com findet CERT CC Das Computer Emergency Response Cen
59. ckup Backup 20020324 tar gz In der Regel werden wir hierbei sogar nur eine Datei erhalten In diesem Fall sollten wir sie vor dem Brennen noch umbenennen mv backup Backup 20020324 tar gz aa backup Backup 20020324 tar gz Nun brauchen wir die Dateien nur noch zu brennen ide scsi Wenn Sie einen Kernel der Serie 2 2 oder 2 4 mit einem ATAPI Brenner benutzen so m ssen Sie ihn als SCSI Gerat ansprechen Das gleiche gilt falls Sie einen Kernel der Serie 2 6 mit SCSI emulation support konfiguriert haben Benutzen Sie dagegen einen echten SCSI Brenner oder einen Kernel der Serie 2 6 der mit der Option Include IDE ATAPI CDROM Support kompiliert wurde so k nnen Sie diesen Abschnitt ber springen Einen Kernel der Serie 2 2 oder 2 4 konfigurieren Sie f r die SCSI Emulation mit den Optionen SCSI host adaptor emulation ide scsi SCSI CD ROM support sr_mod und SCSI generic support sg Bei Verwendung eines modularen Kernels werden Sie daf r sorgen m ssen da die Module sg sr_mod und ide scsi geladen werden Oft werden Sie aber feststellen da Ihr CD Brenner bereits als IDE Ger t erkannt und daher vom Treiber ide cd f r IDE CD ROM Laufwerke beschlagnahmt wurde Sie k n nen das ganz einfach testen K nnen Sie eine CD als dev hdb dev hdc oder dev hdd mounten so ist der IDE Treiber am Werk Gelingt es dagegen unter dev srO so hat es der SCSI Treiber geschafft sich f r zust ndig zu erkl ren Um
60. datei die wir nicht direkt bearbeiten k nnen Daher befindet sich normalerweise nach der Installation eine Datei twefg txt im selben Ver zeichnis die mit jedem Editor an unsere Bed rfnisse angepa t werden kann Ist nur etc tripwire tw cfg vorhanden so kann mit twadmin print cfgfile gt etc tripwire twetg txt eine Klartextversion erzeugt werden Nachdem wir die Datei unseren Bed rfnissen angepa t haben k nnen wir mit dem Auf ruf twadmin create cfgfile gt site keyfile etc tripwire site key twcfg txt eine neue Bin rversion erzeugen Festlegen der Policy Nun sollten wir festlegen welche Dateien und Verzeichnisse Tripwire untersuchen soll Diese Einstellungen legt Tripwire in der Datei etc tripwire tw pol ab Auch aus dieser kann mit einem Aufruf von twadmin eine Klartextversion erzeugt werden twadmin print polfile gt etc tripwire twpol txt 476 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 477 496 Standardm ig ist aber nach der Installation schon eine Klartextdatei vorhanden die in der Regel auf eine Komplettinstallation eines Red Hat Systems abgestellt ist und nicht wirklich zu unserem abgespeckten Spezialsystem pa t Wir sollten daher unbedingt die Originaldatei umbenennen und eine eigene Version erzeugen Tabelle 16 2 Tripwire Attribute Attribut Bedeutung Letzter Zugriff atime Belegter Speicherplatz in B
61. die beschriebenen Funktionen realisiert Des weiteren befinden sich unter lib modules standardm ig die Kernel Module Empfehlung Pr fsummen bilden lost found Nach einer festgelegten Anzahl von Systemstarts wird beim Bootvorgang das Programm fsck aufgerufen Dieses untersucht das Dateisystem auf logische Wi derspr che Wenn es dabei verlorene Cluster findet Datenbl cke also die weder zu einer Datei geh ren noch als frei markiert sind werden diese als neue Dateien unter lost found abgelegt Empfehlung Eine Pr fsummenbildung er brigt sich opt In diesem Verzeichnis werden Dateien abgelegt die zu gr eren Programmpake ten geh ren welche nicht Teil der Standardinstallation sind In der Praxis ist dies allerdings ein sehr vages Kriterium Typischerweise finden sich hier der Netscape Communicator KDE und andere gro e Anwendungen Der File Hierarchy Standard schreibt vor da Dateien dieser Pakete die sich im normalen Betrieb ndern unter var opt abzulegen sind Der Inhalt von opt sollte daher statisch sein Empfehlung Pr fsummen bilden proc Die Dateien in diesem Verzeichnis existieren nur virtuell Sie belegen keinen Platz auf der Festplatte sondern repr sentieren interne Variablen und Speicherbereiche des Kernels Empfehlung Eine Pr fsummenbildung er brigt sich tmp Hier k nnen Dateien abgelegt werden die von einem Programm zur Laufzeit dy namisch erzeugt werden und nach dessen Beendigung
62. edscripts Bezieht sich die Regel auf mehrere Dateien dann werden die prerotate Anweisungen nur einmal ausgef hrt bevor oder nachdem alle Dateien rotiert wur den Normalerweise werden die Anweisungen f r jede einzelne Datei ausgef hrt include Datei Die Datei wird eingebunden Ist statt dessen ein Verzeichnis angegeben so werden alle Dateien in diesem Verzeichnis eingebunden Optionen hinter denen SuSE steht habe ich nur auf der Manpage unter SuSE 9 3 nicht aber unter Debian 3 1 gefunden Die Konfigurationsdatei unter Debian 3 1 enth lt die gleichen Regeln definiert aber zu s tzlich noch Regeln f r zwei Logdateien var log wtmp missingok monthly create 0664 root utmp rotate 1 var log btmp missingok monthly create 0664 root utmp rotate 1 Hier sehen wir wie Regeln f r konkrete Dateien aufgebaut sind Der Aufbau ist immer Datei Option 1 Option 2 Hierbei k nnen als Dateiname auch Wildcards angegeben werden Enth lt ein Dateina me Leerzeichen so mu er in einfache oder doppelte Anf hrungszeichen eingeschlossen werden Andernfalls w rde davon ausgegangen da es sich um die Angabe von mehre ren Dateien handelt Nun sollten wir uns dem Verzeichnis etc logrotate d zuwenden Beide Distributionen le gen dort Dateien ab die jeweils die konkreten Regeln f r die einzelnen Dateien enthalten Diese Dateien sind jeweils nach dem Dienst benannt dessen Protokolldateien sie definie ren Uns
63. eichen Beliebig viele Gro buchstaben Zeilenanfang Zeilenende Wort Anfang Wort Ende Einfacher reg Ausdruck Erweiterter reg Ausdruck grep YA ABC ABC A Z a zA Z0 9 A Z A lt gt T GNU Erweiterung wird nicht von jedem Programm unterst tzt egrep ABC AABC A Z a zA Z0 9 A 2 A lt gt Um diese zu klassifizieren reichen die folgenden Zeilen http gw permit host use of gateway http gw content type http gw log host http gw exit host Dazu kommen dann noch Zeilen f r andere normale Ereignisse im Betrieb des http gu http gw Network connection closed during write http gw caught signal http gw Starting daemon mode on port 8080 http gw failed to connect to http server hnliche Zeilen k nnen wir auch f r den pppd aufstellen pppd Starting link pppd Serial connection established pppd Connect pppo lt gt dev ttySi pppd Connection terminated pppd pppd Hangup SIGHUP Terminating connection due to lack of activity kernel PPP Deflate Compression module registered kernel PPP BSD Compression module registered Auswerten der Systemprotokolle 509 firewall 2006 1 4 15 26 page 510 529 remote IP address pppd 2 3 11 started by root uid 0 local IP address Using interface pppo Terminating on signal 15 Sent 0 9 bytes received 0
64. eine englische E Mail mit einem Liebesbrief als angeh ngtes Word Dokument schickt Ein verwandtes Problem stellen aktive Inhalte in Webseiten dar Weder der Internet Ex plorer noch der Netscape Navigator sind frei von Implementierungsfehlern Regelm ig erscheinen Meldungen ber neue Sicherheitsl cken die es erlauben Dateien auf dem lokalen Rechner mittels spezieller Webseiten auszulesen Sicherlich kann man versuchen aktive Inhalte mit speziellen Proxies auszufiltern Tut man dies aber konsequent und ohne Ausnahmen so wird man schnell feststellen da dies bei den Benutzern auf wenig Gegenliebe st t Zwar sind nur wenige Seiten tat s chlich so aufgebaut da sie ohne aktive Inhalte nicht richtig dargestellt werden der Aufwand f r diese jeweils Ausnahmeregeln am Proxy zu definieren w rde bei einem aktiven Benutzerstamm aber schnell untragbar werden Zumindest im Fall von JavaScript wird man kaum darum herumkommen seine Benutzer entscheiden zu lassen wann sie eine Filterung w nschen und wann nicht Dies kann z B geschehen indem man ihnen mehrere Proxies zur Verf gung stellt oder ihnen erkl rt wie JavaScript im Browser konfiguriert werden kann Als letztes Beispiel sei noch der Gebrauch unsicherer Pa w rter genannt Pa w rter sind derzeit der g ngigste Weg den Zugang zu einer Ressource zu kontrollieren Sie haben aber den Nachteil da sie im Gegensatz zu einem Schl ssel oder einer Chipkarte nicht greifbar sind
65. ell m glich aber man che Kernelversionen und auch manche DVD ROM Laufwerke k nnen die zus tzlichen Sitzungen nicht lesen Das Zur ckspielen des Backups Irgendwann kommt der Tag an dem Sie das System durch Zur ckspielen des Backups wiederherstellen m ssen F r diesen Vorgang ben tigen Sie ein Rettungssystem auf Dis kette oder CD Solche Rettungssysteme werden normalerweise mit den g ngigen Distri butionen mitgeliefert Ist dies bei Ihnen nicht der Fall so finden Sie im Internet unter http ibiblio org pub Linux system recovery INDEX html eine ganze Reihe von Rettungssystemen Mein pers nlicher Favorit ist tomsrtbt Dieses System pa t auf eine Diskette hat eine Unterst tzung f r deutsche Tastaturen und ent h lt alles was man im Katastrophenfall braucht Die Homepage von tomsrtbt finden Sie unter http www toms net rb Idealerweise haben Sie die Wiederherstellung schon ge bt bevor der Ernstfall eintritt Das sicherste Vorgehen ist dabei einen baugleichen Rechner zu benutzen oder zumindest die Festplatte aus der Firewall auszubauen und durch eine baugleiche zu ersetzen Ist Ihr Vertrauen in Ihr Backup wirklich durch nichts zu ersch ttern so k nnen Sie auch einen Crash mit dem folgenden Befehl simulieren dd if dev zero of dev hda bs 512 count 1 Damit wird der Master Bootrecord gel scht und damit auch die dort enthaltenen Anga ben zu den vorhandenen Partitionen der Festplatte F r den Computer ist die F
66. emaufruf durch den ein Verzeichnis zum neuen Wurzelverzeichnis erkl rt wird Alle Verzeichnisse au erhalb dieses Verzeichnisses sind nicht mehr sichtbar und alle Pfade werden relativ zum neuen Wurzelverzeichnis interpretiert Die Welt au erhalb des neu en Wurzelverzeichnisses h rt scheinbar auf zu existieren In unserem Fall nehmen wir das Verzeichnis als neues Wurzelverzeichnis auf das wir unsere Festplatte gemountet haben chroot mnt sbin lilo Added 1 Nun k nnen wir neu booten Danach sollte unsere Firewall ganz normal hochfahren und ihren Dienst aufnehmen Lediglich der squid k nnte dabei Probleme machen Da wir den Inhalt seines Cache Verzeichnisses nicht mitgesichert haben ist es leer In der Regel wird er die n tigen Unterverzeichnisse und Indizes selbst ndig neu erzeugen Geschieht das aber in Ihrem Fall nicht so k nnen Sie dies auch explizit veranlassen squid z 500 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 501 520 Auswerten der Systemprotokolle Eine grunds tzliche Hilfe bei der rechtzeitigen Erkennung von Problemen liefern die Pro tokolldateien des syslogd Viele Programme hinterlassen dort Mitteilungen die dem Sy stemverwalter helfen sollen im Fehlerfall schnell die Ursache des Problems zu finden So wiesen mich z B die Fehlermeldungen Jun 1 18 39 16 gonzales kernel hdb drive _cmd status 0x51 DriveReady SeekComplete
67. en Automatischer Start mit Cron Schlie lich wollen wir noch daf r sorgen da aide regelm ig aufgerufen wird Am einfachsten ist dies wenn Ihre Distribution Verzeichnisse der Art etc cron daily und etc cron weekly besitzt In diesem Fall wird ein Skript in einem dieser Verzeichnisse 4 Ehre wem Ehre geb hrt Dieser Tip stammt nicht von mir sondern aus 10 wo er Ron Forrester zuge schrieben wird seines Zeichens Tripwire Opensource Project Manager Checksummer 473 firewall 2006 1 4 15 26 page 474 493 automatisch t glich bzw w chentlich ausgef hrt Jegliche Ausgabe des Programms wird per E Mail an root geschickt Das Skript kann z B folgenderma en aussehen bin sh media cdrom aide check config media cdrom aide conf Existiert kein passendes Verzeichnis in etc so k nnen Sie auch die folgende Zeile in etc crontab eintragen 3 media cdrom aide check config media cdrom aide conf Auf diese Weise wird aide jede Nacht um 3 Uhr aufgerufen siehe Kapitel 9 Abschnitt Cron ab Seite 175 Existiert diese Datei nicht so verwenden Sie wahrscheinlich einen anderen als den hier vorgestellten cron von Paul Vixie In diesem Fall sollten Sie die Manpages Ihres cron studieren Um die passenden Manpages zu finden verwenden Sie am besten die Option k von man gt man k cron crontab 5 tables for driving cron cron 8 daemon to execute scheduled commands Vixie Cron
68. en mit dem Kompressionsprogramm gzip oder neuerdings bzip2 bildet er in der Unix Welt das Gegenst ck zu Winzip oder Pkzip in der Windows Welt Wie der Name schon sagt wurde tar daf r entwickelt Dateien auf ein Magnetband zu schreiben Man kann aber prinzipiell statt auf ein Band auch in eine Datei schreiben Im Gegensatz zu Winzip komprimiert tar die archivierten Dateien nicht Es schreibt f r jede Datei eine Reihe von Datenbl cken fester Gr e auf das Zielmedium Im ersten Block steht um welche Datei es sich handelt und wieviel Platz sie ben tigt w hrend die nachfolgenden Bl cke Byte f r Byte den eigentlichen Inhalt der Datei enthalten gefolgt von Nullen wenn die Datei den letzten Datenblock nicht ganz f llt Backups 485 firewall 2006 1 4 15 26 page 486 505 Ein unkomprimiertes tar Archiv hat eine so einfache Struktur da man Daten oft auch dann noch retten kann wenn das Archiv teilweise besch digt ist Es gen gt beim n ch sten Verwaltungsblock hinter der besch digten Stelle anzusetzen und man kann die rest lichen Dateien immer noch extrahieren siehe Kapitel 17 Unterabschnitt Gel schte Da teien ab Seite 589 W re das Archiv dagegen gepackt so sind in der Regel alle Daten hinter der besch digten Stelle verloren da hier die Kompression eines Datenbereiches von einer Tabelle abh ngt die dynamisch w hrend der Kompression der vorangehenden Daten aufgebaut wurde Fehlt nun ein Teil des Da
69. en und Wartungsarbeiten no tieren Solche Aufzeichnungen haben mehrere Vorteile e Treten St rungen h ufiger aber in unregelm igen Abst nden auf so erlaubt Ihnen Ihre Dokumentation unter Umst nden Muster zu erkennen e Betreuen Sie die Firewall nicht alleine so erlauben es die Aufzeichnungen nachzu vollziehen was die Kollegen in Ihrer Abwesenheit getan haben Finden Sie im Sy 530 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 531 550 stemprotokoll z B Spuren von Wartungsarbeiten so ist es hilfreich wenn man in einem Logbuch nachlesen kann wozu diese gedient haben Wenn Sie mehrere Rechner betreuen so kann es f r Neuplanungen n tig sein tech nische Angaben zu mehreren Rechnern vorliegen zu haben Es erleichtert die Arbeit wenn Sie dann nicht erst zu jedem Rechner gehen m ssen um die Daten dort lokal auszulesen M ssen Sie eine neue Firewall aufsetzen so k nnen Aufzeichnungen der Konfigura tion die notwendigen Arbeiten erheblich beschleunigen Zwar k nnten die n tigen Daten auch aus dem bestehenden System oder einem elektronischen Backup ent nommen werden dort m ten Sie sie aber erst m hsam heraussuchen M ssen Sie gar die Firewall wiederherstellen weil diese z B durch einen Plattende fekt nicht mehr benutzbar ist so sind Papieraufzeichnungen eine sinnvolle R ckver sicherung f r den Fall da das Backup fehlerhaft i
70. en wie z B Router und die Freigabedienste unter Windows NT zu berwachen und zu konfigurieren Allerdings kann es im lokalen Netzwerk auch schon zu Fehlalarmen kommen wenn HP Drucker mit JetDirect Software eingesetzt werden 445 TCP SMB over TCP Dieser Port ersetzt unter Windows 2000 die Ports 135 137 138 und 139 Die alten Ports sind zwar aus Kompatibilit tsgr nden noch aktiv sie werden aber nur noch f r den Kontakt mit lteren Klienten oder Servern genutzt Es gilt das zu diesen Ports Gesagte Zugriffe auf diesen Port k nnen auf Versuche hinweisen auf ungesch tzte Netzwerkfreigaben zuzugreifen oder eine Sicherheits l cke im RPC Dienst auszunutzen um die Kontrolle ber den Rechner zu erlangen Letzteres tat z B der Blaster Wurm 515 UDP Printer dient zum Ausdruck von Dokumenten ber ein Netzwerk Scans auf diesen Ports k nnten auf Versuche hinweisen einen Fehler in einigen Versionen der Software LPRng auszunutzen die es erlaubte den Dienst beliebige Kommandos aus f hren zu lassen 1214 TCP UDP Wird von den Filesharing Diensten Kazaa Morpheus und Grokster be nutzt Solche Pakete m ssen nicht auf einen Angriff hindeuten wenn Sie eine dyna mische IP Adresse benutzen Wahrscheinlich hatte Ihr Provider die Adresse zuvor jemandem zugewiesen der einen Filesharing Klient benutzt Ein Kommunikations partner Ihres Vorg ngers war aber wohl noch nicht fertig mit seinen Downloads als Ihr Vorg nger die Verbindung beendete
71. enn Sie schon dabei sind k nnten Sie auch das Programm aide brennen aide ist b licherweise statisch kompiliert und ben tigt daher keine weiteren Bibliotheken ldd which aide not a dynamic executable Wenn Sie das System nun von einer Rettungsdiskette booten und dann die CD bzw DVD mounten so k nnen Sie die Pr fsummen auch dann berpr fen wenn Sie davon ausgehen m ssen da das System komplett unter der Kontrolle eines Angreifers steht Tabelle 16 1 AIDE Attribute Attribut Bedeutung p Berechtigungen i Nummer des Inode Speicherort auf der Festplatte n Anzahl der harten Links u UID g GID s Dateigr e m letzter Schreibzugriff mtime a letzter Zugriff atime c letzte nderung der Dateiattribute ctime 5 berpr fung auf steigende Dateigr e md5 md5 Pr fsumme sha1 sha1 Pr fsumme rmd160 rmd160 Pr fsumme tiger tiger Pr fsumme R p i n u g s m c md5 L p i n u g E leere Attributliste gt Protokolldatei die nur gr er wird p u g i n S crc32 crc32 Pr fsumme ben tigt mhash haval haval Pr fsumme ben tigt mhash gost gost Pr fsumme ben tigt mhash Als n chstes m ssen wir angeben welche berpr fungen durchgef hrt werden sollen AIDE kennt dabei eine ganze Reihe von Dateieigenschaften die berpr ft werden k n nen In Tabelle 16 1 finden Sie eine bersicht Dabei k nnen Sie auch mehrere Pr fungen kombinieren indem Sie sie mit einem Plus zeichen verb
72. erbinden die Option o im Aufruf von mkisofs weglassen cdrecord als Namen des ISO Images bergeben und mkisofs mit quiet den Mund verbieten mkisofs R J T quiet Datei gt cdrecord v dev lt Devicebez gt Da cdrecord von der Standardeingabe liest kann es nicht vor dem Brennen feststellen wie viele Daten tats chlich gebrannt werden sollen Da manche Brenner diese Angabe aber brauchen kann man die Gr e mit den folgenden Befehlen ermitteln und explizit angeben blocks mkisofs print size quiet R J T lt Datei gt mkisofs R J T quiet lt Datei gt gt cdrecord v dev dev hdc tsize blocks s Beachten Sie dabei bitte das s an der tsize Option Au erdem ist der erste mkisofs Befehl von Backquotes nicht normalen Anf hrungszeichen umgeben Brennen eines Backups auf DVD Das Brennen einer DVD ist prinzipiell etwas einfacher als das Brennen einer CD Zum einen ist es nicht n tig erst dreistellige Nummerncodes herauszufinden Man kann ein fach das Device angeben z B dev hdc oder dev sr0 9 Zum anderen ist die Syntax des verwendeten Befehls growisofs deutlich simpler als die komplizierte Verkettung von mkisofs und cdrecord die wir f r das Brennen von CDs 10 Vgl Kapitel 16 Unterabschnitt ide scsi ab Seite 491 494 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 495 514 verwendet haben Der Befehl ru
73. erden stderr Ausgabe auf die Standard Fehler Ausgabe File Descriptior 2 kann nur zum Schreiben verwendet werden file Datei Die Datei Datei file Rechner Datei Eine Datei dabei darf als Rechnername aber derzeit nur der lokale Rechner angegeben werden fd Nummer Angabe eines File Descriptor Insbesondere die Zieldatei f r database sollten wir sorgf ltig ausw hlen Diese Daten bank mit den Pr fsummen ist die Achillesferse des Systems Hier sollten Sie berle gen ob Sie die Datei auf eine CD oder DVD brennen und dann in der Konfigurati onsdatei den Pfad zu der Datei auf der gemounteten CD oder DVD angeben z B me dia cdrom aide db Auf diese Weise k nnen Sie zuverl ssig verhindern da der Angreifer die Datenbank nachtr glich anpa t um Alarme zu vermeiden 2 Auch wenn es m glich w re w rde ich Ihnen davon abraten eine Konfigurationsdatei f r einen Checks ummer ber das Netz einzulesen 3 F r eine Floppy Disk ist die Datei in der Regel zu gro Wie man CDs und DVDs unter Linux brennt wird in Kapitel 16 Unterabschnitt Brennen eines Backups auf CD oder DVD ab Seite 489 besprochen Checksummer 469 firewall 2006 1 4 15 26 page 470 489 Auf die gleiche Weise k nnen Sie auch die Konfigurationsdatei vor Ver nderung sch t zen Sie m ssen dann aber daran denken bei jedem Aufruf von aide mit config anzu geben da die Konfigurationsdatei auf der CD verwendet werden soll W
74. eres als lt none gt so wurden den Partitionen Label zugewiesen die wir im Falle einer Wiederher stellung des Systems rekonstruieren m ssen Wir sollten daher auch die Information ber die Label mit abspeichern Die folgenden Befehle tun genau das Dabei ist allerdings zu beachten da beim ersten grep die 83 durch zwei Leerzeichen von dem Linux getrennt ist fdisk 1 grep 83 Linux while read dev rest do echo n dev tune2fs 1 dev grep Filesystem volume name sed s Filesystem volume name done gt gt partitionen txt VVVVVVVVRER Hier werden wie gehabt die Partitionen aufgelistet worauf dann diejenigen herausgefil tert werden bei denen es sich um ext2 Partitionen handelt In der while Schleife werden die Namen der Partitionen gelesen und an tune2fs weitergegeben dessen Ausgaben dann auf das Wesentliche reduziert werden Dies funktioniert nat rlich nur wenn Ihr fdisk den Aufruf ohne eine explizite Anga be einer Festplatte versteht Andernfalls mu ihm wie zuvor der jeweilige Name der zu untersuchenden Festplatte mitgegeben werden Die so erhaltene Datei k nnen wir nun auf eine Diskette kopieren und auf einem anderen Rechner ausdrucken Zus tzlich sollten wir die Datei bei der Erstellung des Backups mitsichern um auch ganz sicherzugehen da diese Informationen zur Verf gung stehen wenn wir sie brauchen Archive erzeugen mit tar Der Befehl tar steht f r Tape Archiver Zusamm
75. estplatte damit leer Unser n chster Schritt besteht darin die Festplatte zu partitionieren Dabei sollten die neu eingerichteten Partitionen nicht kleiner sein als ihre Gegenst cke im urspr nglichen System F r die Partitionierung enthalten Rettungssysteme blicherweise ein Programm namens fdisk Es handelt sich dabei um ein gew hnungsbed rftiges Werkzeug das durch ein buchstabige Befehle gesteuert wird Ein benutzerfreundlicheres Werkzeug w re cfdisk das sich regelrecht intuitiv bedienen l t dieses ist aber normalerweise nicht in Ret tungssystemen enthalten Beginnen wir indem wir fdisk mit dem Namen der zu partitionierenden Platte aufrufen fdisk dev hda 496 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 497 516 Nun wird ein Prompt angezeigt an dem wir Befehle eingeben k nnen m zeigt dabei eine Liste der zur Verf gung stehenden Befehle an Um eine neue Partition anzulegen m ssen wir n eingeben und einige Fragen zur neuen Partition beantworten Command m for help n Command action 1 logical 5 or over p primary partition 1 4 p Partition number 1 4 1 First cylinder 1 790 default 1 1 Last cylinder or size or sizeM or sizeK 1 389 default 389 6M Erweiterte Partitionen brauchen wir bei neueren Versionen von fdisk normalerweise nicht explizit anzulegen Wenn wir eine logische Partition anlegen wird automa
76. eug herausstellt Solaris und Windows benutzen brigens eine leicht abgewandelte Methode Hier wer den ICMP Echo Pakete Ping mit steigenden TTL Werten gesendet Diese w rden in der hier beschriebenen Konfiguration nicht im Systemprotokoll auftauchen da wir Ping ohne Protokollierung erlaubt haben Zusammenfassend l t sich sagen da man Meldungen der Paketfilter zwar analysieren sollte da sie aber normalerweise keinen Anla zur Panik geben Die Tatsache da ein Zugriff vereitelt wurde zeigt da die Firewall ihren Zweck erf llt und einen wertvollen Beitrag zur Sicherheit des Systems leistet Die Art der erfolgten Zugriffe zeigt uns welche Angriffe im Netz gerade besonders be liebt sind Falls wir Server betreiben sollten wir die Zugriffe auch als Denkanst e be trachten welche Systemdienste mal wieder auf ihre sichere Konfiguration hin berpr ft und gegebenenfalls aktualisiert werden sollten Dokumentation Neben den Aufzeichnungen die Ihr Computer in Form seines Systemprotokolls f hrt und Backups die Sie in elektronischer Form erstellt haben sollten Sie auch noch Doku mentationen in Papierform erstellen Hierbei sollten Sie zum einen Dokumentationen Ihres Rechners erstellen die es erlau ben schnell in Erfahrung zu bringen aus welchen Komponenten er zusammengesetzt und wie er konfiguriert ist Zum anderen ist es aber auch sinnvoll ein Logbuch zu f h ren in dem Sie ungew hnliche Ereignisse Systemst rung
77. ev cua0 gt DEVDYN dev cua1 gt DEVDYN dev cua2 gt DEVDYN dev ttySo gt DEVDYN dev ttys1 gt DEVDYN dev ttyS2 gt DEVDYN dev console gt DEVDYN dev ttyo gt DEVDYN dev tty1 gt DEVDYN dev tty2 gt DEVDYN dev tty3 gt DEVDYN dev tty4 gt DEVDYN dev tty5 gt DEVDYN dev tty6 gt DEVDYN dev tty7 gt DEVDYN dev tty8 gt DEVDYN dev tty9 gt DEVDYN dev tty10 gt DEVDYN dev tty11 gt DEVDYN dev urandom gt DEVDYN dev random gt DEVDYN dev initctl gt DEVDYN Damit die neue Policy auch von Tripwire benutzt wird m ssen wir sie wieder in das Bin rformat umwandeln twadmin create polfile etc tripwire twpol txt Das Benutzerhandbuch zu Tripwire empfiehlt als letzten Schritt die Textdatei aus dem System zu entfernen oder zu l schen um dem Angreifer keine Anhaltspunkte zu hinter lassen Generieren der Datenbank Nachdem wir nun festgelegt haben nach welchen Kriterien das System inventarisiert werden soll besteht der n chste Schritt darin eine Bestandsaufnahme zu machen und in einer Datenbank abzulegen Diese dient dann als Ausgangsbasis mit der sp ter das System verglichen wird Der Vorgang wird eingeleitet durch tripwire init Pr fen des Systems Ob sich seitdem die Datenbank generiert wurde etwas ge ndert hat pr fen Sie mit dem Befehl
78. ft zwar intern mkisofs auf wir brauchen uns darum aber nicht explizit zu k mmern Beim Brennen m ssen wir DVD RW Medien auf der einen Seite und DVD R bzw DVD R Medien auf der anderen Seite unterscheiden Ich werde daher erst einmal das Brennen der wiederbeschreibbaren DVD RWs beschreiben und dann kurz auf die Un terschiede beim Brennen von DVD R oder DVD R eingehen Allerdings werde ich mich hier auf die Aspekte beschr nken die f r unser Thema notwendig sind Auch werde ich nicht auf DVD RW und DVD RAM eingehen F r ein tiefergehendes Verst ndnis sollten Sie mit 9 beginnen Dort sind auch Hinweise auf weiterf hrende Quellen zu finden DVD RW Medien m ssen vor der ersten Benutzung formatiert werden Seit Version 5 1 erledigt growisofs dies automatisch Vorher mu te vor der ersten Benutzung eines DVD RW Mediums der folgende Befehl aufgerufen werden dvd rw format lt Device gt Beachten Sie dabei bitte da dies wirklich nur f r DVD RW Medien gilt die noch nie mals benutzt worden sind Will man z B ein beschriebenes Medium l schen so ist der Befehl nicht n tig Ist der Datentr ger formatiert so kann man damit beginnen Dateien darauf zu schrei ben Ist das Medium noch leer oder will man alle darauf bereits enthaltenen Dateien l schen so benutzt man den folgenden Befehl growisofs Z lt Device gt lt mkisofs opt gt lt Datei gt lt Device gt ist hierbei das Device des Brenners lt mkisofs opt gt sind
79. gilt f r die Verwendung von kill HUP postrotate if f var run privoxy pid then kill HUP cat var run privoxy pid gt dev null fi endscript Filterung Indem wir den betrachteten Zeitraum eingeschr nkt haben konnten wir die Anzahl der zu betrachtenden Eintr ge deutlich reduzieren Allerdings ist es trotzdem ziemlich er m dend all die Eintr ge durchzugehen die regelm ig in gro er Anzahl geschrieben werden und nicht auf Probleme sondern auf den normalen Betrieb des Systems hinwei sen So erzeugt ein Start des Systems bei mir derzeit 167 Meldungen des Kernels 11 durch den Start des named und 43 durch den Start des squid F hrt man den Rechner also nachts herunter so generiert man damit eine F lle von Meldungen die einen eigentlich nicht wirklich interessieren solange alle Dienste wie gew nscht funktionieren Nun wird man eine Firewall nicht zwangsl ufig regelm ig herunterfahren Linux Server sind ber hmt f r ihre langen Betriebszeiten ohne Unterbrechungen St render sind daher die Meldungen die durch den normalen Betrieb der Firewall entstehen So erzeugt der pppd z B jeweils f nf Meldungen beim Auf und Abbau einer Verbindung Auch eine Anmeldung am System erzeugt mindestens zwei Zeilen im Protokoll und ein Lauf von Cron drei Ganz besonders ins Gewicht fallen aber die Meldungen des Fire walling Man braucht nur ein paar Minuten mit dem Internet verbunden zu sein und bekommt unerw nschte Verbindun
80. gsanfragen im Sekundentakt 506 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 507 526 Aus diesem Grund ist es sinnvoll Filter zu schaffen die unwesentliche Meldungen un terdr cken und einem so helfen den Wald vor lauter B umen noch zu sehen K nstliche Ignoranz Linux bietet eine Vielzahl von Befehlen mit denen man Texte manipulieren kann Es bietet sich daher an mit ihnen eine Protokolldatei in eine lesbarere Form zu bringen Der Autor des Firewalling Toolkits Marcus J Ranum empfiehlt z B in 29 ein Verfahren das er k nstliche Ignoranz nennt Hierbei wird versucht den Inhalt einer Protokolldatei auf das Wesentliche zu reduzieren und nur eine Zusammenfassung der wichtigsten Ereignisse darzustellen Viele Meldun gen tauchen regelm ig auf und unterscheiden sich nur im Datum und der Proze num mer des meldenden Programms Solche Meldungen k nnen mit den folgenden Befehlen jeweils zu einer einzelnen Zeile zusammengefa t werden was den Umfang der Daten drastisch reduziert cat var log messages gt sed e s fw e s o 9 7 gt sort uniq c JA gt sort r n less Hier werden zuerst einmal Datum Rechnerangabe hier fw und Proze nummer sed entfernt Dazu benutzen wir den Befehl sed Dieser erh lt als Argument im einfachsten Fall einen Ausdruck der Art s lt Trenner gt lt Reg Ausdruck gt lt Trenner gt lt
81. gt bzw var lib lt Kennung gt Diese m ten im Prinzip wie das Hauptverzeichnis behandelt werden Es reicht aber normalerwei se alle Dateien im Verzeichnis mit Ausnahme der dortigen var log bzw var lock Unterverzeichnisse zu betrachten Im Einzelfall kann es allerdings vorkommen da var lock ein symbolischer Link auf lock ist und var log ein symbolischer Link auf log Dies mu man gegebenenfalls ber cksichtigen Empfehlung Eine Pr fsummenbildung ist nur f r var cron und die chroot K fige sinnvoll System map vmlinuz bzImage Bei diesen Dateien handelt es sich um Dateien des Boot vorgangs namentlich um zwei Kernel und eine Hilfsdatei Einige Distributionen in stallieren den Kernel direkt im Wurzelverzeichnis statt boot zu benutzen Dar ber hinaus benutzen manche Unix Versionen als Heimatverzeichnis f r root Ist dies auch bei Ihnen der Fall so beachten Sie bitte die unter root gemachten Ausf hrun gen Empfehlung Pr fsummen bilden Nachdem wir nun wissen welche Dateien wir berwachen wollen k nnen wir uns der Frage zuwenden wie das praktisch realisiert werden kann md5sum md5sum ist ein Kommando das normalerweise in jeder Linux Distribution enthalten ist Es wird mit den Namen einer oder mehrerer Dateien aufgerufen und erzeugt als Ausgabe pro Datei eine Zeile mit dem Namen und der Pr fsumme der Datei gt md5sum firewall tex firewall toc firewall dvi eae9d9cc558f192fobaocbdb855f1254 firewall tex
82. h auf den Rettungssystemen eine veraltete Version der Bibliothek da diese weniger Platz braucht In diesem Fall sollten Sie md5sum aus den Quellen neu kompilieren und statisch linken Auf diese Weise werden alle ben tigten Bibliotheken fest in das Programm eingef gt Das so erzeugte Programm kommt daher ohne zus tzliche Dateien aus Es ist allerdings deutlich gr er als sein dynamisch gelinktes Gegenst ck Das normale md5sum aus den GNU Textutils wird so ber 1 MB gro Damit bleibt kaum noch Platz f r die Pr fsummendatei und das oben gezeigte Skript Eine Alternative bietet BusyBox Hierbei handelt es sich um ein Programm das f r den Einsatz in Embedded Systemen konzipiert wurde Es realisiert die Grundfunktionalit t einer Vielzahl von Systemkommandos und verbraucht dabei relativ wenig Speicherplatz Mittlerweile reichen BusyBox und ein Kernel aus um ein komplettes Mini Linux zu rea lisieren 466 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 467 486 Der Programmaquelltext kann von http oss lineo com busybox heruntergeladen werden Nachdem wir das Archiv ausgepackt haben m ssen wir noch ein paar Anpassungen vor nehmen Als erstes bietet es sich an all diejenigen Funktionen abzuw hlen die wir nicht ben tigen Dazu m ssen wir die Datei Config h editieren Diese enth lt zwei Abschnitte Im ersten befinden sich zwischen BusyBox Applicati
83. h in etc services als auth 113 tcp Authentication Service Dieser Dienst wird auch als Ident bezeichnet Mit ihm kann erfragt werden welchem Benutzer eine bestehende Verbindung zugeordnet ist Ein Aufruf von nslookup zeigt uns da das Paket von einem bekannten M nchener FTP Server stammt Dieser Server stellt offenkundig f r jeden Benutzer der sich an ihm an meldet eine Ident Abfrage um festzustellen mit wem er es zu tun hat Solche Ident Abfragen sind durchaus normal Viele Server k nnen so eingestellt werden da sie versuchen die Identit t ihrer Besucher mittels Ident zu erfragen Dies betrifft nicht nur FTP Server sondern auch HTTP IRC Mail und vermutlich Server f r di verse weitere Protokolle Weitere Nachforschungen er brigen sich in diesem Fall Ein anderes Ph nomen das sich im Systemprotokoll auf den ersten Blick wie ein Angriff darstellt in Wirklichkeit aber eine ganz harmlose Ursache hat sieht folgenderma en aus 16 Eine bersicht ber Virenschutzl sungen unter Linux finden Sie unter http www openantivirus org 528 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 529 548 ov 22 22 01 49 fw kernel Packet log ext in DENY pppo PROTO 10 1 1 1 50135 10 0 0 1 33477 L 40 S 0x00 I 50178 F 0x0000 T 1 ov 22 22 01 54 fw kernel Packet log ext in DENY pppo PROTO 10 1 50135 10 0 0 1 33478 L 40 S 0x00 I 50179 F 0x0000 T 1 ov 22
84. hecksummen zu bilden summer while read f do nice md5sum f junk f done UH AA TERERAA TERE AEN AA Los geht s ji cioe AA IA eere e echo2 BANNER listfiles summer echo2 Fertig Rufen wir dieses Skript auf so erhalten wir eine lange Liste mit Pr fsummen Idealer weise leiten wir die Ausgabe in eine Datei um und komprimieren diese auch gleich checksummer gzip c 9 gt files md5 gz Auf diese Weise erhalten wir eine Datei die auch bei einem gr eren System noch auf eine Diskette pa t Die Variable R erlaubt es festzulegen da alle Pfade relativ zu einem Wurzelverzeichnis zu verstehen sind Wir k nnen so die Pr fsummengenerierung nicht aus dem laufenden System heraus vornehmen sondern statt dessen das Dateisystem in ein anderes System mounten und den Vorgang dann von dort aus einleiten Wir ben tigen diese Option im Moment noch nicht ich werde aber darauf zur ckkommen wenn es darum geht ein kompromittiertes System zu untersuchen Wenn wir die Checksummen berpr fen wollen brauchen wir nur die Pr fsummen als Eingabe f r md5sum zu verwenden gunzip c fw md5 gz md5sum c bin fillup OK bin tar OK bin bash OK bin ping OK bin chgrp OK bin chmod OK bin chown OK bin cp OK bin dd OK bin df OK bin 1n OK bin ls OK bin mkdir OK bin mknod OK bin mv OK bin rm OK Checksummer 463 firewall 2006 1 4 15 26 page 4
85. hnis backup gemountet ist Backups 489 firewall 2006 1 4 15 26 page 490 509 Weiterhin darf die Gr e der einzelnen Archive den verf gbaren Platz unseres Mediums nicht berschreiten da ein Brennprogramm uns nicht bei Bedarf auffordert einen neuen Datentr ger einzulegen Wir m ssen unser Archiv also in einzelne Dateien aufteilen die alle kleiner als z B 600 MB sind Hierzu bietet sich der Befehl split an Mit b 600m weisen wir ihn an m glichst Dateien der Gr e 600 MB anzulegen Zus tzlich m ssen wir ihm noch den Namen einer Ein gabedatei und ein Pr fix f r die zu erzeugenden Dateien mitgeben An das Pr fix h ngt split aa ab etc an um jeder Teildatei einen eigenen Namen zu geben Wollen wir z B eine Datei backup tar splitten so kann das mit dem folgenden Befehl geschehen split b 600m backup tar backup tar Hierdurch erhalten wir mehrere Dateien backup tar aa backup tar ab Wollen wir die so entstehenden Teildateien sp ter wieder zusammenf gen so k nnen wir dazu cat benutzen cat backup tar aa backup tar ab gt backup tar Wir k nnen die Ausgabe von tar auch direkt in split weiterleiten find type d and path var squid cache 0 path var spool squid 0 path proc o path mnt 0 path floppy 0 path cdrom 0 path media 0 path tmp 0 path var tmp 0 path backup print prune o print
86. ht nur eine Spielwiese ist sondern auch gewisse Gefahren birgt Schon wenn wir sie zur Benutzung des Internets zulassen sollten wir ihnen erkl ren wel che Spielregeln sie dabei beachten m ssen Dar ber hinaus m ssen wir ihnen aber auch erkl ren warum eine Regel aufgestellt wurde und welche Probleme auftreten k nnen wenn sie nicht beachtet wird Regeln die dem Benutzer als blo er Selbstzweck erschei nen werden ignoriert Wichtig sind dabei praktische Beispiele So ist es mancherorts blich gelegentlich ein Programm wie crack Unix oder lophtcrack Windows gegen die Pa wortdatenbank eines Systems laufen zu lassen und zu sehen wie viele PaRw rter es herausfinden kann Die entsprechenden Benutzer werden dann angeschrieben und aufgefordert ihr Pa wort zu wechseln Wenn man so etwas vorhat sollte man sich vorher aber vergewissern da man damit seine Kompetenzen nicht berschreitet F hrt man so eine Demonstration ohne R ckendeckung seiner Vorgesetzten durch so kann es leicht geschehen da man am Ende selbst als Krimineller angesehen wird Nicht demonstrieren sollte man dagegen die Verseuchung des Firmennetzes mit Viren oder Trojanern Die Gefahr dabei versehentlich Schaden anzurichten ist viel zu gro Statt dessen kann man auf diverse Beispiele aus dem wahren Leben hinweisen die in der Presse dokumentiert sind Die Sch den die Melissa und Iloveyou angerichtet haben sind problemlos nachzulesen Updates Einen ni
87. i umbenannt wurde wird eine neue Datei mit dem urspr nglichen Namen der alten Datei erzeugt Sind Attribute ange geben so bestimmen sie die Dateirechte den Besitzer und die Gruppenzugeh rigkeit der neuen Datei Fehlen sie so werden statt dessen die Attribute der alten Datei ver wendet nocreate bewirkt da eine Datei umbenannt wird ohne da wieder eine neue Datei mit dem alten Namen erzeugt wird Unter Debian wird dies in der Konfigurationsdatei baseconfig zusammen mit rotate dazu verwendet da eine Datei nach einem Monat gel scht wird notifempty verhindert da leere Dateien rotiert werden missingok unterbindet Fehlermeldungen die entstehen w rden wenn eine angegebene Datei fehlt prerotate erm glicht es Befehle anzugeben die ausgef hrt werden bevor eine Datei rotiert wird Dies geschieht in der folgenden Form prerotate Zeile 1 Zeile2 endscript postrotate entspricht prerotate in allen Punkten au er da die Befehle nach der Rota tion ausgef hrt werden 12 Hat ein Dienst eine Datei ge ffnet und schreibt in diese so kann er auch weiter in sie schreiben obwohl sie umbenannt wurde Die Datei hat zwar einen neuen Namen es ist aber immer noch dieselbe Datei Erst wenn der Dienst sie schlie t und erneut ffnet w rde er gegebenenfalls auf eine neue Datei zugreifen 504 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 505 524 shar
88. ieren bevor wir sie benutzen k nnen Dazu dienen die Befehle mke2fs und mkswap Der Backups 497 firewall 2006 1 4 15 26 page 498 517 erste richtet eine Partition als ext2 Dateisystem ein w hrend der zweite sie f r die Ver wendung als Swap Partition vorbereitet Aufgerufen werden sie einfach mit dem Namen der zu formatierenden Partition mke2fs dev hdai mkswap dev hda2 Hatten unsere Partitionen im urspr nglichen System Label so m ssen wir diese beim Aufruf von mke2fs mit angeben Dazu dient der Parameter L mke2fs L boot dev hda1 Wir k nnten dies zwar prinzipiell auch sp ter mit tune2fs L boot dev hda1 nachholen dieser Befehl ist aber nicht auf allen Rettungssystemen vorhanden Nachdem wir die Partitionen erzeugt haben k nnen wir sie nun mounten um dann das Backup zur ckzuspielen Vorher sollten wir aber sicherstellen da uns daf r ein Mountpoint zur Verf gung steht Haben wir unser Backup auf eine CD gesichert so ben tigen wir dar ber hinaus einen zweiten Mountpoint f r die CD mkdir mnt mkdir cdrom Besitzt unser Rechner relativ wenig Hauptspeicher so k nnen wir auch die Swap Partition aktivieren swapon dev hda2 Nun k nnen wir damit beginnen die einzelnen Partitionen zu mounten Dabei beginnen wir mit dem Wurzelverzeichnis mount mnt dev hda3 Nun k nnen wir die einzelnen Mountpoints anlegen und die anderen Partitionen darauf mounten
89. inden Auch k nnen Sie einer so definierten Kombination eine Bezeichnung zuweisen RO c g i m n p s u haval md5 sha1 DEV u g p s Hier definieren wir zwei Pr fungen Die erste pr ft alle Dateiattribute die sich bei einem Schreibzugriff auf die Datei ndern k nnten Dies schlie t die Bildung dreier verschiede 470 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 471 490 ner kryptographischer Checksummen ein so da jede nderung am Inhalt der Dateien zuverl ssig erkannt werden sollte Die zweite pr ft dagegen nur ob sich der Besitzer die Dateirechte oder die Gr e der Datei ge ndert haben Diese Pr fung ist vor allem f r Devices gedacht F r diese ist eine Bildung von Pr fsummen nicht sinnvoll da es sich bei ihnen nicht wirklich um Dateien handelt die man normal lesen kann und die einen konstanten Inhalt haben Sie k nnen auch neue Kombinationen definieren denen bestimmte Eigenschaften beste hender Kombinationen fehlen indem Sie die ungew nschten Attribute mit einem Mi nuszeichen anf gen DEVDYN DEV u p Bestimmte Dateien und Verzeichnisse ndern sich so stark da es keinen Sinn macht sie zu berpr fen Diese k nnen Sie von der berpr fung ausschlie en indem Sie sie mit einem vorangestellten Ausrufungszeichen auff hren lost found proc tmp I var usr tmp cdrom media F r Devices ben tigen wir spezielle
90. interessieren dabei insbesondere die Dateien der Dienste deren Logdateien wir umkonfiguriert haben Insbesondere haben wir ja ein paar Dateien in chroot K fige ver schoben Wir sollten uns also insbesondere die folgenden Dateien n her ansehen privoxy Hier haben wir die Dateien errorfile jarfile und logf le von var log privoxy nach varllib privoxy var log privoxy verschoben syslog SuSE syslog ng Debian Falls wir den syslog ng einsetzen so haben wir die Protokolldateien unter var lib syslog ng var log abgelegt Dar ber hinaus sind wir Auswerten der Systemprotokolle 505 firewall 2006 1 4 15 26 page 506 525 von der vorgegebenen Konfiguration abgewichen Einige der Dateien die die jewei lige Distribution vorsieht benutzen wir nicht w hrend wir andere vielleicht neu erstellt haben Wir m ssen sicherstellen da die angegebenen Pfade und Namen f r die Protokolldatei en korrekt sind Au erdem sollten wir kontrollieren ob die Art wie die Rotation durch gef hrt wird unseren Bed rfnissen entspricht Problematisch sind auch Zeilen der folgenden Art postrotate etc init d syslog reload endscript Wenn wir einen Dienst in einem chroot K fig betreiben dann sollten wir statt reload immer restart verwenden Viele Dienste k nnen nachdem sie einmal alle Rechte auf gegeben haben ihre Konfigurationsdatei nicht mehr lesen da diese sich au erhalb des chroot K figs befindet Das gleiche
91. ir auf ein Bandlaufwerk sichern wollen so sollten wir nach M glichkeit auf die Option z verzichten Ansonsten reicht es prinzipiell den Namen des Devices f r das Bandlaufwerk als Archivnamen anzugeben Wenn Sie z B nur ein Bandlaufwerk besitzen und es sich um ein SCSI Laufwerk handelt z B ein DAT Streamer so lautet der Befehl zum Schreiben des Bandes 488 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 489 508 gt tar cvf dev nsto lt Datei gt Bitte benutzen Sie hierbei dev nstO und nicht dev stO dev stO spult das Band nach dem Schreiben automatisch zur ck Hier kann man leicht einen Fehler machen der dazu f hrt da man ein gerade geschriebenes Band mit einem neuen Archiv berschreibt Benutzen Sie daher lieber mt rewind um das Band zur ckzuspulen Zum R ckspulen und anschlie enden Auswerfen des Bandes k nnen Sie gegebenenfalls mt offline benutzen Auch beim Schreiben auf ein Magnetband wollen Sie wahrscheinlich wie in Kapitel 16 Unterabschnitt Archive erzeugen mit tar ab Seite 487 beschrieben vermeiden tempor re Verzeichnisse und Spezialdateisysteme mitzusichern Verwenden Sie daher wie beschrie ben die M glichkeit mit find explizit die Dateien herauszusuchen die Sie sichern wol len und jene zu ignorieren die Sie nicht interessieren Au erdem k nnen Sie noch die Option M benutzen wenn das Band zu klein ist um alle Daten a
92. is darauf was diese Anfrage eigentlich bezweckte Dazu gleich mehr L 29 Die L nge des Paketes 29 Bytes S 0x00 Das Type of Service Feld Damit kann man angeben ob man eher Wert auf einen hohen Durchsatz oder eine geringe Verz gerung legt I 10847 Die Datagramm ID des IP Paketes Dies ist nicht die Folgenummer auf TCP Ebene sondern eine Angabe auf IP Ebene die das Zusammensetzen fragmentierter Pakete erleichtern soll F 0x0000 Der Fragment Offset Dieses Feld gibt an an welche Stelle des fragmentierten Datagramms das Paket geh rt siehe Kapitel 4 Unterabschnitt Fragment Angriffe ab Seite 37 T 122 Time to Live Dieses Feld wird von jedem Router um mindestens eins verringert Ist der Wert 0 so wird das Paket entsorgt Auf diese Weise wird sichergestellt da Pakete nicht endlos im Netz verbleiben Dasselbe Paket s he bei der Verwendung von iptables brigens folgenderma en aus Nov 29 20 17 32 fw kernel ext in default IN pppo OUT SRC 213 7 25 16 DST 10 0 0 1 LEN 29 TOS 0x00 PREC 0x00 TTL 122 ID 10847 DF PROTO UDP SPT 31790 DPT 31789 LEN 9 Au er dem blichen Header Datum Uhrzeit Rechnername Applikation enth lt diese Meldung vor allem die Informationen ext in default Hierbei handelt es sich um einen Kommentar der in der protokollie renden Regel als Option eingestellt war in pppO Das Paket wurde ber das Interface pppo empfangen out Da das Paket an den Rechner selbst gerichtet ist es wurde in einer input
93. it n lt Name gt den Namen eines neuen Archivs oder eines anderen Bandlaufwerks angeben no recursion Die angegebenen Dateien und Verzeichnisse werden archiviert tar ber pr ft aber nicht ob ein angegebenes Verzeichnis Dateien enth lt Ohne diese Option reicht es einen Verzeichnisnamen anzugeben um alle enthaltenen Dateien mit ins Archiv aufzunehmen p Zugriffsrechte beim Auspacken erhalten Normalerweise zieht tar die Werte der um ask des Benutzers ab T Datei liest die Namen der zu archivierenden Dateien aus Datei v Ausf hrliche Ausgaben V lt Label gt erlaubt es im Archiv einen Namen abzulegen z B Backup 23 4 2002 Dies ist vor allem bei B ndern praktisch da das Archiv hier keinen Dateinamen hat sondern direkt roh auf das Band geschrieben wird z bewirkt da das Archiv mit gzip komprimiert wird Normalerweise verwendet man tar um komprimierte Archive zu erstellen Mit den fol genden Befehlen kann man Archive bearbeiten die man auch unter Windows mit Winzip ffnen kann tar cvzf lt Name gt tar gz lt Datei gt speichert die Dateien als Archiv lt Name gt tar gz tar tvzf lt Name gt tar gz zeigt den Inhalt des Archivs lt Name gt tar gz an tar xvzf lt Name gt tar gz entpackt den Inhalt des Archivs lt Name gt tar gz Mit Option p stellt man sicher da die Dateirechte nicht ver ndert werden Wir k nnen die Befehle so verwenden wenn wir einzelne Dateien in ein Archiv packen w
94. k k k WA k k k kkk kk kkk mnt by ROKA MNT changed abuse pppool de 20001029 source RIPE 524 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 525 544 Wie es aussieht hat sich unser Besucher ber Mobilcom eingew hlt Bei DRR11 RIPE ROKA MNT FR2733 RIPE handelt es sich um Verweise auf Eintr ge f r Personen Wenn wir diese als Suchbegriff f r eine Whois Abfrage benutzen so k n nen wir herausfinden wer die Dom ne administriert admin c oder wen wir z B bei technischen Problemen ansprechen k nnen tech c Wir k nnten nun die angegebene Telefonnummer anrufen oder eine E Mail an abu se pppool de schicken um Mobilcom dar ber zu informieren was von ihren Zug ngen aus passiert Ohne die Mithilfe des Providers sind wir ansonsten aber in einer Sackgasse angelangt Immerhin kann es recht interessant sein zu sehen woher die Zugriffe stammen Der andere Zugriff im eingangs vorgestellten Protokoll stammt z B von einem Provider in Israel Heute hatte ich sogar Besuch aus Kuwait Kommen wir nun zu den Absichten die hinter dem Zugriff stehen Diese erschlie en sich in der Regel durch einen Blick auf den Zielport des Paketes So k nnen Zugriffe auf die folgenden Ports auf Versuche hindeuten eine fehlerhafte Implementation eines gebr uchlichen Netzwerkdienstes zu finden oder eine unsichere Konfiguration eines sol chen auszunutzen 21 TCP FTP Neben I
95. l cken Letzte nderung der Metadaten ctime Zugeh riges Device Gruppenzugeh rigkeit Nummer des Inode Speicherort auf der Platte Die Datei wird niemals kleiner Letzter Schreibzugriff mtime Anzahl der harten Links Dateirechte ID des Device auf den der Eintrag verweist gilt nur f r Devices Dateigr e Dateityp Besitzer CRC 32 Checksumme Haval Checksumme MD5 Checksumme SHA Checksumme zznerv omg t u on co Tripwire kennt verschiedene Attribute die in Form von Buchstaben angegeben werden Tabelle 16 2 gibt an welche dies sind Diese Attribute k nnen mit und kombiniert werden Dabei bedeutet die Tatsa che da ein Argument hinter einem steht da dieses Argument betrachtet werden soll Fehlt ein Operator so wird automatisch angenommen Die folgenden Formen sind gleichbedeutend CH C H CH In allen drei F llen sollen die beiden angegebenen Attribute betrachtet werden Das Minuszeichen gibt schlie lich an da ein Attribut nicht betrachtet werden soll Die Ausdr cke p CH C H p p CH bedeuten allesamt da uns zwar die Rechte einer Datei interessieren nicht aber CRC und Haval Checksumme Wird in einem Ausdruck ein Attribut nicht ausdr cklich er w hnt so ist dies als w re es mit einem Minuszeichen aufgef hrt Man h tte die letzten Beispiele also auch als Checksummer 477 firewall 2006 1 4 15 26 page 478 497 p p schreiben k n
96. le RO root rhosts RO root teshrc RO opt RO Diese Liste ist aber nur ein Anfang Eine Reihe weiterer Dateien und Verzeichnisse kann sinnvoll gepr ft werden e chroot Verzeichnisse e Benutzerverzeichnisse unter home hnlich wie root e Logdateien unter var log bzw var lib syslog ng var log Pr fung auf wachsende Da teien Wenn Sie auf Nummer sicher gehen wollen dann lassen Sie das ganze Dateisystem un tersuchen RO Betrieb Nun wird es Zeit eine Datenbank mit Pr fsummen und Dateiattributen zu generieren Im einfachsten Fall geschieht dies mit dem folgenden Aufruf aide init Haben Sie die Konfigurationsdatei und aide selbst auf eine CD gebrannt die als me dia cdrom gemountet ist so ben tigen Sie statt dessen den folgenden Aufruf media cdrom aide init config media cdrom aide conf 472 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 473 492 Nach einer geraumen Zeit beendet sich aide und Sie finden eine neue Datei varllib aide aide db new Diese m ssen Sie nun umbenennen so da sie der Angabe f r database in der Konfigurationsdatei entspricht Wollen Sie nun berpr fen was sich ge ndert hat so benutzen Sie einfach den folgenden Aufruf aide check Falls Sie alles auf eine CD gebrannt haben m ssen Sie nat rlich die entsprechenden Pfade angeben media cdrom aide check config media cdrom
97. m es ist eine recht vielseitige L sung f r das Problem der Logrotation In voller Tiefe k nnen wir es hier nicht ausloten Daf r mu ich Sie auf die Manpage von logrotate verweisen Wir wollen aber einmal sehen wie SuSE und Debian dieses Programm nutzen und was wir ndern m ssen weil wir Logdateien in chroot K fige verschoben haben Konfiguriert wird logrotate in etc logrotate conf Unter SuSE 9 3 sieht die Datei ohne die erkl renden Kommentare folgenderma en aus weekly rotate 4 create include etc logrotate d Hier wird festgelegt da grunds tzlich w chentlich eine Logrotation stattfinden soll vier alte Versionen aufgehoben werden sollen und eine neue Datei mit dem Namen der gerade archivierten Datei angelegt werden soll Au erdem werden alle Dateien im Unter ordner etc logrotate d gelesen und ihr Inhalt behandelt als ob er in dieser Datei st nde Dies sind globale Optionen Sie gelten f r alle Dateien f r die keine abweichenden Fest legungen getroffen wurden Hier einige der wichtigsten Optionen rotate num gibt die Anzahl der Vorg ngerversionen an die von einer Datei aufgehoben werden maxage Tage Die alten Versionen der Datei werden gel scht wenn sie lter als die an gegebene Zahl von Tagen sind Das Alter wird aber nur gepr ft wenn die aktuelle Datei rotiert werden soll SuSE daily Die Protokolldateien sollen t glich rotiert werden weekly legt eine w chentliche Rotation fest monthly sorg
98. m anderen existieren aber auch noch die erweiterten regul ren Ausdr cke die grep benutzt wenn es mit der Option E oder unter dem Namen egrep aufgerufen wird Fr her bot grep weniger M glichkeiten als egrep In den heutigen Implementationen des GNU Projekts ist der Unterschied allerdings darauf zusammengeschrumpft ob man Klammern Frage und Pluszeichen lieber durch Voranstellen eines kennzeichnen will oder nicht Mehr zu diesem Thema k nnen Sie mit man grep oder man 7 regex erfahren Sie k nnen auch das Buch zum Thema aus dem O Reilly Verlag lesen Um Sie nun nicht endg ltig zu verwirren soll der Vorgang noch einmal am Beispiel des http gw dargestellt werden Hier bewirkt jede Web Anfrage vier Eintr ge im Systempro tokoll http gw 502 http gw 502 http gw 502 http gw 502 permit host localhost 127 0 0 1 use of gateway V2 1 log host localhost 127 0 0 1 protocol HTTP cmd get dest content type text html exit host localhost 127 0 0 1 cmds 1 in 0 out 0 user IE 1 1 14 Jeffrey E F Friedl Regul re Ausdr cke 2003 O Reilly 508 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 509 528 Tabelle 16 3 Gebr uchliche regul re Ausdr cke Bedeutung 95 Ein beliebiges Zeichen Beliebig viele Zeichen A B oder C Weder A B noch C Ein beliebiger Gro buchstabe Ein beliebiges alphanumerisches Z
99. mplementationsfehlern in einigen Versionen des Dienstes besteht hier auch die M glichkeit da nach frei zug nglichen Verzeichnissen gesucht wird in denen man Warez also Raubkopien und Pornos f r die illegale Verbreitung able gen kann 23 TCP Telnet Erlaubt die Anmeldung am System Der Angreifer k nnte versuchen Paf w rter zu erraten oder durch Banner Grabbing weitere Informationen ber sein Ziel zu erhalten 25 TCP SMTP Neben einer chronischen F lle von Implementationstehlern in der be kanntesten Implementation sendmail kann ein ungesch tzter Mailserver auch dabei helfen E Mails mit gef lschtem Absender zu schicken 53 UDP TCP DNS Neben Implementationsfehlern in einigen Versionen des bind ist DNS auch ein probates Mittel der Informationsbeschaffung HINFO RRs Zone Transfers 57 TCP Dieser Port wird von FxScanner angesprochen Das ist ein Werkzeug mit dem ein Angreifer Web und FTP Server auf bekannte Sicherheitsl cken testen kann Das Programm geht davon aus da der Port nicht benutzt wird und erwartet deshalb eine ICMP Fehlermeldung Erfolgt diese nicht so wird davon ausgegangen da der untersuchte Rechner durch eine Firewall gesch tzt ist Handelt es sich wirklich um FxScanner so finden sich im Systemprotokoll neben dem Zugriff auf Port 57 auch Zugriffe auf Port 21 und 80 79 TCP Finger Neben Problemen mit Speicher berl ufen kann Finger auch dazu ge nutzt werden alle Benutzer eines Systems anzuzeige
100. n oder detaillierte Angaben zu einem bestimmten Benutzer zu erfragen 109 TCP POP2 Siehe POP3 Auswerten der Systemprotokolle 525 firewall 2006 1 4 15 26 page 526 545 110 TCP POP3 F r diesen Dienst existiert eine Vielzahl von Angriffen die Speicher berl ufe hervorrufen 135 TCP NetBIOS Remote Procedure Call Eine Sicherheitsl cke in diesem Dienst wurde vom Blaster Wurm genutzt 137 UDP NetBIOS Nameservice Zeigt sowohl angemeldete Benutzer als auch NetBIOS Freigaben an Die dabei gewonnenen Angaben erleichtern auch den eigentlichen Zugriff auf Freigaben ber Port 139 TCP Dies kann auf den Zugriff eines Crackers hinweisen Es gibt aber auch eine Reihe von W rmern die sich auf Netzwerkfreigaben kopieren um sich so weiter zu verbreiten Es gibt aber auch eine harmlosere Erkl rung Windows sendet automatisch eine An frage an Port 137 eines Rechners wenn eine normale Netzwerkverbindung zu ihm ge ffnet wird Gerade wenn man einen Web oder FTP Server mit Firewalling sch tzt wird man feststellen da eine Vielzahl von solchen Zugriffen erfolgt die zeitlich mit dem Download von Webseiten oder Dateien zusammenfallen 138 UDP NetBIOS Datagram Realisiert den Zugriff auf freigegebene Dateien und Ver zeichnisse 139 TCP NetBIOS Session Realisiert den Zugriff auf freigegebene Dateien und Ver zeichnisse 143 TCP IMAP Siehe POP3 161 UDP SNMP Erlaubt es insbesondere Netzwerkkomponent
101. nach Auswerten der Systemprotokolle 507 firewall 2006 1 4 15 26 page 508 527 fisch f r den anfragenden Rechner und die angefragte Datei In diesen F llen verringert sich die Anzahl der Meldungen nicht Um die Anzahl der Meldungen weiter zu reduzieren empfiehlt Ranum Zeilen deren Anzeige nicht erw nscht ist mit regul ren Ausdr cken zu klassifizieren und mittels grep auszufiltern Dies ist im Grunde nicht weiter schwierig Wir beginnen damit da wir uns eine Zeile aussuchen die wir nicht mehr sehen wollen z B Nov 29 19 57 01 fw pppd 187 Connect time 10 0 minutes Datum und Hostname gehen jeder Meldung voran sind f r unser Muster also nicht von Bedeutung Damit bleibt pppd 187 Connect time 10 0 minutes Dieses Muster enth lt noch die Proze nummer und die Minutenanzahl Beide sind je desmal anders und m ssen von uns daher durch Platzhalter ersetzt werden pppd o 9 Connect time minutes Schlie lich m ssen wir alle Zeichen die f r grep eine besondere Bedeutung haben durch Voranstellen eines kennzeichnen pppd o 9 Connect time minutes Tabelle 16 3 gibt einen berblick ber die wichtigsten regul ren Ausdr cke Dabei ist zu beachten da grunds tzlich zwei Formen von regul ren Ausdr cken existieren Da sind zum einen die einfachen regul ren Ausdr cke die grep normalerweise verwendet Diese wollen wir auch hier f r unsere Filterliste verwenden Zu
102. nen Interessant wird das Minuszeichen erst wenn man es in Verbindung mit Variablen be nutzt Variablen werden in der Form Name Wert definiert also beispielsweise so checksums CHMS Referenziert werden sie mit Name Wollen wir also als Attribut die Checksummen oh ne CRC nehmen so k nnen wir dies folgenderma en ausdr cken checksums C Eine Reihe von Variablen ist vordefiniert Sie finden sie auf der Manpage zu twpolicy Besonders n tzlich sind IgnoreNone alles pr fen und IgnoreAll nur die Existenz einer Datei pr fen Bei den anderen Variablen kam mir die Auswahl der zu betrachtenden Attribute etwas willk rlich vor Nachdem wir nun sagen k nnen was wir pr fen wollen brauchen wir noch Regeln die sagen worauf wir unsere Tests anwenden Diese haben die folgende Form Objekt gt Attribute Hierbei kann ein Objekt eine Datei oder ein Verzeichnis sein beispielsweise bin boot gt bgedimnpstuHMS dev console gt dtrs Wir k nnen auch Regeln aufstellen da ein Objekt nicht in unsere Untersuchungen einbezogen werden soll Diese haben die Form Objekt Beispiele sehen dann folgenderma en aus tmp etc mtab Um den Text lesbarer zu machen k nnen wir Kommentare einstreuen Tripwire ignoriert alle Zeilen die mit beginnen Dies ist ein Kommentar Schlie lich k nnen wir die Regeln noch zu Gruppen mit gemeinsamen Eigenschaften zusammenf gen Eigenschaftsliste
103. ollen Dieses k nnen wir dann sp ter z B auf eine Diskette oder ein Zip Medium schreiben und so zu einem anderen Rechner transportieren Solange Sie auf diese Weise nur ein einzelnes Verzeichnis oder einige wenige Dateien sichern wollen sind keine weiteren berlegungen notwendig F r ein Komplett Backup stellt sich aber die Frage wie Sie verhindern da bestimmte Verzeichnisse mitgesichert werden die in einem Backup nichts zu suchen haben proc ist wohl am problematischsten Dieses virtuelle Dateisystem enth lt scheinbar Dateien tats chlich handelt es sich aber um Variablen und Datenbereiche des Ker nels die auf diese Weise den Anwendungen zug nglich gemacht werden Backups 487 firewall 2006 1 4 15 26 page 488 507 mnt floppy cdrom media x dienen als Mountpoints f r Wechselmedien tmp var tmp sind f r tempor re Dateien bestimmt Wwar squid cache bzw var spool squid enth lt vom squid gecachte Webseiten Um dem Problem zu begegnen k nnen wir das System in den Single User Mode her unterfahren und proc sowie alle Wechselmedien umounten Nun kann das eigentliche Backup mit tar cvzf Archiv gt durchgef hrt werden Nun gilt es noch proc wieder zu mounten bevor man das System wieder in seinen normalen Runlevel hochf hrt Diese L sung ist aber nicht wirklich befriedigend da hier sowohl die tempor ren Dateien als auch der squid Cache immer noch gesichert werden Gerade le
104. onen Unter anderem fehlt die Option z so da Sie gunzip explizit aufrufen m ssen Dieses Pro gramm w rde normalerweise die tar Datei auspacken und das Original l schen Dies ist aber in unserem Fall nicht w nschenswert Wir sorgen daher mit der Option c da f r da statt dessen nur der dekomprimierte Inhalt der Datei auf die Standardausgabe gegeben wird gunzip c cdrom Backup 20020324 tar gz gt tar xvf Datei Wenn Ihr Backup sich unkomprimiert auf einem Magnetband befindet dann gestaltet sich das Entpacken von Dateien nat rlich deutlich einfacher tar xvf dev nsto Datei Bevor wir nun unser Backup zur ckspielen m ssen wir noch eines beachten Die Zuord nungen von Benutzernamen zu UIDs in der Datei etc passwd stimmen nicht zwangsl u fig zwischen unserer Firewall und dem Rettungssystem berein Bestehen hier Diskre panzen so kann es passieren da Dateien oder Verzeichnisse nach ihrer Wiederherstel lung pl tzlich falsche oder nicht existente Besitzer haben Um dies zu vermeiden m ssen wir als erstes im Rettungssystem die Dateien etc passwd etc shadow etc group und etc gshadow durch die Versionen im Backup ersetzen Nach dem Sie das aber getan haben k nnen Sie sich unter Umst nden nicht mehr am Ret tungssystem anmelden Stellen Sie daher sicher da Sie mindestens an zwei Konsolen angemeldet sind bevor Sie die folgenden Befehle ausf hren Backups 499 firewall 2006 1 4
105. ons und End of Applications List diverse Eintr ge der Art define BB_AR define BB_BASENAME define BB_CAT Diese Eintr ge definieren welche Kommandos BusyBox realisieren soll Da wir nur mdssum ben tigen sollten wir alle Eintr ge au er den f r BB_MD5SUM durch Voranstellen von auskommentieren define BB_AR define BB_BASENAME define BB CAT ER define BB_MAKEDEVS define BB MD5SUM define BB MKDIR 22 Der zweite Abschnitt enth lt Eintr ge deren Namen mit BB_FEATURE_ beginnen Diese regeln Eigenschaften der Programme und sind f r unsere Aufgabe erst einmal uninteres sant Nachdem wir so den berfl ssigen Ballast abgeworfen haben m ssen wir nun noch sicherstellen da das Programm statisch kompiliert wird Dies geschieht indem wir in der Datei Makefile den Abschnitt If you want a static binary turn this on DOSTATIC false in If you want a static binary turn this on DOSTATIC true ndern Dabei m ssen wir allerdings darauf achten da unser Editor die lt Tab gt Zeichen in der Datei nicht in normale Leerzeichen umwandelt Andernfalls wird die Kompilation Checksummer 467 firewall 2006 1 4 15 26 page 468 487 i fehlschlagen Ich benutze daher immer den Editor vi zum ndern von Makefiles Hin weise zu seiner Benutzung finden Sie in Anhang B ab Seite 597 Haben wir die Konfiguration abgeschlossen so reicht der Aufruf gt make um das
106. res Gastes vom Betriebssy stem zuf llig zugewiesen DPT 31789 Der Zielport auf meinem Rechner Er gibt uns einen Hinweis darauf was diese Anfrage eigentlich bezweckte Dazu gleich mehr LEN 9 Die L ngenangabe aus dem UDP Header Gibt die L nge des Paketes ohne den IP Header an 9 Bytes Taucht ein solcher Eintrag im Systemprotokoll auf so wirft er zwei Fragen auf 1 Wer ist das 2 Was will er Die erste Frage l t sich in der Regel nur bedingt beantworten w hrend die Beantwor tung der zweiten oft nur eine kurze Recherche im Internet erfordert Beginnen wir damit die IP Adresse in einen Namen zu bersetzen Hierf r existiert der Befehl host gt host 213 7 25 16 16 25 7 213 IN ADDR ARPA domain name pointer B1910 pppool de Alternativ h tten wir auch den Befehl dig x 213 7 25 16 verwenden k nnen der aber deutlich mehr Ausgaben liefert da er z B auch noch die zust ndigen Nameserver mit anzeigt Das Ergebnis B1910 pppool de macht nun noch nicht viel her und erscheint eher kryp tisch Allerdings liegt gerade wegen dieses kryptischen Namens die Vermutung nahe da es sich um eine dynamische Adresse handelt die ein Provider einem Kunden bei Bedarf zuweist Solche Adressen brauchen nicht aussagekr ftig zu sein Anders l ge der Fall wenn es sich um eine feste IP Adresse eines Servers handelte Hier m te der zu geh rige logische Name leicht zu merken sein damit Besucher sich an sie erinnern und gegebenenfall
107. roblemen der Computersicherheit http www securityfocus com Updates 537
108. s auch wiederkommen k nnen Wenn es sich wie angenommen um eine dynamische Adresse handelt so stellt sich die Frage welchen Provider unser neugieriger Freund benutzt Zu diesem Zweck existiert ein Dienst namens Whois Jede Registraturstelle f r Internet Adressen betreibt einen Whois Server ber den man erfahren kann wem ein bestimmter Block von IP Adressen geh rt Bevor wir aber nun Port 43 TCP freischalten um mit einem Whois Klienten auf die se Server zuzugreifen sollten wir erst einmal die doch recht weit verbreiteten Whois Gateways auf Webservern ausprobieren Hier gen gt ein einfacher Browser um auf einer Webseite eine Anfrage zu stellen die der Webserver dann in eine Whois Anfrage um setzt 15 Der Parameter x gibt an da nicht ein Name sondern eine IP Adresse aufgel st werden soll Auswerten der Systemprotokolle 523 firewall 2006 1 4 15 26 page 524 543 Eine Anfrage an eine Suchmaschine mit dem Stichwort whois liefert diverse solcher Gateways Exemplarisch seien hier einmal drei herausgegriffen http www geektols com cgi bin proxy cgi http www tu chemnitz de urz netz forms whois html http www iks jena de cgi bin whois Geben wir nun die IP Adresse aus der Protokolldatei ein so erhalten wir folgende Aus kunft inetnum 213 6 0 0 213 7 133 255 netname MOBILCOM CITYLINE NET descr MobilCom Cityline GmbH country DE admin c DRR11 RIPE tech c DRR11 RIPE tech c DR
109. se if test multiple yes then echo n lastdat echo n host echo glmesg repeated times times multiple no times 0 fi echo dat host fi lastdat dat lasthost host lastsre src lastdst dst lastprot prot lastsrept srept lastdstpt dstpt lasttype type lastcode code proc line Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 519 538 if test multiple yes then echo n lastdat echo n host echo glmesg repeated times times multiple no times 0 fi echo month day time proc line lastdat lastsrc lastdst lastprot lastsrcpt lastdstpt lasttype lastcode esac last line done if test multiple yes then echo n lastdat echo n host echo aglmesg repeated times times multiple no times 0 fi uu uu Hauptprogramm a pEr Enn then LOGFILE fi mycat LOGFILE grep v f STOPFILE simple unig JA fw unig JA pr translate JA ipt unig less sS Nach kurzer Zeit hat man genug Muster zusammen um alle Routinemeldungen aus zufiltern und nur noch diejenigen Eintr ge anzuzeigen die wirklich auf ein Problem hindeuten Dann bietet es sich an einen Aufruf des Skripts in das Login Skript f r root einzutragen
110. ses erinnern Falls nicht dann f hlen Sie sich herzlich willkommen im Club Beginnen wir also mit der Erzeugung neuer Schl ssel Dazu sollten wir als erstes die alten Schl ssel l schen 5 Stand August 2005 Checksummer 475 firewall 2006 1 4 15 26 page 476 495 cd etc tripwire rm site key rm debian local key Nun k nnen wir das Standardkonfigurationsskript aufrufen dpkg reconfigure tripwire Als erstes werden Sie gefragt ob Sie die Passphrase f r Ihren Site Key w hrend der In stallation benutzen wollen Antworten Sie mit Ja Als zweites wird Ihnen dieselbe Frage f r den Local Key gestellt Bejahen Sie auch hier In den n chsten beiden Schritten werden die Konfigurations und die Policy Datei neu erzeugt Nun folgt die Eingabe von Passphrases f r Local Key und Site Key Grunds tzlich k nnen Sie f r beide dieselbe Passphrase benutzen Wichtig ist vor allem daf Sie diese sorgf ltig gew hlt haben Unterschiedliche Passphrases ben tigen Sie nur wenn Sie zentral eine Po licy vorgeben und den Administratoren vor Ort nur erlauben m chten die Pr fsummen Datenbank zu aktualisieren nicht aber die Policy zu ndern Zum Schlu werden noch die Schl ssel erzeugt Das System ist nun bereit und kann von uns konfiguriert werden ndern der Konfigurationsdatei In der Datei etc tripwire tw cfg verwaltet Tripwire seine Grundeinstellungen Dabei han delt es sich allerdings um eine Bin r
111. sieht dann fol genderma en aus Tripwire R 2 3 0 Integrity Check Report Report generated by root Report created on Sat Jun 9 14 21 36 2001 Database last updated on Never Checksummer 481 firewall 2006 1 4 15 26 page 482 501 Rule Name Programs etc Severity Level 0 Remove the x from the adjacent box to prevent updating the database with the new values for this object Added etc ppp peers mobilcom fix x odified etc etc SuSEconfig etc hosts etc ijb etc ijb blocklist waldherr etc ijb junkbstr ini etc ioctl save etc ld so cache etc localtime etc pam d etc ppp peers etc syslog conf MI YA AAA KK KXK AA XK X Entfernen Sie die X vor den nderungen die Sie nicht in die Datenbank bernehmen wollen und speichern Sie die Datei Anschlie end werden Sie noch nach der Passphrase f r den lokalen Schl ssel gefragt Haben Sie diese korrekt eingegeben wird die Daten bank aktualisiert Alternativ k nnen Sie das System auch mit tripwire check interactive berpr fen Dann werden beide Schritte in einem Rutsch durchgef hrt Es kann auch sein da Sie feststellen da Ihre urspr ngliche Policy ungl cklich gew hlt war So k nnten Sie zum Beispiel ein Verzeichnis mit in die berpr fung einbezogen haben das Dateien enth lt die sich h ufig ndern Vielleicht haben Sie aber auch ein neues Verzeichnis angelegt d
112. so da der Systemverwalter bei jeder Anmeldung erf hrt was w hrend sei ner Abwesenheit vorgefallen ist Alternativ kann man es auch t glich von cron starten Auswerten der Systemprotokolle 519 firewall 2006 1 4 15 26 page 520 539 und sich die Ergebnisse per E Mail schicken lassen Man sollte dann aber darauf ach ten dies mit eventuellen L ufen von logrotate zu koordinieren damit die regelm ige Leerung der Protokolldatei nicht direkt vor deren Auswertung stattfindet Bewertung der Meldungen Nachdem wir die Meldungen auf das Wesentliche beschr nkt haben haben wir keine Entschuldigung mehr nicht regelm ig einen Blick in das Systemprotokoll zu werfen Im folgenden soll daher kurz dargestellt werden was Sie dabei erwartet Hier einmal der Aufruf des Skripts auf meinem Arbeitsrechner auf dem ich dieses Buch schreibe und mit dem ich auch Recherchen im Internet durchf hre Meinen Rechnerna men und meine IP Adresse habe ich allerdings ge ndert logfilter sh ov 28 22 19 18 fw su to root user on dev pts 1 ov 29 00 37 40 fw su to root user on dev pts 3 ov 29 00 37 41 fw kernel VFS Disk change detected on device fd 2 0 ov 29 00 39 09 gonzales init Switching to runlevel 0 ov 29 00 39 19 fw exiting on signal 15 ov 29 19 42 33 gonzales syslogd 1 3 3 restart ov 29 20 06 06 fw pppd 187 Modem hangup ov 29 20 17 32 fw kernel Packet log ext in DENY pppo PROTO UDP 213 7 25 16 31790 10 0 0 1 3
113. st Eine derartige ungl ckliche Verkettung von Umst nden kommt leider h ufiger vor als man gemeinhin denkt Hat ein Angreifer die Kontrolle ber Ihr System bernommen so k nnen Sie sich nicht mehr darauf verlassen da Aufzeichnungen in elektronischer Form korrekt sind und nicht vom Internet aus ver ndert wurden Beginnen wir mit der Dokumentation der Firewall Einen ersten Anfang haben Sie schon gemacht wenn Sie wie in Kapitel 7 Abschnitt Rechnerdaten ab Seite 110 beschrieben eine Aufstellung von Ihrer Hardware und deren Konfiguration erstellt haben Auch die in Kapitel 9 Abschnitt Entfernen unn tiger Programme Dienste Dateirechte und Dateien ab Seite 184 erw hnte Dokumentation der Programme mit gesetztem SUID SGID Bit ist ein wichtiger Baustein Es bietet sich an pro betreuten Rechner einen Ordner anzulegen in dem wir zus tzlich zu diesen Informationen noch die folgenden Dokumentationen abheften Ausdrucke aller von Ihnen ge nderten Konfigurationsdateien Dateien in etc usr src linux config Auflistungen der installierten Serverdienste und der von ihnen benutzten Ports eine Aufstellung der im System vorhandenen Benutzerkonten Rechnungen und Lieferscheine Zusammenfassungen der Auswertungen der Systemprotokolle Einen zus tzlichen Ordner sollte man f r solche Dokumentationen vorsehen die nicht einem Rechner speziell zuzuordnen sind Hierunter fallen z B Pl ne der Verkabelung der betreuten Geb ude
114. ste Auswertung zu speichern um beim n chsten Mal die Suchzeit zu verk rzen Folgende Seiten fand ich dabei immer besonders n tzlich http www sans org newlook resources IDEAQ oddports htm http www simovits com nyheter9902 html Auswerten der Systemprotokolle 527 firewall 2006 1 4 15 26 page 528 547 Schauen wir nun dort nach unserem Port 31789 so stellt sich heraus da dieser von einem Trojaner namens Hack A Tack benutzt wird Wahrscheinlich sucht hier jemand automatisiert alle aktiven Rechner eines bestimmten Subnetzes ab um so Rechner zu finden die mit Hack A Tack infiziert sind und es ihm erlauben sie in seine Gewalt zu bringen Da sein Zugriff von der Firewall blockiert wurde droht uns von ihm erst einmal keine Gefahr Wir sollten diesen Vorfall aber zum Anla nehmen unsere Benutzer davor zu warnen unbekannte Programme auszuf hren Auch bietet es sich an zu berpr fen ob der im lokalen Netz eingesetzte Virenscanner noch auf dem neuesten Stand ist Eine andere Sorte Eintrag die Sie vermutlich h ufiger zu sehen bekommen werden wenn die Benutzer Ihrer Firewall gerne Programme aus dem Internet herunterladen sieht fol genderma en aus Dec 6 18 41 30 fw kernel Packet log ext in REJECT pppo PROTO 6 131 159 72 23 2587 10 0 0 1 113 L 44 S 0x00 I 54111 F 0x4000 T 53 SYN 3 Wie wir sehen handelt es sich um einen Verbindungsaufbau SYN an Port 113 TCP Dieses Protokoll findet sic
115. t fi done Der find Befehl durchsucht eines der angegebenen Verzeichnisse zur Zeit wobei er nicht in Verzeichnisse wechselt auf die ein anderes Dateisystem gemountet wurde mount Es werden nur regul re Dateien betrachtet type f Beendet sich der Befehl mit einem Fehlercode oder existiert ein Verzeichnis nicht so wird eine Fehlermeldung ausgegeben Zus tzlich wird noch das jeweils bearbeitete Verzeichnis auf den Standardfehlerkanal ausgegeben damit man immer wei welcher Teil des Skriptes gerade ausgef hrt wird Das sind eine ganze Reihe von Ausgaben Tats chlich war die erste Version des Skrip tes deutlich schweigsamer Dann allerdings lie ich es auf einem System laufen in dem nach einem Absturz das Dateisystem fehlerhaft war Damals rief find den Befehl md5sum noch direkt auf Das Ergebnis war da der Computer nach einiger Zeit nicht mehr reagierte Anscheinend war der kswapd ein interner Kernelprozess abgest rzt Nach den Umbauten trat das Problem nicht mehr auf Statt dessen erhielt ich aussagekr ftige Feh lermeldungen die mir halfen das Problem einzugrenzen Als n chstes stehen Konfigurationsdateien in Heimatverzeichnissen an 1 Mit der Option exec 458 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 459 478 HOME echo2 Home Verzeichnisse for d in HOMEDIRS do Konfigurationsdateien der Shells for f in SHELLFI
116. t daf r da die Dateien monatlich rotiert werden size n l st eine Rotation aus wenn die Datei gr er als n Bytes ist Man kann auch ein k M oder G anf gen um Kilo Mega oder Gigabytes auszudr cken Auswerten der Systemprotokolle 503 firewall 2006 1 4 15 26 page 504 523 mail Adresse sendet Dateien die gel scht werden sollen per E Mail an den genannten Benutzer errors Adresse sendet eine E Mail an Adresse wenn Fehler auftreten compress benutzt gzip um Dateien zu komprimieren Allerdings gehen dabei teilweise die Zeilenenden verloren so da das Ergebnis nur noch schwer lesbar ist compresscmd erlaubt es ein anderes Programm f r die Komprimierung festzulegen delaycompress bewirkt da die Komprimierung erst stattfindet wenn die Dateien das n chste Mal rotiert werden Dies wird dann genutzt wenn man den jeweiligen Dienst nicht verl lich dazu bringen kann aufzuh ren in die alten Dateien zu schrei ben copytruncate gibt an da die Datei nicht einfach umbenannt und neu erzeugt werden darf Statt dessen wird erst einmal eine Kopie erzeugt und die Originaldatei dann einfach geleert Dies ist dann notwendig wenn man eine Datei rotieren will die ein Dienst st ndig im Zugriff beh lt dateext bewirkt da die Namen der vorherigen Versionen auf eine Datumsangabe en den Normalerweise werden die alten Versionen durchnumeriert SuSE create Rechte Besitzer Gruppe Nachdem die Date
117. tar cvf T no recursion split b 600m backup Backup 20020324 tar Damit erhalten wir die Dateien backup Backup 20020324 tar aa backup Backup 20020324 tar ab usw Alle mit Ausnahme der letzten sind 600 MB gro und passen damit auf eine CD Wir k nnen die Anzahl der ben tigten CDs deutlich reduzieren wenn wir das Archiv vor dem Splitten komprimieren Statt tar die Option z mitzugeben k nnen wir die Ausga be von tar dabei auch explizit an gzip weiterleiten Dies hat den Vorteil da wir den Grad der Kompression selbst bestimmen k nnen gzip kennt hierbei neun Stufen von 1 schnell aber schwach komprimiert bis 9 langsam aber h chste Komprimierung Die Option c bewirkt da gzip das Ergebnis der Komprimierung auf die Standardausgabe ausgibt und der Dateiname steht wie blich f r die Standardeingabe 8 600 MB ist nat rlich selbst f r eine CD recht konservativ Passen Sie diese Gr e ruhig Ihren konkreten Bed rfnissen an 490 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 491 510 find type d and path var squid cache 0 path var spool squid 0 path proc o path mnt 0 path floppy 0 path cdrom o path media 0 path tmp 0 path var tmp o path backup print prune o print tar cvf T no recursion gzip c 9 JA split b 600m ba
118. tei anw hlt Ein beliebter Trick besteht darin eine Datei z B Trojaner jpg exe zu nennen Der Explorer unter Windows wird diese Datei standardm ig als Trojaner jpg anzeigen woraufhin der Benutzer denkt es handele sich um ein harmloses Bild Ist der Trojaner aber erst einmal ausgef hrt so hat der Angreifer gewonnen Sein Pro gramm kann sich nach Herzenslust im System umsehen Pa w rter sammeln sich ber Netzwerkdateisysteme wie z B NetBIOS auf andere Rechner ausbreiten Kopien von sich an andere Benutzer schicken die es im lokalen Adref buch gefunden hat oder einfach nur einen Systemdienst installieren der darauf wartet beliebige Befehle des Angreifers entgegenzunehmen Solche Angriffe sind beileibe nicht nur auf Rechnern m glich deren Betriebssystem von Microsoft hergestellt wurde Einer der ersten E Mail W rmer war der Christmas Exec Dieser E Mail Wurm befiel VMS Systeme 1987 um die Weihnachtszeit herum lange be vor Windows die Welt bunt machte Damals benutzte man noch Text Terminals und es reichte auch nicht auf ein Attach ment zu klicken Der Quelltext des Wurmes mu te aus dem eigentlichen Text manuell herausgetrennt und in einer eigenen Datei gespeichert werden bevor man ihn ausf hren konnte Trotzdem hat ein Gro teil der Benutzer das Skript gestartet um einen Tannen baum in Textgrafik und die Schrift Merry Christmas auf dem Bildschirm zu sehen Zus tzlich zu dieser Anzeige schickte der Trojaner d
119. ten der Dateisysteme o ro soll verhindern da wir das zu untersuchende Dateisystem versehentlich ver ndern Dies funktioniert allerdings bei Journalling Filesystemen nur bedingt da diese z T beim Mounten automatisch versu chen wieder einen konsistenten Zustand des Dateisystems herzustellen Die Option noexec verhindert da versehentlich Programme von den zu untersuchen den Partitionen ausgef hrt werden nodev schlie lich verhindert da Devices als solche angesprochen werden k nnen Da hier eine Datei als fehlerhaft gemeldet wurde ist normal Die Datei mnt etc mtab enth lt eine Auflistung der Dateisysteme die momentan gemountet sind Da sie aber zu dem untersuchten System geh rt das momentan nicht aktiv ist ist sie leer Die Da tei wurde aber in die Datenbank aufgenommen als das System aktiv war Zu diesem Zeitpunkt waren diverse Dateisysteme gemountet und in der Datei aufgef hrt Wenn Sie das beschriebene Vorgehen selbst ausprobieren werden Sie wahrscheinlich feststellen da das Skript mit einer Fehlermeldung abbricht Dies liegt daran da die Rettungssysteme der g ngigen Distributionen md5sum nicht enthalten Hier bleibt nur der Ausweg eine Version von md5sum zusammen mit dem Skript und der Pr fsummendatei auf die Diskette zu packen Sie stehen dann aber m glicherweise vor dem Problem da das Programm aus Ihrem normalen System nicht mit der libc Ihres Rettungssystems kom patibel ist Oft befindet sich n mlic
120. tenstroms so k nnen die nachfolgen den Daten nicht mehr fehlerfrei dekomprimiert werden Aus diesem Grund wird empfohlen beim Schreiben von Backups auf die Kompression zu verzichten Wenn wir auf Magnetb nder sichern so sollte dies auch kein Problem darstellen da z B ein DAT Band mehrere GB speichern kann was f r eine Komplettsi cherung mehr als ausreicht Wenn wir das Backup aber auf CD durchf hren werden wir dagegen mehrere CDs be n tigen auch wenn wir darauf verzichten den Cache eines eventuell installierten squid mitzusichern Hier k nnte eine Kompression daher schon eher in Frage kommen weil es so m glich ist ein Archiv von weniger als 600 MB zu generieren das gut auf eine CD pa t Auch m ssen wir die zu brennenden Archive vorher auf der Festplatte zwischen speichern weswegen je nach zur Verf gung stehendem Plattenplatz eine Komprimierung unabdingbar sein kann Der Aufruf von tar gehorcht der folgenden Syntax gt tar Befehl lt Optionen gt lt Datei gt Von den Befehlen brauchen wir im Normalfall nur vier zu kennen help zeigt eine kurze Aufstellung der Befehle und Optionen an c schreibt die angegebenen Dateien in ein Archiv kann auch c oder create geschrie ben werden t zeigt den Inhalt eines Archivs an auch t oder list Sind Dateien angegeben so werden nur diese angezeigt x entpackt den Inhalt eines Archivs auch x extract oder get Sind Dateien an gegeben so werden
121. ter Coordination Center ist eine amerika nische Organisation die Meldungen ber Einbr che sammelt und die Betroffenen ber t Unter anderem gibt das CERT CC Warnmeldungen vor aktuellen Sicherheitsproble men heraus http www cert org advisories Als nicht ganz so dringend eingestufte Sicherheitsl cken finden sich unter http www kb cert org vuls Schlie lich wird auch noch ber aktuelle Trends bei Systemeinbr chen berichtet http www cert org incident_notes CIAC Auch die Organisation Computer Incident Advisory Capability gibt unter http www ciac org ciac Warnmeldungen heraus XForce Dieses Team geh rt zu einem Hersteller von Sicherheitssoftware http xforce iss net Neben den aktuellen Meldungen sollten Sie sich aber auch nach Seiten umsehen die es Ihnen erlauben Ihre Kenntnisse der Computersicherheit zu vertiefen SANS Das System Administration and Security Institute veranstaltet regelm ig Konferen zen f r Systemadministratoren und bietet auf seinen Webseiten eine F lle von Infor mationen zum Thema Computersicherheit Sie finden es unter http www sans org 536 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt 7 firewall 2006 1 4 15 26 page 537 556 i Securityfocus Neben der Mailingliste Bugtraq finden Sie auf den Webseiten von Securityfocus auch Archive diverser anderer Mailinglisten Dar ber hinaus ver ffentlicht Securityfocus Artikel zu aktuellen P
122. tisch die erste freie prim re Partition als erweiterte Partition eingerichtet Dies bedeutet aber auch da wir nach dem Anlegen der ersten logischen Partition keine zus tzlichen pri m ren Partitionen einrichten sollten Standardm ig werden alle Partitionen als ext2 Partitionen angelegt Wenn wir aber ei ne Swap Partition verwenden so sollten wir sie auch in der Partitionstabelle als solche markieren Dazu dient der Befehl t Er fragt zuerst nach der zu markierenden Partition und dann nach einem Code f r den Partitionstyp Wenn Ihnen zuf llig gerade entfallen ist da swap den Code 82 hat k nnen Sie sich an dieser Stelle mit 1 eine Liste m glicher Werte anzeigen lassen Command m for help t Partition number 1 4 2 Hex code type L to list codes 82 Changed system type of partition 2 to 82 Linux swap Haben wir alle gew nschten nderungen vorgenommen so sollten wir mit p noch ein mal die getroffenen Einstellungen kontrollieren bevor wir mit w die neue Partitionstabel le endg ltig auf die Festplatte schreiben Command m for help w The partition table has been altered Calling ioctl to re read partition table Syncing disks WARNING If you have created or modified any DOS 6 x partitions please see the fdisk manual page for additional information Mit q k nnen wir nun fdisk verlassen Command m for help q Bisher sind die einzelnen Partitionen zwar definiert wir m ssen sie aber noch forma t
123. treten 532 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 533 552 Dies bedeutet allerdings nicht da damit alle Gefahren gebannt sind Wenn man einen Angriff nicht selbst ausf hren kann so kann man immer noch einen Benutzer im lo kalen Netz bitten dies f r einen zu tun Mit ein bi chen Geschick und Verkaufstalent kann man ihn leicht dazu berreden beliebige Programme auszuf hren oder einem sein Pa wort zu verraten Das gr te Problem dabei stellen derzeit Hintert r Trojaner und E Mail W rmer dar Hierbei handelt es sich um Programme und Dateien die oft als Anh nge von E Mails in das lokale Netz gelangen sei es nun da sie sich als Spiel Bowhack Gl ckwunschkarte Happy99 48 Liebesbrief Iloveyou oder Film tarnen Shockwave In allen F llen ist der Ablauf derselbe Der Benutzer klickt auf eine angeh ngte Datei die dann ausgef hrt wird Dabei mu es sich aber nicht zwangsl ufig um ein echtes Pro gramm exe com scr handeln Auch Office Dokumente doc ppt xls Skriptda teien cmd bat js vbs Hilfedateien chm Hilfsdateien der Zwischenablage shs Link Dateien pif und HTML Seiten htm html wurden schon zu diesem Zweck ge nutzt Regelm ig erscheinen neue Meldungen da ein Dateityp f r Angriffe benutzt wurde der bis dato unbekannt war Oft wei der Benutzer nicht einmal da er eine ausf hrbare Da
124. tzterer kann durchaus mehr Platz ben tigen als die gesamte brige Installation Eine bessere L sung best nde darin tar nicht einfach rekursiv ein Verzeichnis sichern zu lassen sondern ihm explizit vorzugeben welche Dateien und Verzeichnisse er sichern mu Hier kommen zwei weitere Optionen ins Spiel T lt Datei gt gibt eine Datei an die die Namen der zu sichernden Dateien Verzeichnisse Symlinks usw enth lt Geben wir hier als Datei an so liest tar die Namen von der Standardeingabe Wir k nnen es also mit der Standardausgabe eines Programms f ttern das f r uns nach zu sichernden Verzeichniseintr gen sucht Es bietet sich an hierf r find zu benutzen no recursion sorgt schlie lich daf r da tar bei der Angabe eines Verzeichnisnamens nur einen Eintrag f r das Verzeichnis speichert nicht aber rekursiv nach Dateien sucht die dort enthalten sind Unser Aufruf k nnte damit folgenderma en aussehen find type d and path var squid cache 0 path var spool squid 0 path proc 0 path mnt 0 path floppy 0 path cdrom 0 path media 0 path tmp 0 path var tmp print prune o print tar cvzf mvarf lt Name gt tar gz T no recursion Hier werden die Inhalte der genannten Verzeichnisse nicht gesichert die Verzeichnisse selbst aber doch und sie werden sp ter auch wieder neu angelegt Direktes Schreiben des Backups auf Magnetband Wenn w
125. ufzunehmen Mit V lt Label k nnen Sie dem Archiv zus tzlich einen Namen mitgeben find type d and path var squid cache 0 path var spool squid 0 path proc o path mnt 0 path floppy 0 path cdrom 0 path media o path tmp 0 path var tmp print prune o print tar cvf dev nsto T no recursion M V Backup 20020324 Brennen eines Backups auf CD oder DVD W hrend fr her Magnetb nder eindeutig das Medium der Wahl f r Backups waren so haben sich heute CDs und DVDs als Alternative etabliert Im folgenden soll es daher konkret darum gehen wie diese Medien unter Linux genutzt werden k nnen Verteilen eines Archivs auf mehrere Dateien W hrend wir bei einem Magnetband direkt losschreiben k nnen m ssen wir auf eine CD oder DVD Dateien schreiben die wir erst einmal anlegen m ssen Das bedeutet da wir unser Backup als erstes in Form mehrerer Archive auf der Festplatte speichern m ssen Wir m ssen daher auf der Festplatte mindestens so viel Speicherplatz f r unser Backup vorhalten wie die Archive mit den zu sichernden Dateien belegen Verwenden wir keine Kompression so ist dies die Gr e aller Dateien auf der Festplatte abz glich derer die wir von der Sicherung ausgeschlossen haben Idealerweise existiert eine eigene Partition die ausschlie lich f r Backups benutzt wird Im folgenden nehmen wir dabei an da diese Partition auf das Verzeic
126. wendung von ipchains durch ihre Namen ersetzt pr_translate local month local day local time local host local ker local pac local colo local queue local action local devi local proto local src local dest local opt while read month day time host ker pac colo queue action devi proto src dest opt do case proto in PROTO 17 proto PROTO UDP 33 512 Kapitel 16 Wie sorge ich daf r da meine Firewall sicher bleibt firewall 2006 1 4 15 26 page 513 532 PROTO 6 proto PROTO TCP 33 PROTO 1 proto PROTO ICMP BS PROTO 2 proto PROTO IGMP 55 esac echo month day time host ker pac colo queue action devi proto src dest opt done Nun haben wir die Grundbausteine zusammen Im folgenden Skript werden zuerst die Namen f r eine Logdatei und eine Datei mit Mustern f r grep in Variablen gespeichert Als n chstes werden die oben besprochenen Prozeduren definiert Schlie lich werden sie wie gehabt zu einer Kette von Filtern zusammengesetzt Mit less k nnen Sie schlie lich in den Ausgaben des Skripts bl ttern Wird keine Datei auf der Kommandozeile angegeben so wird statt dessen var log messages benutzt Die Datei mit den Mustern f r grep ist mit etc logfilter stoplist voreingestellt HAHAHAHA HAHAHAHA AH AHAAA HAHAHAHA Sa aa aa aa ET logfilter sh Ein kleines Skript um Protokolldateien lesbarer
127. wie z B SuSE 9 3 benutzen die Tripwire nicht enth lt sollten Sie ihn nicht nutzen Verwenden Sie hier lieber AIDE Unter Debian 3 1 dagegen wird Tripwire immer noch mitgeliefert In der dort enthalte nen Version ist der Fehler nicht mehr enthalten und es gibt guten Grund anzunehmen da auch zuk nftige Fehler rasch behoben werden Es spricht also nichts dagegen ihn auch zu verwenden zumal er in einigen Punkten AIDE berlegen ist Insbesondere kennt er eine Reihe von Attributen um Devices zu berpr fen die in AIDE nicht implementiert sind Installation unter Debian Bei der Installation des Paketes wurde auch ein Konfigurationsskript gestartet das f r Sie zwei Signaturschl ssel generiert hat Der eine Site Key genannt sch tzt den Zugriff auf Dateien die f r eine Gruppe von Rechnern benutzt werden k nnen Konfigurations und Policy Datei Der Local Key sch tzt die rechnerspezifische Datenbank der Checks ummen Die Schl ssel sind durch Passphrases gesch tzt welche bei fast jedem Vorgang einge geben werden m ssen Eine Passphrase ist dabei hnlich wie ein Pa wort kann aber deutlich l nger sein Sie sollten daher mindestens acht Zeichen Gro und Kleinbuch staben Zahlen und Sonderzeichen verwenden Nun liegt die Grundinstallation wenn Sie hier angelangt sind wahrscheinlich schon ein paar Stunden zur ck Es gab soviel zu tun da sich jetzt die bange Frage stellt ob Sie sich noch an die eingegebenen Passphra
Download Pdf Manuals
Related Search
Related Contents
第1章 道路交通の安全 Carte d`application 8870 des programmateurs N`Vision 8840 Introducción a Martus Móvil WS LOUISE 2011 D.indd NeuroDreamer User`s Manual for Lucid Manual del usuario すまいのひろば - 賃貸ならJKK東京|東京都住宅供給公社 COBWEBSERVER Copyright © All rights reserved.
Failed to retrieve file