root-login listener
-
- Posts: 64
- Joined: 2002-10-24 21:37
root-login listener
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
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
Re: root-login listener
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
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
-
- Posts: 64
- Joined: 2002-10-24 21:37
Re: root-login listener
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 ...
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 ...
Re: root-login listener
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...
-
- Posts: 64
- Joined: 2002-10-24 21:37
Re: root-login listener
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 ...
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 ...
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: root-login listener
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.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
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: root-login listener
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.
-
- Posts: 64
- Joined: 2002-10-24 21:37
Re: root-login listener
gut, da ist was dran, aber sagen wir es mal so, das beste sicherheitskonzeptCaptainCrunch 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"
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
Re: root-login listener
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.
PS. warum erlaubst du root login überhaupt? oder wenn, dann nicht mit passwort.
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: root-login listener
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 ...PS. warum erlaubst du root login überhaupt? oder wenn, dann nicht mit passwort.
Um also mal ganz grundlegend zu fragen : wie sieht denn dein restliches Sicherheitskonzept aus ?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Posts: 315
- Joined: 2002-09-24 13:26
Re: root-login listener
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....
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....
-
- Posts: 64
- Joined: 2002-10-24 21:37
Re: root-login listener
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
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
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: root-login listener
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 wollte ich keine sichheitsfunktionen
ersetzen, nur eins hinzufügen
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: root-login listener
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 ...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 ...
Sry, aber wer als Cracker wirklich versucht, root-logins zu veranstalten hat den Zug verpasst ...
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: root-login listener
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.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.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: root-login listener
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc