root-login listener

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

root-login listener

Post by pennybridge »

tachchen,

ich hab mir mal ein paar gedanken gemacht, wie man dem vorbeugen kann,
das sich jemand unbemerkt ins system per root einloggt etc und das wochen
nicht bemerkt wird, wie hier ja schon desöfteren besprochen wurde.

kurz gesagt, ich hab nen perl-script, das checkt ob sich jemand per shell
eingeloggt hat und dann per mail bestimmte logfiles senden kann.
die files werden na klaro vorher gezippt. zusätzlich gibt es noch einen
LoadAverage check, der bei zu hohem load bestimmte programme wie
mysql, apache restarten kann.

das ganze muss natürlich über cron laufen und wenn möglich jede minute
ausgführt werden. und ich bin der meinung, das wenn ein hacker/cracker ins
system eindringt, er innerhalb einer minute nicht merkt, das schon
eine email mit seiner ip gesendet wurde :D

hat jemand interesse an dem script? dann würde ich es mal posten.
aber es ist noch nicht perfekt, ich suche noch nach einer möglichkeit, das
man,wenn man sich einloggt, eine variable setzt, sodas das script erkennt,
das es keine mails verschicken soll.
mit 'export key=val' klappt das nicht so wirklich ...
penny
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München
Contact:
 

Re: root-login listener

Post by floschi »

Sehr gefährlich!

Was machst du, wenn das Skript länger als eine Minute läuft wegen langem packen usw.? Dann kommt das näcshte, behindert das erste,usw... nach 1 Std. ist dein Rechner tot :P
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: root-login listener

Post by pennybridge »

was wolltest du denn für logfiles schicken?
die meinigen, die sind höchstens 2mb groß, und das packen
... naja, hast nen root l :D wah? schafft er nicht so schnell :D

aber mal ehrlich, ich hab es gerade gestestet, läuft wunnerbar ...
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München
Contact:
 

Re: root-login listener

Post by floschi »

wollte ja nur mal drauf hinweisen, dass zu bedenken, wenn Skripte jede Minute laufen sollen :P So hab ich mir meinen Server schon mal abgeschossen...
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: root-login listener

Post by pennybridge »

ich hab auch gerade noch eine option eingebaut, die das verhindern kann,
man gibt einen zeit-intervall an, und in der zeit werden keine mails geschickt,
bzw . keine dateien gepackt.
das gleich gilt aber auch für den load, weil bei mir wird der load nur alle 5 minuten gecheckt. der root-login aber jede ...
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: root-login listener

Post by captaincrunch »

und ich bin der meinung, das wenn ein hacker/cracker ins
system eindringt, er innerhalb einer minute nicht merkt, das schon
eine email mit seiner ip gesendet wurde
Gerade diese "hätte wäre wenn" wird dir sicherheitstechnisch das Genick brechen. Wenn du erstmal jemanden mit einem Root-Account auf der Kiste hast, kannst du von gar nichts mehr ausgehen, egal, ob es sich um einen Zeitraum von einer Minute oder mehreren Wochen handelt.
Natürlich hast du Recht damit, dass jemand innerhalb einer Minute nicht so viel anrichten kann, der Ansatz ist vielleicht sogar ganz gut geeignet, um Scriptkidz abzuhalten, "echte" Hacker wirst du damit aber kaum "schnappen" ...

Ist nur meine Meinung, aber die Zeit, die du in dieses Script investierst, hättest du besser damit verbracht, dir ein Konzept zu erstellen, dass es gar nicht erst so weit kommen kann, dass jemand root auf deiner Kiste werden kann ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
wirsing
Posts: 604
Joined: 2002-11-20 21:32
Location: Vaihingen und Karlsruhe
 

Re: root-login listener

Post by wirsing »

Wie wäre es mit einem Mutex: Wenn eine bestimmte Datei vorhanden ist, startet das Script nicht sondern meckert dem Cron was, da hast du dann eben nur eine kurze Nachricht aber es werden nicht hunderte oder weiß ich wie viele gestartet.
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: root-login listener

Post by pennybridge »

CaptainCrunch wrote: Natürlich hast du Recht damit, dass jemand innerhalb einer Minute nicht so viel anrichten kann, der Ansatz ist vielleicht sogar ganz gut geeignet, um Scriptkidz abzuhalten, "echte" Hacker wirst du damit aber kaum "schnappen"
gut, da ist was dran, aber sagen wir es mal so, das beste sicherheitskonzept
kann umgangen werden etc, und genauso kann man bei bester anstrengung
auch den besten hacker nicht abhalten. aber wenn es einem gelingt, logfiles
zu sichern, bevor der eindringling sie bearbeitet, -löscht, dann hat man
schon immerhin etwas. und der klare vorteil ist, das man weiss, das jemand
im system war. ich persönlich bin nur alle paar tage auf meinem root um zu
schauen, ob alles in ordnung ist. aber es reichen heutzutage ja 1-2 tage aus,
um den traffic nach oben zu treiben.

es gibt ja auch die möglichkeit, sich
traffic-mails zu schicken, aber wenn der eindringling am system rumfummelt,
dann kann es auch passieren, das er die mail manipuliert.

bei meienr methode ist man, mit ein bißchen glück, gewarnt, das jemand
im system war und kann reagieren. es soll auch weder ein gutes
sichheitskonzept noch eine firewall ersetzen, kann es auch gar nicht.

penny
dopefish
Posts: 142
Joined: 2003-02-06 12:57
Location: Karlsruhe
Contact:
 

Re: root-login listener

Post by dopefish »

wenn ich dein programm richtig verstanden habe wird doch jedesmal wenn root sich einloggt die daten gezippt und gesendet, egal ob du oder ob bösewicht. was mich dein ansatz stört sind die maximale 60 sec. die der angreifer hat um dein script zu sehen. wir betreiben gelegentlich honeypots und hacking contests, das erste was einer macht wenn er in ein system kommt ist zu schauen was für prozesse gerade laufen und was für prozesse z.B. über cron oder at aufgerufen werden. wenn es eh bei jeden root login stattfinden soll wäre es doch wesentlich zuverlässiger und ressourcenschonender wenn du es einfach in die .bashrc oder .profile schreibst. die prozesse die den logfile packen und zumailen ggf. noch mit grsec verstecken und schützen und fertig.

PS. warum erlaubst du root login überhaupt? oder wenn, dann nicht mit passwort.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: root-login listener

Post by captaincrunch »

PS. warum erlaubst du root login überhaupt? oder wenn, dann nicht mit passwort.
Genau das schoss mir auch gerade durch den Kopf ... der beste Schutz ist doch, root erst gar nicht direkt auf die Kiste zu lassen ... denn die Leute, die selbst die hier schon angesprochenen Dinge lassen 98% der Scriptkidz im Regen stehen ...

Um also mal ganz grundlegend zu fragen : wie sieht denn dein restliches Sicherheitskonzept aus ?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Matthias Diehl
Posts: 315
Joined: 2002-09-24 13:26
 

Re: root-login listener

Post by Matthias Diehl »

Jou, muss mich Dopefish und dem Captain anschliessen.
Am besten lässt Du gar keine Logins per Passwort zu und vor allem keine Root logins. Erstelle Dir einen Key (z.B. mit puttygen) und lasse nur noch die Authorisierung per key zu.
Dann kann einer jahrelang versuchen sich mit Passwort einzuloggen....
pennybridge
Posts: 64
Joined: 2002-10-24 21:37
 

Re: root-login listener

Post by pennybridge »

okok, vergesst es.
ich wollte hier keine grundsatzdiskussion über root-logins und
ssh-sicherheit starten. vor allem wollte ich keine sichheitsfunktionen
ersetzen, nur eins hinzufügen :D

[close] penny
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: root-login listener

Post by captaincrunch »

vor allem wollte ich keine sichheitsfunktionen
ersetzen, nur eins hinzufügen
Das magst du auch so sehen, weil du (vielleicht) die Kiste auch sonst noch abgesichert hast. Andere Leser verlassen sich aber u.U. auf diese Maßnahme, ohne ein dahinterliegendes Konzept zu haben, und wundern sich, warum sie trotz Scripts gecrackt wurden ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dea
Posts: 532
Joined: 2002-08-13 12:05
 

Re: root-login listener

Post by dea »

CaptainCrunch wrote:Das magst du auch so sehen, weil du (vielleicht) die Kiste auch sonst noch abgesichert hast. Andere Leser verlassen sich aber u.U. auf diese Maßnahme, ohne ein dahinterliegendes Konzept zu haben, und wundern sich, warum sie trotz Scripts gecrackt wurden ...
Vor allem - korrigiert mich, wenn ich hier falsch liege - ist das Teil wirkungslos, sobald ein Eindringling eine Schwachstelle in einer der laufenden Dienste (z.B. FTP) ausnützt da die Exploits die ich bisher zu sehen bekommen habe keinen login veranstalten sondern (in etwa) ein su verwenden. Und einen Kontextwechsel bekommst Du mit dem Skript nicht mit ...

Sry, aber wer als Cracker wirklich versucht, root-logins zu veranstalten hat den Zug verpasst ...
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: root-login listener

Post by captaincrunch »

Vor allem - korrigiert mich, wenn ich hier falsch liege - ist das Teil wirkungslos, sobald ein Eindringling eine Schwachstelle in einer der laufenden Dienste (z.B. FTP) ausnützt da die Exploits die ich bisher zu sehen bekommen habe keinen login veranstalten sondern (in etwa) ein su verwenden.
Danke. Das wäre auch mein nächster einwand gewesen. Alleine die Reaktion des OP zeigt eigentlich, dass er sich noch nicht allzu sehr mit der ganzen Thematik befasst hat.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: root-login listener

Post by captaincrunch »

Btw. : Wenn du Logs sichern möchtest, bietet sich in dem Fall eher die Lösung per syslog-ng mit dediziertem Logserver an. Sicherer geht's kaum.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Post Reply