FreeBSD auf strato mr2 :( (TEIL 1)

Posted on Montag 30 Januar 2006

Hallo ..
Seit Freitag sitz ich dran und versuche auf einem AMD64 MR2 von Strato auf FreeBSD zu installieren. Leider happert es an einem vernueftigen Debugging.  Da Strato sich weiger ufs support im kernel zu packen haben wir schlecht karten. Die vermutung ist das der Raidcontroller[1] nicht unterstuetzt wird erhaertet sich immer mehr. Wir haben ja das Projekt *BSD aufn Rootserver (http://bsd-wiki.de) vor einiger zeit gegruendet. Die Images funktionierten bis jetzt auf jeden getesten Server Fehlerfrei. Bis auf den mr2 von strato. Testweise wollte ich heute Gentoo installieren dabei viel mir den auch auf das Strato nicht mal ein Rescue fuer 64bit systeme hat. Also kommt auch Gentoo auf 64 bit derzit nicht in frage. Es gibt eventuell einen weg den Teste ich heute mal. Und werde euch weiter auf dem Laufenden halten. Der Plan ist heute nachmittag mit chris ein netbsd 64bit image zu erstellen und testweise aufzuspielen eventuell wird dort ja die hw unterstuetzt. Ansonsten weis ich leider auch nicht mehr weiter. Ich werde mal sehn was die zeitbringt.

Gruss Martin

Martin @ 14:06
Abgelegt unter: FreeBSD
Warum sollte ich nach einem erfolgreichen Angriff mein Systems neu aufsetzen lassen?

Posted on Dienstag 24 Januar 2006

Warum sollte ich nach einer Kompromittierung meines Systems selbiges neu aufsetzen lassen?
Immer wieder sind Berichte erfolgreicher Angriffe zu lesen und immer wieder entspannt sich eine angeregte Diskussion über vernünftige Verhaltensweisen. Immer wieder gern genannt wird der Rat, “das komplette System neu aufsetzen” zu lassen. Allerdings erzeugt diese (vor allem im Zusammenhang mit root-Servern und den dazugehörigen Service-Prozessen) schwammige Formulierung immer wieder reichlich Verwirrung. Diese FAQ versucht, ein wenig Klarheit und Hintergrundwissen zu diesem Punkt zu vermitteln.

1. Was bedeutet “das komplette System neu aufsetzen”?
Das komplette System neu aufsetzen zu lassen bedeutet nichts weiter, als das System als solches neu zu installieren. Betroffen ist also zunächst einmal die Betriebssystemdistribution (Linux, BSD, Windows, etc.) und die installierten Anwendungen (phpBB, Apache, MySQL, etc.), nicht aber die eigentlichen Nutzdaten. Als Faustregel gilt, dass alles ausführbare frisch installiert werden muss.

Nicht betroffen sind also meistens die Nutzdaten wie etwa Kundendaten in einer Datenbank, Forenbeiträge, Bilddateien und dergleichen. Sehr wohl betroffen sind aber selbst erstellte Skripte, ohne Paktemanager (rpm, apt) installierte Tools, Utilities, usw. und alles, was durch einen direkten oder indirekten Aufruf Änderungen im Filesystem vornehmen kann.

In Bezug auf root-Server bedeutet das entweder, die Nutzdaten auf einem anderen System (zweiter Server, PC zu Hause o.ä.) zu sichern und dann entweder per Webinterface oder Kundendienst die Maschine neu aufsetzen zu lassen oder (wer’s kann) aus einem eventuell verfügbaren “Rescue-System” heraus die Kiste selber neu aufzusetzen (was u.U. die Prozedur wesentlich einfacher, aber auch langwieriger gestalten kann).

2. Warum sollte ich das machen, gibt es keinen einfacheren Weg?
Vorab: Nein, es gibt keinen einfacheren und dabei genauso zuverlässigen Weg.

Immer wieder wird auch gefragt, ob es denn ausreichen würde, einen entsprechenden “Scanner” über das System laufen zu lassen und die “infizierten” Dateien gegen “saubere” auszutauschen. Nun, das kann genügen, es muss aber nicht. Das Problem liegt darin, dass ein wie auch immer gearteter “Scanner” wissen muss, wonach er sucht. Neue oder dem “Scanner” unbekannte Angriffe bleiben unentdeckt, da verhält es sich genauso wie bei jedem Virenscanner.

Man müsste rein theoretisch jede einzelne Datei auf ihre Unversertheit überprüfen und dann auch noch erkennen, ob eventuell stattgefundene Manipulationen “rechtens” sind (geänderte, hinzugefügte Einträge in Konfigurationsdateien und so weiter) oder nicht. Das aber wäre derartig aufwändig, dass die Neuinstallation und die eventuell notwendige erneute Erstellung von Skripten u. dgl. drastisch aufwandsgünstiger ist.

3. Wie mache ich das, ich habe 200 TB an Daten und nur ein 9.6er Modem?
Für die Sicherung der Nutzdaten gibt es ein einfaches Prinzip. Die Nutzdaten “extern” speichern und nach der Neuinstallation von System und Anwendungen wieder einspielen. Wo die Nutzdaten abgelegt werden ist egal, sie dürfen nur nicht von der Neuinstallation gelöscht oder verändert werden! Hier ein paar Ideen:

PC zu Hause
Zweiter root-Server (ggf. schnell einen billigen dazunehmen, man braucht ja nur den Plattenplatz)
Plattenplatz auf einem oder mehreren “befreundeten” root-Servern
zweite Partition oder (wenn vorhanden) zweite Platte — ACHTUNG: hier darauf achten, dass die gesicherten Daten nicht durch die Neuinstallation gelöscht werden!

Es sollte also mit ein wenig Phantasie und notfalls etwas Fragen möglich sein, auch größere Datenbestände sicher “zwischenzulagern”, auch wenn die persönlichen Möglichkeiten es nur schwer oder garnicht ermöglichen sollten.

4. Wie kann ich diesen Aufwand zukünftig vermeiden?
Neben einer wirksamen (sic!) Absicherung des Systems bieten sich zunächst Vorgehensweisen wie etwa die Aufteilung von Partitionen nach Verwendungszweck (spezielle Partitionen nur für Nutzdaten, andere nur für Executables, weitere für die Systemdateien, usw.) an. So kann bei Beschädigungen des Systems selbiges neu aufgesetzt werden, ohne dass etwa die Nutzdaten davon betroffen wären. Bei der erweiterten Partitioinierung helfen so genannte Logical Volume Manager (LVM) wie etwa lvm oder evms2 für Linux oder vinum für BSD.

Außerdem bietet sich u.U. der Einsatz eines Host based Intrusion Detection System (HIDS; z.B. aide, tripwire, samhain, etc.) an. Derartige Systeme führen zur Erkennung von Datei-Manipulationen Datenbanken mit geeigneten Dateiinformationen (meist Prüfsummen) und können so sehr hilfreich bei der Wiederherstellung kompromittierter Systeme sein. Ein gut konfiguriertes und zuverlässig arbeitendes HIDS vorausgesetzt, kann dieses dabei helfen, hinreichend zuverlässig manipulierte Dateien zu ermitteln.

Allerdings ist ein gutes Verständnis der Arbeitsweise von HIDSen und weitreichende Kenntnisse der daraus entstehenden Konsequenzen unabdinglich für einen wirksamen Einsatz solcher Werkzeuge. Ein HIDS an sich stellt noch lange keine Garantie dar, wie alle anderen Werkzeuge dieser Art muss man Arbeitsweise und Wirkung sehr genau verstanden haben und dieses Wissen entsprechend in die jeweilige Konfiguration einfließen lassen.

Gruss Martin

Martin @ 19:20
Abgelegt unter: Allgemeines
DDOS auf Antispam.de und megarausch.de (Mein Kampf)

Posted on Donnerstag 19 Januar 2006

Blubb :-))

Seit gestern morgen gibt es DDOS aus antispam.de und megarausch.de. Mein vorteil war das ich dieses mal einen sauberen ssh zugriff hatte, Ich konnte also sauber arbeiten und versuchen es zu stopen. Nunja alles half nigs. Actro und ich haben den mehrer tools versucht um es relativ in den in den griff zu bekommen. Dank schak aus unserem Netzwerk (irc.unixfreunde.de #unixfreunde) konnte ich den Server ca 45 minuten online halten mit einem Tool names pound. Doch flitzte kacke. 40000 anfragen in der Sec verarbeitet kein Apache und wir mussten ihn wieder ausschalten. Gegen Abend kam mir die idee einfach die ips aus dem netstat zu dropen. Actro hatte da was feines gefunden,

netstat -apn|grep :$port |awk ‘{print $5}’|sort

Die zeile war gut aber nicht gut genug, der DDOS kam mit ca 12 mbit input rein geplastert. Also half das nigs wir mussten uns dringend was einfallen lassen. Ich habe den ein kleines script geschrieben was uns die Arbeit abnehmen sollte die ips aus den netstat zu dropt. Das hatte aber wieder einen hacken, der obrige code prasst nur ip+port. Also mussten ich das script erweiteren.

| cut -f1 -d:

damit wird alles ab : weg geschnitten also optimal fuer das was ich vorhatte. (danke an tengri fuer die glorreiche idee).

also macht ich mich ran und schrieb ein kleines script (nigs besonders ehr lachhaft fuer profies)

#!/bin/bash
port=”80″
pfad=”/root”

#netstat -apn|grep :80 |awk -F: ‘{print $5}’ |sort >$pfad/iptxt.txt
netstat -apn|grep :$port |awk ‘{print $5}’| cut -f1 -d: |sort >$pfad/iptxt.txt

for i in $(cat $pfad/iptxt.txt)
do
iptables -I INPUT -s $i -j DROP
done

Leider hat das ganze 2 hacken. 1 iptables dropt sich selber, Das heist er sperrt seine eigne ip, nur das ist recht uncool weil das zu nen reboot fuehrt. Und 2 dropt er auch unschuldige User. Aber wir hatten immer noch das problem das ddos auf port 80 mit ca 12 mbit rein pflastert. Also kein ruecksicht auf unschuldige User und ich testet das Script actro lies iptraf mit laufen so konnten wir sehn ob sich was tut. Ja es hat zum Teil sehr gut geklappt die ersten 30 mal gg lief alles sauber und wir konnte den stream bis runter auf 300 kb druecken. Und genau da passiert es den auch, der Server hatte sich selber gedropt und wir mussten rebooten. Es war mitraweile 3 uhr nachts. Ich suchte weiter das Netz durch nach moeglichkeiten, da ist mir eine Firewall names lutelwall aufgefallen und sie tat genau das was ich suchte. Sie dropt alles via mac adresse (allerdings ist mir der part mit den mac adressen heute morgen erst aufgefallen). Ich habe sie installiert angepasst und los geging es. Der apache kam langsam wieder hoch. Mittels mod_bwshare konnte ich den apache halbwegs stabiel halten, ok es waren ladezeiten von graussame 2 min aber es lief immerhin stabiel. Seit heute mittag ca 14 uhr ist der DDOS abgeflacht und mr ist wieder normal erreichbar. Antispam wird leider immer noch massiv DDOS.
Ich habe hier noch ein paar Screens fuer euch von iptraf.

Martin @ 15:18
Abgelegt unter: Allgemeines
Diskussion um neue Xfce Website.

Posted on Dienstag 10 Januar 2006

Hiho seit heute bzw gesten gibt es diskussionen um die neue Xfce Webseite die wuensche der Entwickler sind ziehmlich einfach. Es soll aehnlich wie die aktuelle FreeBSD Seite aussehn. Heute kam den der erste konkrete vorschlag.


Alles in allem find ich sie schick :-D

FreeBSD on Strato Rootserver.

Posted on Dienstag 10 Januar 2006

Wie auch bereits im Dezember angekuendigt haben chris und ich ran gemacht FreeBSD auf Strato server zu installieren. Dies haben wir sogar sehr gut hinbekommen. Wir haben dazu ein Wiki installiert und dies als Dokumentation aufbereitet.

Wir sind scheinbar auch die ersten die es gepackt haben FreeBSD auf Strato amd64 maschienen zuinstallieren. OK die methode ist nicht gerade die tollste aber als FREAK ist man sich zu nigs zuschade.

bsd-wiki.

Martin @ 21:11
Abgelegt unter: FreeBSD
FreeBSD xfce4-svn Ports Projekt

Posted on Dienstag 10 Januar 2006

Wie ich bereits vor einiger zeit Angekuendigt hatte. Habe ich es nun geschafft Xfce4-svn als ports vorzubereiten.<br />
<br />
Die Ports funktionieren ausgesprochen gut. Ich habe es nun auch hinbekommen sie als Packages zubaun.<br />
<br />
Ihr koennt euch die Ports ueber <a href="http://xfce.bsd-geek.org/xfce/" title="http://xfce.bsd-geek.org/xfce/">http://xfce.bsd-geek.org/xfce/</a> ziehn. <br />
<br />
Geplant sind noch die fehlenden ports zubaun dazu fehlen unteranderm xfburn, xfmedia, thunar, mouspade sowie xffm.<br />
<br />
<br />
Greetz Martin<br />

Martin @ 21:07
Abgelegt unter: FreeBSD