asg
push it, don´t hype
Original geschrieben von ColdWisdom
Jedoch gilt dies natürlich nur für den Port 80/443 bzw. http/https.
Klar, dies war auch nur als Beispiel gedacht. Man kann, wenn nur der Port 80 betroffen sein sollte, zwar den Rechner davor schützen das dieser sich aufhängt, aber wenn ich nur 150 forks zulasse und diese mit unsinnigen DoS Anfragen beschäftigt sind, kann mir auch keiner mehr den eigentlichen Dienst wirklich nutzen.
Interessant finde ich den thread jetzt wirklich denn, ich bin gerade dabei meinen Router/FW sicherer zu gestalten, was man mit einer festen IP und 24/7 mit eigene mail+webserver schon machen sollte.
Portsentry hat leider den gravierenden Nachteil, dass sie erst nachdem die vermeintliche Attacke passiert ist, die Alarmglocke lauten lässt. Und ein PacketFilter in Verbindung mit einem Fingerprint soll zeitgleich reagieren und die jeweilige Aktion (je nach Verbindungs-/Angriffs-Szenario) starten.
Nicht ganz.
Im Prinzip hört portsentry auf die angegeben Ports und versucht zu erkennen, ob ein portscan von einem möglichen Hacker kommt der evtl. einen Services sucht über den er ins System kommt. Ist dies der Fall, so setzt portsentry eine Regel ab:
Code:
KILL_ROUTE="/sbin/ipfw/ add 1 deny all from $BöserJunge:255.255.255.255 to any"
Diese IP bleibt dann auch so lange in der portsentry DB, bis der Rechner neu gestartet wird oder man diese IP entfernt.
Meist ist es aber so, das die Jungs über Rechner kommen die auch schon gehackt sind und nur als Sprungbrett dienen.
Es ist kein Allheilmittel, aber wie von Dir schon erkannt, macht es die Summe aus der Security Features die man nutzt.
1.) Umleitung auf Honeypots (also nicht-existente Rechner)
Welche Programme für honeypots gibt es denn?
Das Modell ist mir klar, die Implementierung noch nicht.
Außerdem können Attacken auch aus dem Inneren des Netzes kommen.
Gerade was "hacks" angeht, so ist dies in Unternehmen ein häufig unterschätztes Problem. Nach aussen absichern, innen darf aber jeder alles anschauen.
Dazu braucht es dann nichtmal einer Kenntnis der Möglichkeiten der Attacke, denn diese braucht es nicht, es ist eh alles für jeden irgendwie zugänglich.
Man sagt ja (es gibt auch Belege dafür), dass ca. 60-70% der Attacken (aller Art) im Innern passieren (also nicht so sehr durch böse Hacker
Exakt. Oder einfach durch Dummheit. Ein Mailwurm im internen Netz sorgt innerhalb von Minuten für den Stillstand. Nur weil ein User eine mail und Anhang geöffnet hat der "screensaver" hiess. Alles schon mitgemacht.
Daher sollte man sich wegen ein paar Filter, IDSe u.ä. nicht in Sicherheit wähnen.
Das nicht, aber man sollte dennoch ruhig schlafen können. Denn es kann jeden treffen. Durch gewissen Massnahmen kann man aber die Arbeit danach erleichtern, oder davon ausgehen das nichts wirklich wichtiges verändert wurde.
Oder aber einen Host aufsetzen und mit einem Script per ssh die Daten rüberscheffeln.
So habe ich es mit meinen Firewall-Logdateien gemacht.
Da habe ich eine fette Platte in die Logmaschine eingebaut und per ssh von den Firewalls die Logs geholt, sodass die Firewall nicht einmal die Logs auf ihre Platte zwischenspeichern sollte.
Alles ging direkt vom logischen pflog0-Device (mit 100Mbit per ssh) auf die Logmaschine rüber.
Dies ist natürlich nur eine der viele, guten Möglichkeiten.
Eine weitere Möglichkeit wäre es den Server im securelevel 1 laufen zu lassen, oder höher. Soweit so gut, es kann aber immer noch genug passieren. Daher wäre der nächste Schritt die wichtigen Dateien auch noch mit dem "schg flag" zu markieren (schg -R $Datei).
Folgende Vorgehensweise wäre denkbar:
1. rc.conf
Securelevel auf "1" oder höher setzen.
2. Damit niemand diese Datei bearbeiten kann, ein Hacker könnte eindringen und diese Datei öffnen, den securelvel runtersetzen und die Kiste neu booten, noch /etc/rc.conf mit "schg" markieren.
Nun kann auch root diese Datei nicht mehr bearbeiten.
Um den securelevel nun wieder runterzusetzen wenn man die Welt bauen möchte, muss man schon in den single user mode. Da der keine Netzverbindung hat, für einen Hacker von aussen nicht möglich.
3. Dateien in /bin /usr/lib,... auf "schg" setzen.
Auch hier gilt dann, wenn man den kernel neu bauen möchte, zuerst in den single user mode, die flags entfernen, booten.
4. /usr/local/etc/rc.d/ Skripte laden dazu ein das System in die Hand zu bekommen. Hier kann ein Hacker ein Script ablegen was sonstwas ausführt, beispielsweise einen eigenen "rc" der dann alles umgeht was man an Sicherheit eingerichtet hat. Also Vorsicht.
5. Dateien wie .hostory und log files sollten auch mit einem flag versehen werden, welches im securelevel 1 nicht mehr geändert werden kann. Dabei bietet sich "sappnd" an. Dieses flag setzen, und der Hacker kann beispielsweise .history oder eben die logs nicht mehr nach /dev/null umleiten um seine Spuren zu verwischen. Gotcha babe.
So kann man sich den Weg über einen anderen Server auf dem die logs liegen sparen.
6. Jails nutzen und eine Backup Jail anlegen die sofort mit den gleichen Diensten genutzt werden kann. Ist ein Hacker in eine Jail eingebrochen, so kann diese auch kontaminiert sein, man weiss es nicht ob hier oder dort doch ein Trojaner oder sonstwas liegt. Wenn man Paranoid ist dann sollte man das gesammte System neu afsetzen (wenn man keine Jails nutzt). Nutzt man hingegen Jails, so einfach die gehackte löschen und die BackupJail aktivieren.
Wie man aber sieht gibt es derer zwei Dinge zu meistern:
1. Veränbderungen am eigenen System sind kaum mehr möglich und man muss viele Unwegsamkeiten in Kauf nehmen um das System einigermassen sicher zu machen.
2. Man sollte sich genaustens Aufschreiben wo man welche Veränderung an welcher Datei/ welchem Verzeichnis gemacht hat. Nach wenigen Wochen vergisst man dies und steht dann schnell im Regen.
OpenBSD zumindest läuft out-of-the-box mit Securelevel 1.
Wobei da dann kein X läuft. Aber he, wer auf einem Server X laufen lässt....
Ich habe auf einer Website einige gute Skripte gefunden, die dann systemwichtige Dateien auf schg setzen und Seclevel 2 einschalten.
Hehe, das ist genau das was ich wohl eben beschrieben habe, zeig doch mal.
Aber bitte auf der Logmaschine
Oder, wie oben beschrieben, entspr. flags setzen.
Ich bin gerade je selbst auf der Suche nach einer entspr. Security für meinen Server wie ich schon schrieb. Wer also konkrete Ideen hat, kann diese gerne posten, ich freu mich drüber.